
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

В этом руководстве я покажу вам, как я использовал ESP-NOW в домашней автоматизации. На схеме вы можете увидеть коммуникационные потоки
Я покажу тебе:
- как работает отправитель
- как работает ресивер
- как работает последовательная связь с Raspberry Pi
Я не показываю, как работает MQTT и моя домашняя автоматизация, вы можете найти другие хорошие инструкции для этого.
Авторы: это руководство было вдохновлено:
Видео # 172, автор - Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
Шаг 1. Резервное копирование через WiFi и MQTT

Я выяснил, что ESP-NOW чрезвычайно быстр и достаточно надежен, но иногда дает сбой. В своей программе я добавил резервную копию через обычное соединение WiFi и MQTT.
Шаг 2: Удаленный / отправитель




На первой схеме вы видите, как работает программа отправителя:
- Esp8266 запускается при включении или сбросе
- ESP-NOW инициализирован
- Модуль отправляет ESP-NOW в течение определенного времени.
-
Модуль проверяет, было ли получено сообщение ESP-NOW, в функции обратного вызова.
- Если было получено сообщение ESP-NOW, модуль переходит в глубокий сон с низким энергопотреблением.
- Если сообщение ESP-NOW не было получено, модуль запускает соединение WiFi и соединение MQTT в качестве резервного соединения.
Программа для отправителя находится у меня на Github (Master_sender.ino). Программы отправляют тему и сообщение для домашней автоматизации MQTT в одном объединенном сообщении ESP-NOW, объединенном знаком «&» для удобного разделения на приемнике.
Я сделал два разных пульта / отправителя:
Отправитель 1: esp8266 находится в глубоком спящем режиме и активируется сбросом. Светодиод в кнопке загорается и гаснет, когда модуль готов. Если напряжение аккумулятора слишком низкое, светодиод мигает. Если ESP-NOW не удалось, индикатор мигает перед переходом на соединения WiFi / MQTT. Питание esp8266 осуществляется от LiPo аккумулятора с регулятором напряжения HT7333 до 3,3 В.
Отправитель 2: esp8266 выключен и включается нажатием кнопки. Обычно соединение ESP-NOW выполняется после нажатия кнопки. Esp8266 питается напрямую от LiPo батареи. Я не знаю, повредится ли esp8266 из-за высокого напряжения полностью заряженной батареи (до 4,2 В), когда он работает всего несколько 100 мс. Это выше спецификаций (3,0 - 3,6 В).
Примечание: если батарея разряжена, ESP-NOW не работает.
Шаг 3. Приемник - оборудование (esp8266 и Raspberry Pi)



Описание ствольной коробки разделено на две части:
- Аппаратное обеспечение
- Программное обеспечение
Аппаратное обеспечение
Принимающий esp-01 подключен к моему Raspberry Pi Zero, на котором работает моя система домашней автоматизации (Openhab2) и Node Red.
На схеме показаны простые соединения:
- RX от esp-01 до TX от RasPi
- Передача esp-01 на приемник RasPi
- GND к GND
- ESP-01 VCC питается от вывода 3.3V Raspi.
- На esp-01 оба RST и CH_PD подтянуты.
Я сделал интерфейсный разъем, чтобы его было легко смонтировать
На одном снимке вы можете увидеть мои проводные соединения с моим Raspberry Pi 3 (у которого такая же распиновка, но я использовал еще один вывод 3,3 В для подключения к CH_PD).
ESP-01 был запрограммирован, как показано в моем другом руководстве (см. Шаг 3).
Шаг 4: Приемник - программное обеспечение (серийный, красный узел, MQTT)



Программа на esp8266
Программа для ресивера esp-01 есть у меня на Github (Master_sender.ino). Программа действительно проста, она только печатает полученное сообщение ESP-NOW через последовательный порт Raspberry Pi.
Последовательный порт
На Raspberry Pi вы должны активировать последовательный порт (на raspbian выполните sudo raspi-config) для нормальной последовательной связи.
Имя последовательного порта:
- Малина Pi Zero: / dev / ttyAMA0
- Малина Pi 3: / dev / ttyS0
Вы можете проверить последовательный порт, запустив 'dmesg | grep tty 'или' ls / dev '
Узел красный
В Node Red выберите узел последовательного ввода и настройте последовательный порт (см. Приложенные изображения). Обратите внимание на скорость последовательного соединения, она должна соответствовать скорости, запрограммированной в esp8266.
Выходные данные последовательного узла преобразуются функциональным узлом, который разбивает сообщение по знаку «&» и устанавливает msg.topic и msg.payload. Выходные данные функции передаются на выходной узел mqtt, который отправляет сообщение на сервер MQTT. Обратите внимание, что поле темы узла mqtt пусто, потому что тема задается в сообщении.
Рекомендуемые:
Wifi Smart Switch ESP8266 работает с Alexa и Google Home Automation: 7 шагов

Смарт-коммутатор Wi-Fi ESP8266 работает с Alexa и Google Home Automation: в мире глобализации каждый нуждается в новейших и интеллектуальных технологиях. Смарт-коммутатор Wi-Fi делает вашу жизнь более интеллектуальной и удобной
MQTT / Google Home Flood / Датчик WIFI с ESP-01: 7 шагов

MQTT / Google Home Flood / Water WIFI Sensor With ESP-01: в этой инструкции я покажу вам, как построить Wi-Fi датчик наводнения / воды с минимальными затратами. Весь проект обходится мне менее чем в 8 долларов за детали, которые я приобретаю на ebay, и мои существующие запасные части. В этом проекте мы будем использовать ESP-01 для предоставления Wif
NodeMCU Home Automation (ESP8266): 7 шагов

NodeMCU Home Automation (ESP8266): Привет, ребята! Надеюсь, вам уже понравилась моя предыдущая инструкция " Arduino Heart Beat With ECG Display & Звук " и вы готовы к новому, как обычно, я сделал это руководство, чтобы помочь вам шаг за шагом при создании такого супер-удивительного
Начало работы с Esp 8266 Esp-01 с Arduino IDE - Установка плат Esp в Arduino Ide и программирование Esp: 4 шага

Начало работы с Esp 8266 Esp-01 с Arduino IDE | Установка плат Esp в Arduino Ide и программирование Esp: в этих инструкциях мы узнаем, как установить платы esp8266 в Arduino IDE и как программировать esp-01 и загружать в него код. Поскольку платы esp настолько популярны, я подумал о том, чтобы исправить инструкции для это и большинство людей сталкиваются с проблемой
MQTT / Google Home DoorBell с использованием ESP-01: 6 шагов

MQTT / Google Home DoorBell Использование ESP-01: Вы когда-нибудь пропускали ответ на звонок гостю, который звонил в ваш дверной звонок, только потому, что вы находитесь в той части дома, которая слишком далеко, чтобы услышать звонок в дверь? например, подвал, спальня с закрытой дверью, или, может быть, вы смотрели телевизор или слушали музыку. Если нравится