Web IR Remote với Esp8266 (NodeMCU): 4 bước
Web IR Remote với Esp8266 (NodeMCU): 4 bước
Anonim
Web IR Remote với Esp8266 (NodeMCU)
Web IR Remote với Esp8266 (NodeMCU)

Vấn đề

Có ba điều khiển từ xa trên bàn phòng khách. Để xem chương trình yêu thích của mình, bạn phải thực hiện chính xác một chuỗi các lần nhấn nút đặc biệt trên ít nhất hai trong số chúng. Và bạn cùng phòng, mẹ, bạn gái của bạn không bao giờ nhớ những..

Dung dịch

Bạn mua Logitech Harmony;-)

Nhưng nếu bạn không muốn chi số tiền này, bạn có thể xây dựng một cái gì đó tương tự với giá dưới 10 đô la. Bằng cách kết nối đèn LED hồng ngoại với ESP8266 (giống như Arduino nhưng có tích hợp WiFi), chúng tôi có thể dễ dàng tạo ra một thiết bị chúng tôi có thể điều khiển các thiết bị bằng một trang web nhỏ từ bất kỳ máy tính hoặc điện thoại di động nào trong WiFi của bạn.

Những gì bạn cần

  • Ban phát triển NodeMCU (họ vận chuyển từ Châu Á với giá <5 €)
  • Cảm biến hồng ngoại (OS-1838B hoặc TSOP38238)
  • IR LED
  • Điện trở 100Ω
  • Bóng bán dẫn NPN (tức là 2N2222)
  • mảnh nhỏ của PCB nguyên mẫu
  • đầu nối bốn chân phù hợp với NodeMCU (tức là bộ điều hợp nguồn đĩa mềm)

Nếu bạn có một điều khiển từ xa cũ, bạn có thể sử dụng đèn LED hồng ngoại và bóng bán dẫn từ nó.

Bước 1: Lắp ráp phần cứng

Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng

Lắp ráp các thành phần trên một mảnh nhỏ trên một mảnh nhỏ của bảng mạch nguyên mẫu và kết nối các thành phần như trong sơ đồ.

Tùy thuộc vào đèn LED, điện trở bảo vệ có thể không cần thiết. Nếu bạn thấy rằng bạn phải nhắm mục tiêu thật tốt hoặc phải thực sự gần thiết bị, bạn có thể loại bỏ nó.

Tôi đã kết nối mọi thứ với phích cắm mà tôi đã rút ra khỏi bộ chuyển đổi nguồn PC bị hỏng (bộ chuyển đổi cho đĩa mềm).

Bước 2: Cài đặt ứng dụng trên NodeMCU

Thiết lập môi trường của bạn để biên dịch các chương trình cho esp8266 với Arduino IDE: [https://github.com/espressif/arduino-esp32

Sao chép hoặc Tải xuống mã nguồn của ứng dụng từ kho lưu trữ github

Trong Arduino IDE, cài đặt thư viện IRremoteESP8266 (Menu: Sketch -> Manage Libraries). Sao chép tệp config.h.example và đặt tên cho bản sao này là config.h. Ít nhất bạn phải chỉ định SSID và Mật khẩu WiFi của mình trong config.h để có thể kết nối với Máy chủ trang web. Arduino Sketch bây giờ có thể được biên dịch và tải lên. Kết nối bảng đột phá bạn đã tạo với 3V, Ground, D5, D6.

Nếu mọi thứ hoạt động và bạn chạy chip được kết nối với Arduino IDE, bạn sẽ được hiển thị địa chỉ IP mà máy chủ đang chạy trên màn hình nối tiếp.

Bước 3: Tùy chỉnh trang HTML để điều khiển NodeMCU

Quá trình trong bước này cũng được hiển thị trong video.

Trong thư mục mã nguồn cũng có một 'ir.html'. Nếu được cấu hình đúng, nó sẽ 'nói chuyện' với NodeMCU.

Vì vậy, bước đầu tiên là cho tệp theo địa chỉ nào mà nó có thể tìm thấy NodeMCU. Mở tệp ir.html trong trình soạn thảo văn bản và tìm kiếm một dòng giống như sau:

var host = '192.168.2.121';

Thay đổi giá trị giữa các lần đánh dấu để khớp với địa chỉ máy chủ web được in trên màn hình nối tiếp sau khi khởi động.

Ghi âm Nhấn nút Ghi Điểm vào điều khiển từ xa tại bộ cảm biến và nhấn nút mong muốn trên điều khiển Từ xa Sau đó, bên dưới nút Ghi, một danh sách dài các số sẽ xuất hiện. Đó là thời gian của tín hiệu cho nút bạn đã nhấn trên điều khiển từ xa.

Thiết lập lệnh

Bây giờ chúng tôi muốn một cách để gửi một tín hiệu với những thời gian đó từ chính con chip. Vì vậy, chúng tôi phải thêm thời gian mà chúng tôi vừa ghi lại vào danh sách các tín hiệu đã biết. Sao chép các giá trị (bao gồm cả dấu ngoặc vuông) mà quá trình ghi đã cung cấp cho bạn và chèn một dòng mới có tên và các giá trị trong tệp ir.html sau dòng trông như thế này:

var signal = {

"pgr1 btn": [1, 2, 3],

Thay thế 1, 2, 3 bằng các giá trị đã ghi và đừng quên dấu phẩy sau dấu ngoặc nhọn xung quanh. Để thực sự thêm một nút, chúng ta cũng phải thêm một lệnh. Một lệnh có thể bao gồm nhiều tín hiệu vì chúng ta có thể phải 'nhấn' nhiều nút trên điều khiển từ xa, tức là 1 và 2 để đến kênh 12 trên TV. Điều này cũng cho phép điều khiển nhiều thiết bị bằng một lệnh. Tìm dòng trông giống như thế này

"Bật / tắt âm thanh": ["mute"],

Sao chép dòng đó và thay đổi văn bản "Bật / tắt âm thanh" để phù hợp với những gì bạn muốn hiển thị trên nút mới. Thay đổi tên "mute" thành tên của tín hiệu` bạn đã thêm. Vì vậy, kết quả có thể là:

"HBO": ["prg 1 btn"],

Nếu bạn muốn thực thi nhiều tín hiệu, hãy thêm chúng như sau:

"HBO": ["prg 1 btn", "prg 2 btn"],

Bước 4: Cách sử dụng

Sau khi bạn chèn chuỗi tín hiệu mong muốn của mình vào tệp HTML, bạn có thể sao chép nó vào bất kỳ máy tính hoặc thiết bị di động nào có trình duyệt và được kết nối với cùng một WiFi như NodeMCU.

Đề xuất: