Taula de continguts:
- Pas 1: Còpia de seguretat mitjançant WiFi i MQTT
- Pas 2: el remot / remitent
- Pas 3: el receptor: maquinari (esp8266 i Raspberry Pi)
- Pas 4: el receptor: programari (sèrie, vermell de node, MQTT)
Vídeo: ESP-NOW Domòtica Esp8266 Raspberry Pi MQTT: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
En aquest instructiu us mostro com he utilitzat ESP-NOW a la meva domòtica. A l'esquema es poden veure els fluxos de comunicació
T'ensenyo:
- com funciona l’emissor
- com funciona el receptor
- com funciona la comunicació en sèrie amb un Raspberry Pi
No mostro el funcionament de MQTT i la meva domòtica, hi podeu trobar altres bones instruccions.
Crèdits: aquest instructiu es va inspirar en:
Vídeo # 172 d’Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
Pas 1: Còpia de seguretat mitjançant WiFi i MQTT
Vaig descobrir que ESP-NOW és extremadament ràpid i bastant fiable, però de vegades falla. Al meu programa he afegit una còpia de seguretat mitjançant una connexió WiFi i MQTT normal.
Pas 2: el remot / remitent
Al primer esquema veieu com funciona el programa del remitent:
- L'esp8266 s'inicia des de l'engegada o des del reinici
- ESP-NOW s'inicialitza
- El mòdul envia ESP-NOW durant un temps definit
-
El mòdul comprova si el receptor ha rebut el missatge ESP-NOW en una funció de devolució de trucada.
- Si es va rebre el missatge ESP-NOW, el mòdul es queda en son profund de baixa potència
- Si no es va rebre el missatge ESP-NOW, el mòdul inicia una connexió WiFi i una connexió MQTT com a connexió de còpia de seguretat.
El programa per al remitent es troba al meu Github (Master_sender.ino). Els programes envien tant el tema com el missatge per a la domòtica MQTT en un missatge combinat ESP-NOW, combinat en un signe '&' per a una divisió fàcil al receptor.
Vaig crear dos remotors / remitents diferents:
Remitent 1: l’esp8266 està en son profund i s’activa mitjançant un restabliment. El led del botó s’il·lumina i s’apaga quan es completa el mòdul. Si el voltatge de la bateria és baix, el LED parpelleja. Si l’ESP-NOW ha fallat, el LED parpelleja abans de canviar a connexions WiFi / MQTT. L'esp8266 s'alimenta d'una bateria LiPo amb un regulador de voltatge HT7333 a 3,3V
Remitent 2: l’esp8266 s’apaga i s’alimenta prement el botó. Normalment, la connexió ESP-NOW es fa després que el botó "faci clic". L'esp8266 s'alimenta directament des d'una bateria LiPo. No sé si l’esp8266 es fa malbé per l’alta tensió d’una bateria completament carregada (fins a 4,2 V) quan s’encén uns pocs 100 ms. És superior a les especificacions (3,0 - 3,6 V).
Nota: si la bateria és baixa, l’ESP-NOW falla.
Pas 3: el receptor: maquinari (esp8266 i Raspberry Pi)
La descripció del receptor es divideix en dues parts:
- Maquinari
- Programari
El maquinari
L’esp-01 receptor està connectat al meu Raspberry Pi Zero que executa el meu sistema domòtic (Openhab2) i Node Red.
A l'esquema es mostren les connexions simples:
- RX de l'esp-01 a TX del RasPi
- TX de l'esp-01 a RX del RasPi
- GND a GND
- L’esp-01 VCC s’alimenta del pin de 3,3 V del Raspi
- A l'esp-01, tant RST com CH_PD estan elevats.
Vaig fer un connector d'interfície per muntar-lo fàcilment
En una imatge podeu veure les meves connexions per cable al meu Raspberry Pi 3 (que té el mateix pinout, però he utilitzat un altre pin de 3,3 V per connectar-me a CH_PD).
L'esp-01 es va programar tal com es mostra a la meva altra instrucció (vegeu el pas 3).
Pas 4: el receptor: programari (sèrie, vermell de node, MQTT)
Programa a esp8266
El programa per al receptor esp-01 és al meu Github (Master_sender.ino). El programa és realment senzill, només imprimeix el missatge ESP-NOW rebut al port sèrie al Raspberry Pi.
Port sèrie
Al Raspberry Pi, heu d'activar el port sèrie (a raspbian, executeu 'sudo raspi-config') per a una comunicació serial normal.
El nom del port sèrie és:
- Raspberry Pi Zero: / dev / ttyAMA0
- Raspberry Pi 3: / dev / ttyS0
Podeu comprovar el port sèrie executant 'dmesg | grep tty 'o' ls / dev '
Node vermell
A Node Red, seleccioneu el node d'entrada sèrie i configureu el port sèrie (vegeu les imatges adjuntes). Tingueu en compte la velocitat de transmissió de la connexió sèrie, que ha de coincidir amb la velocitat de transmissió programada a l’esp8266.
La sortida del node sèrie es transforma mitjançant un node de funció que divideix el missatge en el signe '&' i estableix el msg.topic i el msg.payload. La sortida de la funció es dirigeix cap al node de sortida mqtt que envia el missatge al servidor MQTT. Tingueu en compte que el camp del tema del node mqtt està en blanc, perquè el tema està definit al missatge.
Recomanat:
Domòtica controlada per Internet / núvol mitjançant Esp8266 (aREST, MQTT, IoT): 7 passos (amb imatges)
Automatització domèstica controlada per Internet / núvol mitjançant Esp8266 (aREST, MQTT, IoT): TOTS els crèdits a http://arest.io/ per al servei al núvol !! IoT el tema més discutit del món ara mateix !! Els servidors i serveis al núvol que ho fan possible són el punt d’atracció del món actual … EXCLUIR LA BARRERA DE DISTÀNCIA va ser i és el
Domòtica mitjançant MQTT i ESP8266: 6 passos
Domòtica mitjançant MQTT i ESP8266: Avui en dia, la domòtica és una era tendent i emergent de l'IoT (Internet de les coses). Tothom intenta automatitzar la casa d'alguna manera que es pot controlar a distància o manualment. I això els facilita la vida. Hi ha tècniques per controlar l'home
Notificació de timbre per a discapacitats auditives mitjançant la domòtica (ESP-ara, MQTT, Openhab): 3 passos
Notificació de timbre per a discapacitats auditives mitjançant la domòtica (ESP-ara, MQTT, Openhab): en aquest instructiu us mostro com he integrat el meu timbre normal a la meva domòtica. Aquesta solució és molt adequada per a persones amb discapacitat auditiva. En el meu cas, la faig servir per rebre notificacions si l’habitació està ocupada i sorollosa en una festa d’aniversari dels nens. Jo
Detector d'alarma contra incendis minúscul Esp8266 MQTT Domòtica IFTTT: 4 passos
Detector d'alarmes contra incendis minúsculs Esp8266 MQTT IFTTT Domòtica: volia detectar si el meu sistema de detecció de fum de casa està en alarma. Tinc vuit detectors de fum a casa meva i estan interconnectats. Si un detector de fum està en alarma, l’altre rep un senyal a través del cable de senyal d’interconnexió. El meu sensor diu
Introducció a Esp 8266 Esp-01 amb Arduino IDE - Instal·lació de taules Esp a Arduino Ide i programació Esp: 4 passos
Introducció a Esp 8266 Esp-01 amb Arduino IDE | Instal·lació de taules Esp a Arduino Ide i programació Esp: En aquest instructables aprendrem a instal·lar taules esp8266 a Arduino IDE i a programar esp-01 i penjar-hi codi. Com que les taules esp són tan populars, vaig pensar a corregir un instructablesfor això i la majoria de la gent té problemes