Mục lục:
- Bước 1: Phần cứng
- Bước 2: Phần mềm
- Bước 3: Thêm mã thiết bị / nút
- Bước 4: Kiểm soát Web và Macro
- Bước 5: Điều khiển bằng giọng nói Alexa bằng IFTTT
- Bước 6: Kỹ năng thoại của Alexa bản địa
- Bước 7: Kích hoạt công cụ dò tìm Alexa
Video: Máy chiếu hồng ngoại ESP-12: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:36
Blaster điều khiển từ xa hồng ngoại sử dụng esp8266
Truyền mã điều khiển từ xa nhận được từ Web hỗ trợ nhiều thiết bị đầu ra.
Được xây dựng trong trang web đơn giản chủ yếu để thử nghiệm.
Việc sử dụng thông thường là thông qua tin nhắn ĐĂNG có thể đến từ các trang web hoặc từ điều khiển giọng nói IFTTT / Alexa.
Hỗ trợ bộ dò kích hoạt Amazon Echo / Dot để tắt tiếng / im lặng ngay khi nói từ kích hoạt.
Lệnh là lệnh đơn hoặc chuỗi. Chuỗi có thể được lưu trữ dưới dạng macro được đặt tên, sau đó có thể được sử dụng dưới dạng lệnh hoặc trong các chuỗi khác.
Lịch sử gần đây và danh sách các macro có thể được lấy qua giao diện web
Hỗ trợ tải lên OTA chương trình cơ sở mới và sử dụng thư viện WifiManager để thiết lập wifi ban đầu
Bước 1: Phần cứng
Sử dụng các thành phần sau
- Mô-đun ESP-12F
- Bộ điều chỉnh 3.3V (bộ điều chỉnh buck mini MP2307)
- Công tắc MOSFET (AO3400)
- Bộ phát hồng ngoại (3mm)
- Điện trở phụ thuộc ánh sáng GL2258 (Máy dò hoạt động Alexa tùy chọn)
- Điện trở
- Tụ điện tách (20uF)
- Ổ cắm USB cái (tốt nhất là hàn thân thiện với tay áo
- Dải ổ cắm 3 chân IC cho máy dò Alexa
- Các bộ phận cơ khí (có thể được in 3D)
Có thể được lắp ráp vào hộp dự án ESP-12F
- Gắn bộ điều chỉnh vào đầu nối USB và lắp vào hộp
- Tạo trình điều khiển IR trên một phần nhỏ của bảng vero (3 dây, đầu vào cổng + 5V, 0V)
- Kết nối trình điều khiển IR với USB + 5V, 0V
- Chèn ổ cắm 3 chân IC vào hộp dự án nếu sử dụng bộ dò Alexa. Kết nối với + 3.3V, 0V và dây cho đầu vào
- Tạo ESP-12F với 2,2K từ GPIO15 đến GND, EN sang Vdd, 4K7 GPIO13 đến Vdd, đầu vào Alexa đến GPIO13, trình điều khiển IR tới GPIO14, 0V và Vdd đến 3,3V
- Tạo bộ phát hiện Alexa và bộ đệm hỗ trợ nếu được yêu cầu.
Lưu ý rằng có thể dễ dàng hơn để lập trình ESP-12F trước tiên nếu bạn có một số loại thiết bị lập trình nối tiếp hoặc cơ sở tạo breadboard tạm thời như thế này để kết nối với các cổng nối tiếp.
Lập trình tiếp theo có thể được thực hiện bằng cách sử dụng bản cập nhật OTA tích hợp sẵn.
Bước 2: Phần mềm
Ir Blaster sử dụng bản phác thảo Arduino có sẵn trên github
Điều này cần được điều chỉnh để phù hợp với điều kiện địa phương và sau đó được biên dịch trong môi trường esp8266 Arduino.
Các thư viện sau đây cần thiết, hầu hết là tiêu chuẩn hoặc có thể được thêm vào. Hai phần cuối cùng được bao gồm trong git.
- ESP8266WiFi
- ESP8266WebServer
- FS.h
- Máy chủ DNS
- ESP8266mDNS
- ESP8266HTTPUpdateServer
- ArduinoJson
- BitTx (bao gồm trong Git)
- BitMessages (bao gồm trong Git)
Các mục trong bản phác thảo sẽ được thay đổi bao gồm
- Mã ủy quyền để truy cập web AP_AUTHID
- Mật khẩu trình quản lý Wfi WM_PASSWORD
- firmware OTA password update_password
- Các thiết bị / mã nút IR mới (xem sau)
Khi điều này được thực hiện thì trước tiên nó sẽ được tải lên bằng cách tải lên nối tiếp thông thường.
Vì SPIFFS được sử dụng thì nên chuẩn bị bộ nhớ bằng cách cài đặt và sử dụng công cụ tải lên dữ liệu phác thảo arduino ESP8266. Thao tác này sẽ tải lên thư mục dữ liệu dưới dạng nội dung SPIFFS ban đầu
Khi thiết bị không thể kết nối với mạng cục bộ (như sẽ xảy ra lần đầu) thì trình quản lý Wifi sẽ tạo một điểm truy cập (192.168.4.1). Kết nối với mạng này từ điện thoại hoặc máy tính bảng sau đó duyệt đến 192.168.4.1 Bạn sẽ nhận được giao diện web để kết nối với wifi cục bộ. Những lần truy cập tiếp theo sẽ sử dụng cái này. Nếu mạng cục bộ thay đổi thì nó sẽ chuyển về chế độ cấu hình này.
Cập nhật tiếp theo có thể được thực hiện bằng cách biên dịch nhị phân xuất trong môi trường Arduino và sau đó truy cập giao diện OTA tại ip / firmware.
Bước 3: Thêm mã thiết bị / nút
Lưu ý: Phần này đã thay đổi so với phương pháp trước đó, nơi cấu hình đã được biên dịch trước đó thành mã. Bây giờ nó sử dụng các tệp được tải từ hệ thống lưu trữ SPIFFs. Điều này làm cho việc tải lên các định nghĩa mới dễ dàng hơn nhiều.
Định nghĩa nút được bao gồm trong tệp buttonnames.txt. Đó là danh sách toàn cầu các tên trên tất cả các điều khiển từ xa đang được sử dụng vì nhiều tên có xu hướng phổ biến. Như đã cung cấp, phần này chứa thông tin chi tiết về các điều khiển từ xa mà tôi sử dụng. Các mục mới có thể được thêm vào. Có khoảng trống cho tổng số 160 tên nhưng điều này có thể được tăng lên bằng cách điều chỉnh các hằng số trong bitMessages.h và biên dịch lại. Các tên được định nghĩa ở đây là các tên được sử dụng khi gửi lệnh.
Mỗi thiết bị từ xa được xác định trong một tệp có tên dev_remotename. Nó bao gồm một phần cấu hình ở trên cùng và sau đó là một bảng ánh xạ từ tên nút đến mã là chuỗi hex chứa các bit sẽ được gửi. Chỉ những tên nút được yêu cầu mới cần được xác định.
Phần cấu hình ở đầu tệp thiết bị chứa các tham số được sử dụng khi gửi mã. Mục đầu tiên là tên thiết bị được sử dụng khi gửi lệnh. Các thông số khác được mô tả trong readme trên trang web mã.
Hầu hết các điều khiển từ xa thuộc một trong 3 loại giao thức (chưa rõ, rc5 và rc6). Nec có lẽ là phổ biến nhất và có cấu trúc tiêu đề đơn giản và thời gian bit. Có một biến thể nhỏ của điều này chỉ khác về thời gian xung tiêu đề. rc5 và rc6 là các giao thức do Philips xác định nhưng cũng được một số nhà sản xuất khác sử dụng. Chúng phức tạp hơn một chút và đặc biệt rc6 có một yêu cầu thời gian đặc biệt cho một trong các bit.
Để nắm bắt mã cho một điều khiển từ xa mới, tôi sử dụng bộ thu IR (TSOP) thường được sử dụng với phích cắm bộ thu từ xa. Điều này thực hiện giải mã cơ bản và đưa ra đầu ra mức logic. Chúng thường đi kèm với giắc cắm 3,5 mm với các kết nối + 5V, GND, DATA. Tôi đã hy sinh một, rút ngắn dây dẫn và đưa nó qua bộ đệm 3.3V đảo ngược để cấp chân GPIO trên Raspberry Pi.
Sau đó, tôi sử dụng công cụ python rxir.py (trong thư mục công cụ git) để nắm bắt mã. Để giúp dễ dàng sử dụng hơn để nắm bắt một số lượng lớn các nút, công cụ này sử dụng tệp định nghĩa văn bản để xác định các nút trên điều khiển từ xa và chỉ là tên của các nút trong một nhóm trên điều khiển từ xa. Ví dụ: một người có thể có một điều khiển từ xa Sony mới và một thiết lập 3 tệp văn bản có tên là sonytv-cursor, sonytv-number, sonytv-playcontrols, mỗi tệp có tên nút liên quan trong đó. Công cụ sẽ nhắc thiết bị (sonytv), phần (con trỏ) và giao thức nào sẽ sử dụng (chưa được xác định, chưa được xác định) Sau đó, nó sẽ nhắc tuần tự cho mỗi lần nhấn nút và ghi kết quả vào tệp sonytv-ircodes. Các phần có thể được lặp lại nếu được yêu cầu để kiểm tra các ảnh chụp còn tốt. Các bit từ tệp.ircodes có thể được chỉnh sửa thành các bảng BitDevices.
Bước 4: Kiểm soát Web và Macro
Điều khiển web cơ bản là một lượt nhận hoặc một bài đăng json có thể chứa một chuỗi.
Get to / ir có 6 tham số
- auth - chứa mã ủy quyền
- thiết bị - tên của thiết bị từ xa
- tham số - tên của nút
- bit - số bit tùy chọn
- lặp lại - số lần lặp lại tùy chọn
- chờ đợi - độ trễ tính bằng mili giây trước khi lệnh tiếp theo có thể được thực thi.
Thiết bị cũng có thể là 'null' để chỉ có độ trễ, 'macro' để sử dụng macro được tham chiếu bởi tham số hoặc 'phát hiện' để sử dụng tính năng phát hiện Alexa (xem sau).
Bài đăng đến / irjson bao gồm một cấu trúc json như
{
"auth": "1234", "lệnh": [{"thiết bị": "yamahaAV", "tham số": "hdmi4", "chờ": "5000", "bit": "0", "lặp lại": "1"}, {"device": "yamahaAV", "parameter": "mute", "wait": "100", "bits": "0", "repeat": "1"}]
}
Trình tự có thể dài bất kỳ và các thiết bị có thể là tham chiếu macro.
Cấu trúc tương tự có thể được sử dụng để xác định macro. Chỉ cần bao gồm macro: "macroname", ở cấp cao nhất, ví dụ: sau khi xác thực. Nội dung thực tế được lưu trữ trong một tệp có tên macroname.txt
Macro có thể bị xóa bằng cách xác định chúng mà không có "lệnh".
Các lệnh web khác
- / gần đây (liệt kê hoạt động gần đây)
- / check (hiển thị trạng thái cơ bản)
- / (tải biểu mẫu web để gửi lệnh theo cách thủ công)
- / edit (tải một biểu mẫu web để xem danh sách tệp và xóa / tải tệp lên)
- / edit? file = filename (xem nội dung của một tệp cụ thể)
- / reload (tải lại tên nút và tệp thiết bị. Sử dụng sau khi thay đổi bất kỳ tên nào trong số này)
Bước 5: Điều khiển bằng giọng nói Alexa bằng IFTTT
Cách đơn giản nhất để sử dụng ir Blaster với Alexa là sử dụng IFTTT làm cổng.
Cổng đầu tiên chuyển tiếp cổng được sử dụng cho blaster trong bộ định tuyến của bạn để nó có thể truy cập được từ internet. Có thể tốt khi sử dụng một dịch vụ dns như Liberationns để đặt tên cho ip bên ngoài của bộ định tuyến và giúp xử lý dễ dàng hơn nếu ip này thay đổi.
Thiết lập tài khoản IFTTT và bật kênh Maker Webhooks và kênh Alexa. Bạn sẽ cần đăng nhập vào trang Amazon khi thực hiện việc này để kích hoạt quyền truy cập IFTT.
Tạo trình kích hoạt IF bằng kênh IFTTT Alexa, chọn hành động dựa trên một cụm từ và nhập cụm từ bạn muốn (Ví dụ: tăng âm lượng).
Tạo hành động bằng cách chọn kênh Maker webhooks. Nhập vào trường URL một cái gì đó như
myip: port / irjson? trơn = {"auth": "1234", "comm…
Hành động này sẽ được gửi đến ir blaster nơi nó sẽ cố gắng thực hiện khối lượng macro. Một có thể là thiết bị / nút cụ thể ở đây nếu muốn nhưng tôi thấy tốt hơn nên xác định và sử dụng macro vì sau đó chuỗi hành động có thể dễ dàng thay đổi chỉ bằng cách xác định lại macro.
Cần có một applet IFTTT riêng cho mỗi lệnh.
Bước 6: Kỹ năng thoại của Alexa bản địa
Thay vì IFTTT, người ta có thể xây dựng một kỹ năng tùy chỉnh bên trong phát triển Alexa. Điều này tập trung tất cả quá trình xử lý ở một nơi và có nghĩa là bạn không phải tạo các hành động riêng biệt cho từng nút.
Bạn cần đăng ký với tư cách là nhà phát triển Amazon Alexa và bạn cần đăng ký với dịch vụ lambda bảng điều khiển Amazon AWS. Bạn cũng sẽ cần phải xem các hướng dẫn để hiểu quy trình một chút.
Về phía nhà phát triển Alexa, bạn cần tạo một kỹ năng tùy chỉnh mới, nhập từ kích hoạt của nó và tạo danh sách các từ lệnh như tăng âm lượng, hướng dẫn, v.v.
Sau đó, Alexa gửi cụm từ đến một chương trình chạy trên dịch vụ lamda, chương trình này sẽ diễn giải cụm từ và thực hiện một lệnh gọi URL tới Ir blaster để thực hiện nó.
Tôi đã bao gồm lược đồ ý định của Alexa và hàm lambda của bảng điều khiển mà tôi sử dụng trong git. URL sẽ cần được sửa đổi để tham chiếu đến ip thích hợp và có quyền phù hợp. Để đơn giản, các hàm lambda gọi một macro có phiên bản chữ thường được tước bỏ khoảng trắng của cụm từ. Nó cũng cố gắng loại bỏ từ khóa kích hoạt mà đôi khi có thể được bao gồm. Ví dụ. blaster VOLUME up sẽ gọi một macro được gọi là volumeup nếu từ kích hoạt là blaster.
Bước 7: Kích hoạt công cụ dò tìm Alexa
Mặc dù nhận dạng giọng nói Echo / Dot tốt nhưng đôi khi có thể bị nhầm lẫn nếu âm thanh đang phát từ TV trừ khi bạn đến gần và nói to.
Để cải thiện điều này, tôi đã thêm một bộ dò kích hoạt vào Dot của mình. Ngay sau khi từ khóa (Alexa được nói), vòng đèn LED sáng lên. Bộ phát hiện đưa điều này vào blaster nơi nó sẽ sử dụng macro alexaon để tắt tiếng TV, tương tự khi kết thúc quá trình xử lý lệnh, đèn sẽ tắt và macro alexaoff khôi phục âm thanh.
Lệnh 'phát hiện' cũng có thể được sử dụng để bật và tắt tính năng này. Vì vậy, ví dụ, tôi sử dụng macro turnon ban đầu để kích hoạt tính năng phát hiện và macro turnoff để vô hiệu hóa nó. Điều này cũng có thể được sử dụng trong macro hành động để hỗ trợ một coomand tắt tiếng và bật tiếng thực sự mà nếu không sẽ có vấn đề.
Bộ phát hiện vật lý là một điện trở phụ thuộc ánh sáng mà mạch hỗ trợ. Tôi gắn của tôi trên Chấm bằng một khung in 3D
Đề xuất:
Đèn chiếu sáng hồng ngoại (Hồng ngoại) Part-2: 3 bước
Đèn chiếu sáng hồng ngoại (Hồng ngoại) Phần 2: Xin chào các bạn, tôi đã trở lại với Phần 2 của Đèn chiếu sáng hồng ngoại (Hồng ngoại) Có thể hướng dẫn. Nếu bạn chưa xem Phần 1, hãy BẤM VÀO ĐÂY Bắt đầu … Một Mạch Chiếu Sáng IR đơn giản để hỗ trợ tầm nhìn ban đêm của Camera CCTV. IR Illuminator Night Vision, với tư cách là
Đèn chiếu sáng hồng ngoại (Hồng ngoại) Phần 1: 5 bước
Đèn chiếu sáng hồng ngoại (Hồng ngoại) Phần 1: Xin chào … Trong phần hướng dẫn này, chúng ta sẽ tìm hiểu một chút về Tầm nhìn ban đêm, các cách khác nhau để đạt được tầm nhìn ban đêm và Mạch đèn chiếu hồng ngoại đơn giản để hỗ trợ tầm nhìn ban đêm của Camera quan sát. hình cho thấy sơ đồ mạch của IR Illumina
Máy ảnh nhiệt hồng ngoại M5Stack sử dụng cảm biến hình ảnh mảng hồng ngoại AMG8833: 3 bước
Máy ảnh nhiệt M5Stack IR sử dụng cảm biến hình ảnh mảng hồng ngoại AMG8833: Giống như nhiều người, tôi đã bị mê hoặc với máy ảnh nhiệt nhưng chúng luôn nằm ngoài tầm giá của tôi - cho đến nay !! Mô-đun ESP32 và một
Sửa chữa Sự cố Kho cứng Máy tính Cơ bản (Hỏng ổ đĩa hệ thống và PSU bị hỏng và Thiếu / Tập tin bị hỏng): 4 bước
Sửa chữa Sự cố Kho cứng Máy tính Cơ bản (Hỏng Đĩa hệ thống và PSU bị hỏng và Thiếu / Tập tin bị hỏng): HƯỚNG DẪN NÀY CHƯA ĐƯỢC KẾT THÚC, TÔI SẼ BỔ SUNG THÊM THÔNG TIN KHI TÔI NHẬN ĐƯỢC CƠ HỘI. có bất kỳ câu hỏi nào, vui lòng nhắn tin cho tôi " Trong phần hướng dẫn này, tôi sẽ cho bạn biết cách sửa chữa com cơ bản
Đèn chiếu sáng hồng ngoại tự làm IR - Xem ban đêm bằng máy ảnh của bạn: 6 bước
Đèn chiếu sáng IR (Hồng ngoại) DIY - Xem ban đêm bằng máy ảnh của bạn: Một câu hỏi mà chúng tôi được hỏi rất nhiều là về việc xây dựng Đèn chiếu sáng hồng ngoại. Đèn chiếu sáng hồng ngoại cho phép máy ảnh nhìn thấy trong bóng tối hoàn toàn. Điều này có thể hữu ích cho các ứng dụng bảo mật hoặc có thể bạn muốn xem các hoạt động ban đêm của động vật hoang dã địa phương. Các