Mục lục:
- Bước 1: Sao lưu qua WiFi và MQTT
- Bước 2: Điều khiển từ xa / người gửi
- Bước 3: Bộ thu - Phần cứng (esp8266 và Raspberry Pi)
- Bước 4: Bộ thu - Phần mềm (Serial, Node Red, MQTT)
Video: ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Trong Tài liệu hướng dẫn này, tôi chỉ cho bạn cách tôi đã sử dụng ESP-NOW trong việc tự động hóa tại nhà của mình. Trong giản đồ, bạn có thể thấy các luồng giao tiếp
Tôi chỉ cho bạn:
- cách người gửi hoạt động
- máy thu hoạt động như thế nào
- cách giao tiếp nối tiếp với Raspberry Pi hoạt động như thế nào
Tôi không hiển thị cách MQTT và tự động hóa nhà của tôi hoạt động, bạn có thể tìm thấy các hướng dẫn tốt khác cho điều đó.
Tín dụng: Có thể giảng dạy này được lấy cảm hứng từ:
Video # 172 của Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
Bước 1: Sao lưu qua WiFi và MQTT
Tôi phát hiện ra rằng ESP-NOW cực kỳ nhanh và khá đáng tin cậy, nhưng đôi khi không thành công. Trong chương trình của mình, tôi đã thêm một bản sao lưu thông qua kết nối WiFi và MQTT thông thường.
Bước 2: Điều khiển từ xa / người gửi
Trong lược đồ đầu tiên, bạn sẽ thấy chương trình của người gửi hoạt động như thế nào:
- Esp8266 khởi động từ khi bật nguồn hoặc từ khi đặt lại
- ESP-NOW được khởi chạy
- Mô-đun gửi ESP-NOW trong một thời gian xác định
-
Mô-đun kiểm tra xem người nhận có nhận được tin nhắn ESP-NOW hay không trong chức năng gọi lại.
- Nếu nhận được thông báo ESP-NOW, mô-đun sẽ ở trạng thái ngủ sâu công suất thấp
- Nếu không nhận được thông báo ESP-NOW, mô-đun bắt đầu kết nối WiFi và kết nối MQTT làm kết nối dự phòng.
Chương trình dành cho người gửi nằm trong Github của tôi (Master_sender.ino). Các chương trình sẽ gửi cả chủ đề và thông điệp cho tự động hóa nhà MQTT trong một tin nhắn ESP-NOW kết hợp, được kết hợp tại dấu '&' để dễ dàng phân chia tại người nhận.
Tôi đã tạo hai điều khiển từ xa / người gửi khác nhau:
Người gửi 1: Máy esp8266 đang ở trạng thái ngủ sâu và được kích hoạt bằng cách đặt lại. Đèn led trong nút sáng lên và mờ đi khi hoàn thành mô-đun. Nếu điện áp của pin thấp, đèn LED sẽ nhấp nháy. Nếu ESP-NOW không thành công, đèn LED sẽ nhấp nháy trước khi chuyển sang kết nối WiFi / MQTT. Máy esp8266 được cấp nguồn từ pin LiPo với bộ điều chỉnh điện áp HT7333 thành 3,3V
Người gửi 2: Máy esp8266 bị tắt nguồn và được cấp nguồn bằng cách nhấn nút. Thông thường kết nối ESP-NOW được thực hiện sau khi nút 'nhấp'. Máy esp8266 được cấp nguồn trực tiếp từ pin LiPo. Tôi không biết liệu esp8266 có bị hỏng do điện áp cao của pin đã sạc đầy (lên đến 4,2 V) khi nó được cấp nguồn chỉ trong vài 100 mili giây hay không. Nó cao hơn so với thông số kỹ thuật (3.0 - 3.6V).
Lưu ý: nếu pin yếu, ESP-NOW không thành công.
Bước 3: Bộ thu - Phần cứng (esp8266 và Raspberry Pi)
Mô tả của bộ thu được chia thành hai phần:
- Phần cứng
- Phần mềm
Phần cứng
Máy nhận esp-01 được kết nối với Raspberry Pi Zero của tôi, hệ thống chạy hệ thống tự động hóa tại nhà của tôi (Openhab2) và Node Red.
Trong sơ đồ, các kết nối đơn giản được hiển thị:
- RX của esp-01 đến TX của RasPi
- TX của esp-01 đến RX của RasPi
- GND sang GND
- Esp-01 VCC được cấp nguồn bằng chân 3,3V của Raspi
- Trên esp-01, cả RST và CH_PD đều được kéo lên cao.
Tôi đã tạo một đầu nối giao diện để gắn nó dễ dàng
Trong một hình ảnh, bạn có thể thấy các kết nối dây của tôi với Raspberry Pi 3 của tôi (có cùng sơ đồ chân, nhưng tôi đã sử dụng chân 3,3V khác để kết nối với CH_PD).
Máy esp-01 đã được lập trình như được hiển thị trong Thiết bị hướng dẫn khác của tôi (xem bước 3).
Bước 4: Bộ thu - Phần mềm (Serial, Node Red, MQTT)
Chương trình trên esp8266
Chương trình cho máy thu esp-01 có trong Github của tôi (Master_sender.ino). Chương trình thực sự đơn giản, nó chỉ in thông báo ESP-NOW nhận được trên cổng Serial tới Raspberry Pi.
Cổng nối tiếp
Trên Raspberry Pi, bạn phải kích hoạt Cổng nối tiếp (trên raspbian, thực thi 'sudo raspi-config') để giao tiếp nối tiếp bình thường.
Tên của cổng nối tiếp là:
- Raspberry Pi Zero: / dev / ttyAMA0
- Raspberry Pi 3: / dev / ttyS0
Bạn có thể kiểm tra cổng nối tiếp bằng cách chạy 'dmesg | grep tty 'hoặc' ls / dev '
Node Red
Trong Node Red, chọn Node đầu vào nối tiếp và thiết lập cổng nối tiếp (xem hình ảnh đính kèm). Lưu ý tốc độ truyền của kết nối nối tiếp, tốc độ này phải khớp với tốc độ truyền như được lập trình trong esp8266.
Đầu ra của nút nối tiếp được biến đổi bởi một nút chức năng chia thông báo tại dấu '&' và đặt msg.topic và msg.payload. Đầu ra của hàm được dẫn đến nút đầu ra mqtt, nút này sẽ gửi thông báo đến máy chủ MQTT. Lưu ý rằng trường chủ đề của nút mqtt trống vì chủ đề được đặt trong thư.
Đề xuất:
IR Home Automation sử dụng Relay: 6 bước (có hình ảnh)
IR Home Automation using Relay: Infared Remote Home Automation System (Cảnh báo: Bạn có thể tự chịu rủi ro khi nhân rộng dự án! Dự án này liên quan đến Điện áp cao)
Armadillo Home Automation: 5 bước
Armadillo Home Automation: Dự án Home Automation quản lý và vận hành các hệ thống điện khác nhau bên trong ngôi nhà như đèn, thiết bị và ổ cắm. Dự án này sử dụng Hệ thống 4D ’ Armadillo-43T. Dự án cho phép người dùng đặt chế độ thành thủ công hoặc tự động. Trong
MQTT / Google Home Flood / Water WIFI cảm biến với ESP-01: 7 bước
MQTT / Google Home Flood / Water WIFI Sensor With ESP-01: Trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách xây dựng cảm biến nước / lũ qua wifi với chi phí tối thiểu. Toàn bộ dự án tiêu tốn của tôi ít hơn 8 đô la cho các bộ phận mà tôi mua được từ ebay và các thiết bị phụ tùng hiện có của tôi.Trong dự án này, chúng tôi sẽ sử dụng ESP-01 để cung cấp Wif
Bắt đầu với Esp 8266 Esp-01 Với Arduino IDE - Cài đặt Bo mạch Esp trong Arduino Ide và Lập trình Esp: 4 bước
Bắt đầu với Esp 8266 Esp-01 Với Arduino IDE | Cài đặt bo mạch Esp-01 trong Arduino Ide và Lập trình Esp: Trong phần hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt bo mạch esp8266 trong Arduino IDE và cách lập trình esp-01 và tải lên mã trong đó. điều này và hầu hết mọi người đều phải đối mặt với vấn đề
MQTT / Google Home DoorBell Sử dụng ESP-01: 6 bước
MQTT / Google Home DoorBell Sử dụng ESP-01: Bạn đã bao giờ bỏ lỡ việc trả lời một vị khách đã bấm chuông cửa của bạn chỉ vì bạn đang ở một phần của ngôi nhà quá xa để nghe thấy tiếng chuông cửa? chẳng hạn như tầng hầm, phòng ngủ đóng kín cửa, hoặc có thể bạn đang xem TV hoặc nghe nhạc. Nếu thích