INHOUDSOPGAWE:
- Stap 1: Rugsteun via WiFi en MQTT
- Stap 2: Die afstandsbediening/sender
- Stap 3: Die ontvanger - hardeware (esp8266 en Raspberry Pi)
- Stap 4: Die ontvanger - sagteware (Serial, Node Red, MQTT)
Video: ESP-NOU Tuisautomatisering Esp8266 Raspberry Pi MQTT: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
In hierdie Instructable wys ek jou hoe ek ESP-NOW in my huisautomatisering gebruik het. In die skematiese kan u die kommunikasie vloei sien
Ek wys jou:
- hoe die sender werk
- hoe die ontvanger werk
- hoe die seriële kommunikasie met 'n Raspberry Pi werk
Ek wys nie hoe MQTT en my tuisautomatisering werk nie; u kan ander goeie instruksies daarvoor vind.
Krediete: This Instructable is geïnspireer deur:
Video #172 deur Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
Stap 1: Rugsteun via WiFi en MQTT
Ek het uitgevind dat ESP-NOW uiters vinnig en redelik betroubaar is, maar soms misluk. In my program het ek 'n rugsteun bygevoeg via normale WiFi- en MQTT-verbinding.
Stap 2: Die afstandsbediening/sender
In die eerste skema sien u hoe die program van die sender werk:
- Die esp8266 begin met opstart of herstel
- ESP-NOW word geïnisialiseer
- Die module stuur ESP-NOW vir 'n bepaalde tyd
-
Die module kyk of die ESP-NOW-boodskap deur die ontvanger ontvang is in 'n terugbelfunksie.
- As die ESP-NOW-boodskap ontvang is, gaan die module in 'n diepe slaapperiode
- As die ESP-NOW-boodskap nie ontvang is nie, begin die module 'n WiFi-verbinding en 'n MQTT-verbinding as 'n rugsteunverbinding.
Die program vir die sender is in my Github (Master_sender.ino). Die programme stuur beide die onderwerp en die boodskap vir die MQTT-tuisautomatisering in een gekombineerde ESP-NOW-boodskap, gekombineer met 'n '&' teken vir 'n maklike skeiding by die ontvanger.
Ek het twee verskillende afstandbeheer/senders gemaak:
Sender 1: Die esp8266 slaap diep en word geaktiveer deur 'n reset. Die led in die knoppie brand en verdof wanneer die module klaar is. As die spanning van die battery te laag is, knipper die LED. As die ESP-NOW misluk, knipper die LED voordat dit oorskakel na WiFi/MQTT-verbindings. Die esp8266 word aangedryf deur 'n LiPo -battery met 'n HT7333 spanningsreguleerder tot 3,3V
Sender 2: Die esp8266 word afgeskakel en word aangeskakel deur op die knoppie te druk. Normaalweg word die ESP-NOW-verbinding gemaak nadat die knoppie 'klik' het. Die esp8266 word direk van 'n LiPo -battery aangedryf. Ek weet nie of die esp8266 beskadig raak deur die hoë spanning van 'n volgelaaide battery (tot 4,2 V) as dit net 'n paar 100 ms aangeskakel word nie. Dit is hoër as die spesifikasies (3.0 - 3.6V).
Let wel: as die batterykrag laag is, misluk die ESP-NOW.
Stap 3: Die ontvanger - hardeware (esp8266 en Raspberry Pi)
Die beskrywing van die ontvanger is in twee dele verdeel:
- Hardeware
- Sagteware
Die hardeware
Die ontvangende esp-01 is gekoppel aan my Raspberry Pi Zero wat my tuis-outomatiseringstelsel (Openhab2) en Node Red bestuur.
In die skema word die eenvoudige verbindings getoon:
- RX van die esp-01 tot TX van die RasPi
- TX van die esp-01 na RX van die RasPi
- GND tot GND
- Die esp-01 VCC word aangedryf deur die 3.3V-pen van die Raspi
- Op die esp-01 word beide RST en CH_PD hoog getrek.
Ek het 'n koppelvlakaansluiting gemaak om dit maklik te monteer
Op een foto kan u my draadverbindings na my Raspberry Pi 3 sien (wat dieselfde pinout het, maar ek het nog 'n 3.3V -pin gebruik om aan CH_PD te koppel).
Die esp-01 is geprogrammeer soos getoon in my ander Instructable (sien stap 3).
Stap 4: Die ontvanger - sagteware (Serial, Node Red, MQTT)
Program op esp8266
Die program vir die esp-01 ontvanger is in my Github (Master_sender.ino). Die program is regtig eenvoudig; dit druk slegs die ontvangde ESP-NOW-boodskap op die Serial-poort af na die Raspberry Pi.
Seriële poort
Op die Raspberry Pi moet u die seriële poort (op raspbian, 'sudo raspi-config') aktiveer vir normale seriële kommunikasie.
Die naam van die reekspoort is:
- Framboos Pi Zero: /dev /ttyAMA0
- Framboos Pi 3: /dev /ttyS0
U kan die seriële poort nagaan deur 'dmesg | grep tty 'of' ls /dev '
Knoop Rooi
Kies in Node Red die seriële invoerknoop en stel die seriële poort in (sien die aangehegte foto's). Let op die baudrate van die seriële verbinding, dit moet ooreenstem met die baudrate soos geprogrammeer in die esp8266.
Die uitset van die seriële node word getransformeer deur 'n funksie -knoop wat die boodskap by die '&' teken verdeel en die msg.topic en die msg.payload stel. Die uitset van die funksie word na die mqtt -uitsetknoop gelei wat die boodskap na die MQTT -bediener stuur. Let op die onderwerpveld van die mqtt -knoop is leeg, want die onderwerp is in die boodskap gestel.
Aanbeveel:
Tuisautomatisering WiFi-ligskakelaar met ESP-01 en aflosmodule met drukknop: 7 stappe
Tuisautomatisering WiFi-ligskakelaar met ESP-01 en relaismodule met drukknop: So in die vorige instruksies het ons 'n ESP-01 met Tasmota met 'n ESP-flitser geprogrammeer en die ESP-01 aan ons wifi-netwerke gekoppel. om 'n ligskakelaar met WiFi of die drukknop aan/uit te skakel.Vir die elektriese werk
Internet/wolk -beheerde tuisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): 7 stappe (met foto's)
Internet/wolk -beheerde tuisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): ALLE krediete aan http://arest.io/ vir die wolkdiens !! Wolkbedieners en -dienste wat dit moontlik maak, is die aantrekkingskrag van die hedendaagse wêreld … UITSLUITING VAN DIE AFSTANDSGANGER was en is die
Tuisautomatisering met NodeMCU, HomeAssistant en MQTT: 6 stappe
Tuisautomatisering met NodeMCU, HomeAssistant en MQTT: wil u u huis in 'n slim huis begin omskep, en dit ook goedkoop doen? NodeMCU en HomeAssistant is hier om hieroor te help. Ek beveel u aan om hierdie video te kyk, miskien is dit makliker vir u om te volg. Andersins, volg die stappe hieronder
Klein brandalarmdetektor Esp8266 MQTT IFTTT Tuisautomatisering: 4 stappe
Klein brandalarmdetektor Esp8266 MQTT IFTTT Tuisautomatisering: ek wou opspoor of my huisrookmelderstelsel in alarm is. Ek het agt rookmelder in my huis en hulle is onderling verbind. As die een rookmelder in alarm is, kry die ander 'n sein via die verbindingskabel. My sensor lees
Aan die slag met Esp 8266 Esp-01 Met Arduino IDE - Die installering van Esp -borde in Arduino Ide en programmering van Esp: 4 stappe
Aan die slag met Esp 8266 Esp-01 Met Arduino IDE | Installering van Esp-borde in Arduino Ide en programmering van Esp: In hierdie instruksies gaan ons leer hoe om esp8266-borde in Arduino IDE te installeer en hoe om esp-01 te programmeer en kode daarin te laai. dit en die meeste mense het 'n probleem