Tabla de contenido:
- Paso 1: copia de seguridad a través de WiFi y MQTT
- Paso 2: el remoto / remitente
- Paso 3: El receptor - Hardware (esp8266 y Raspberry Pi)
- Paso 4: El receptor: software (serie, nodo rojo, MQTT)
Video: ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
En este Instructable, les muestro cómo utilicé ESP-NOW en la automatización de mi hogar. En el esquema se pueden ver los flujos de comunicación.
Te muestro:
- como funciona el remitente
- como funciona el receptor
- cómo funciona la comunicación en serie con una Raspberry Pi
No muestro cómo funcionan MQTT y mi domótica, puedes encontrar otras buenas instrucciones para eso.
Créditos: este Instructable se inspiró en:
Video # 172 por Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
Paso 1: copia de seguridad a través de WiFi y MQTT
Descubrí que ESP-NOW es extremadamente rápido y bastante confiable, pero a veces falla. En mi programa agregué una copia de seguridad a través de una conexión WiFi normal y MQTT.
Paso 2: el remoto / remitente
En el primer esquema ves cómo funciona el programa del remitente:
- El esp8266 se inicia desde el encendido o desde el reinicio
- ESP-NOW está inicializado
- El módulo envía ESP-NOW por un tiempo definido
-
El módulo comprueba si el receptor recibió el mensaje ESP-NOW en una función de devolución de llamada.
- Si se recibió el mensaje ESP-NOW, el módulo entra en suspensión profunda de baja potencia
- Si no se recibió el mensaje ESP-NOW, el módulo inicia una conexión WiFi y una conexión MQTT como conexión de respaldo.
El programa para el remitente está en mi Github (Master_sender.ino). Los programas envían tanto el tema como el mensaje para la automatización del hogar MQTT en un mensaje ESP-NOW combinado, combinado en un signo '&' para una división fácil en el receptor.
Hice dos controles remotos / remitentes diferentes:
Remitente 1: El esp8266 está en suspensión profunda y se activa mediante un reinicio. El led del botón se enciende y se atenúa cuando el módulo está terminado. Si el voltaje de la batería es demasiado bajo, el led parpadea. Si el ESP-NOW falló, el led parpadea antes de cambiar a las conexiones WiFi / MQTT. El esp8266 se alimenta de una batería LiPo con un regulador de voltaje HT7333 a 3.3V
Remitente 2: El esp8266 se apaga y se enciende presionando el botón. Normalmente, la conexión ESP-NOW se realiza después de que el botón "haga clic". El esp8266 se alimenta directamente de una batería LiPo. No sé si el esp8266 se daña por el alto voltaje de una batería completamente cargada (hasta 4.2 V) cuando se enciende solo unos 100 ms. Es más alto que las especificaciones (3.0 - 3.6V).
Nota: si la carga de la batería es baja, el ESP-NOW falla.
Paso 3: El receptor - Hardware (esp8266 y Raspberry Pi)
La descripción del receptor se divide en dos partes:
- Hardware
- Software
El hardware
El receptor esp-01 está conectado a mi Raspberry Pi Zero, que ejecuta mi sistema de automatización del hogar (Openhab2) y Node Red.
En el esquema se muestran las conexiones simples:
- RX del esp-01 a TX del RasPi
- TX del esp-01 a RX del RasPi
- GND a GND
- El esp-01 VCC es alimentado por el pin de 3.3V del Raspi
- En el esp-01, tanto RST como CH_PD se elevan.
Hice un conector de interfaz para montarlo fácilmente
En una imagen puedes ver mis conexiones de cables a mi Raspberry Pi 3 (que tiene el mismo pinout, pero usé otro pin de 3.3V para conectar a CH_PD).
El esp-01 fue programado como se muestra en mi otro Instructable (ver paso 3).
Paso 4: El receptor: software (serie, nodo rojo, MQTT)
Programa en esp8266
El programa para el receptor esp-01 está en mi Github (Master_sender.ino). El programa es realmente simple, solo imprime el mensaje ESP-NOW recibido en el puerto serie de la Raspberry Pi.
Puerto serial
En la Raspberry Pi, debe activar el puerto serie (en raspbian, ejecute 'sudo raspi-config') para la comunicación serie normal.
El nombre del puerto serie es:
- Raspberry Pi Zero: / dev / ttyAMA0
- Raspberry Pi 3: / dev / ttyS0
Puede comprobar el puerto serie ejecutando 'dmesg | grep tty 'o' ls / dev '
Nodo rojo
En Node Red, seleccione el Nodo de entrada serial y configure el puerto serial (vea las imágenes adjuntas). Tenga en cuenta la velocidad en baudios de la conexión en serie, que debe coincidir con la velocidad en baudios programada en el esp8266.
La salida del nodo serial es transformada por un nodo de función que divide el mensaje en el signo '&' y establece msg.topic y msg.payload. La salida de la función se dirige al nodo de salida mqtt que envía el mensaje al servidor MQTT. Tenga en cuenta que el campo de tema del nodo mqtt está en blanco, porque el tema está establecido en el mensaje.
Recomendado:
Wifi Smart Switch ESP8266 funciona con Alexa y Google Home Automation: 7 pasos
Wifi Smart Switch ESP8266 funciona con Alexa y Google Home Automation: en el mundo de la globalización, todo el mundo necesita la última e inteligente tecnología.WiFi Smart Switch, haciendo su vida más inteligente y conveniente
Introducción a Esp 8266 Esp-01 con Arduino IDE - Instalación de placas Esp en Arduino Ide y programación Esp: 4 pasos
Introducción a Esp 8266 Esp-01 con Arduino IDE | Instalación de placas Esp en Arduino Ide y programación de Esp: En este instructables aprenderemos cómo instalar placas esp8266 en Arduino IDE y cómo programar esp-01 y cargar código en él Dado que las placas esp son tan populares, así que pensé en corregir un instructivo para esto y la mayoría de las personas enfrentan problemas
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 pasos
Sonoff B1 Firmware Home Automation Openhab Google Home: Me gusta mucho el firmware Tasmota para mis interruptores Sonoff. Pero no estaba muy contento con el firmware de Tasmota en mi Sonoff-B1. No logré integrarlo completamente en mi Openhab y controlarlo a través de Google Home, por lo que escribí mi propia firma
(DIY) Cómo hacer ESP8266 Ultra Mini & Simple Relay Home Automation Board: 17 pasos
(DIY) Cómo hacer una placa de automatización del hogar con relé simple y ultra mini ESP8266: Hola a todos, hoy les haré saber cómo hacer una placa de relé Mini Esp 12 Wifi que mida solo 3,9 cm x 3,9 cm. Esta placa tiene algunas características muy interesantes que a todos los amantes de la tecnología les encantará tener. He incluido todos los archivos en los siguientes pasos. Esta placa
RASPBERRY PI ALEXA HOME AUTOMATION: 4 Pasos
RASPBERRY PI ALEXA HOME AUTOMATION: Este Instructable cubre los conceptos de Amazon alexa eho dot, Raspberry pi Gpio controlando usando alexa. El principal problema al manejar alexa es cada vez que necesita agregar algunas habilidades en su cuenta aws, lo que requiere mucho tiempo, establecer c