Obsah:
- Krok 1: Zálohujte prostredníctvom WiFi a MQTT
- Krok 2: Diaľkový ovládač/odosielateľ
- Krok 3: Prijímač - hardvér (esp8266 a Raspberry Pi)
- Krok 4: Prijímač - softvér (sériový, červený uzol, MQTT)
Video: ESP-NOW Domáca automatizácia Esp8266 Raspberry Pi MQTT: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
V tomto návode vám ukážem, ako som použil ESP-NOW v domácej automatizácii. V schéme vidíte komunikačné toky
Ukážem ti:
- ako funguje odosielateľ
- ako funguje prijímač
- ako funguje sériová komunikácia s Raspberry Pi
Neukazujem, ako funguje MQTT a moja domáca automatizácia, môžete na to nájsť ďalšie dobré pokyny.
Kredity: Tento návod bol inšpirovaný:
Video #172 od Andreasa Spiessa
www.esploradores.com/practica-6-conexion-es…
Krok 1: Zálohujte prostredníctvom WiFi a MQTT
Zistil som, že ESP-NOW je extrémne rýchly a celkom spoľahlivý, ale niekedy zlyhá. Do svojho programu som pridal zálohu cez bežné WiFi a MQTT pripojenie.
Krok 2: Diaľkový ovládač/odosielateľ
V prvej schéme vidíte, ako funguje program odosielateľa:
- Esp8266 sa spustí po zapnutí alebo resetovaní
- ESP-NOW sa inicializuje
- Modul odosiela ESP-TERAZ na definovaný čas
-
Modul kontroluje, či príjemca prijal správu ESP-TERAZ vo funkcii spätného volania.
- Ak bola prijatá správa ESP-TERAZ, modul prejde do hlbokého spánku s nízkym výkonom
- Ak správa ESP-NOW nebola prijatá, modul spustí pripojenie WiFi a pripojenie MQTT ako záložné pripojenie.
Program pre odosielateľa je v mojom Github (Master_sender.ino). Programy odošlú tému aj správu pre domácu automatizáciu MQTT v jednej kombinovanej správe ESP-TERAZ, kombinovanej so znakom '&' pre ľahké rozdelenie v prijímači.
Vytvoril som dva rôzne diaľkové ovládače/odosielatele:
Odosielateľ 1: esp8266 je v hlbokom spánku a aktivuje sa resetom. LED dióda v tlačidle sa rozsvieti a zhasne, keď je modul hotový. Ak je napätie batérie nízke, LED dióda bliká. Ak ESP-NOW zlyhal, pred zmenou na pripojenia WiFi/MQTT kontrolka bliká. Esp8266 je napájaný z batérie LiPo s regulátorom napätia HT7333 na 3,3 V.
Odosielateľ 2: esp8266 je vypnutý a napája sa stlačením tlačidla. Pripojenie ESP-TERAZ sa bežne vykonáva po kliknutí na tlačidlo. Esp8266 je napájaný priamo z batérie LiPo Neviem, či sa esp8266 poškodí vysokým napätím plne nabitej batérie (až 4,2 V), keď je napájaných iba niekoľko 100 ms. Je vyšší ako špecifikácie (3,0 - 3,6 V).
Poznámka: ak je batéria takmer vybitá, ESP-NOW zlyhá.
Krok 3: Prijímač - hardvér (esp8266 a Raspberry Pi)
Popis prijímača je rozdelený na dve časti:
- Hardvér
- Softvér
Hardvér
Prijímací esp-01 je pripojený k môjmu Raspberry Pi Zero, na ktorom je spustený môj systém automatiky pre domácnosť (Openhab2) a Node Red.
V schéme sú znázornené jednoduché spojenia:
- RX esp-01 až TX RasPi
- TX esp-01 až RX RasPi
- GND až GND
- Esp-01 VCC je napájaný 3,3 V pinom Raspi
- Na esp-01 sú RST aj CH_PD vytiahnuté vysoko.
Vytvoril som konektor rozhrania, aby sa dal ľahko namontovať
Na jednom obrázku môžete vidieť moje drôtové pripojenia k môjmu Raspberry Pi 3 (ktorý má rovnaký vývod, ale na pripojenie k CH_PD som použil ďalší 3,3V pin).
Esp-01 bol naprogramovaný tak, ako je uvedené v mojom inom inštrukcii (pozri krok 3).
Krok 4: Prijímač - softvér (sériový, červený uzol, MQTT)
Program na esp8266
Program pre prijímač esp-01 je v mojom Github (Master_sender.ino). Program je skutočne jednoduchý, prijatú správu ESP-NOW vytlačí iba na sériový port na Raspberry Pi.
Sériový port
Na Raspberry Pi musíte pre normálnu sériovú komunikáciu aktivovať sériový port (na raspbiane spustiť 'sudo raspi-config').
Názov sériového portu je:
- Raspberry Pi Zero: /dev /ttyAMA0
- Raspberry Pi 3: /dev /ttyS0
Sériový port môžete skontrolovať spustením príkazu 'dmesg | grep tty 'alebo' ls /dev '
Uzol červený
V programe Node Red vyberte sériový vstupný uzol a nastavte sériový port (pozri priložené obrázky). Všimnite si prenosovú rýchlosť sériového pripojenia, ktorá sa musí zhodovať s prenosovou rýchlosťou naprogramovanou v esp8266.
Výstup sériového uzla je transformovaný funkčným uzlom, ktorý rozdelí správu na znamienko '&' a nastaví msg.topic a msg.payload. Výstup funkcie je vedený do výstupného uzla mqtt, ktorý odošle správu na server MQTT. Všimnite si toho, že pole témy uzla mqtt je prázdne, pretože téma je nastavená v správe.
Odporúča:
Internetová/cloudová domáca automatizácia využívajúca Esp8266 (aREST, MQTT, IoT): 7 krokov (s obrázkami)
Automatizovaná domáca automatizácia ovládaná internetom/cloudom pomocou systému Esp8266 (aREST, MQTT, IoT): VŠETKY kredity na adresu http://arest.io/ pre cloudovú službu !! IoT je momentálne najdiskutovanejším predmetom na svete !! Cloudové servery a služby, ktoré to umožňujú, sú príťažlivým bodom dnešného sveta … VYLÚČENIE VZDIALENEJ BARIÉRY bolo a je
Domáca automatizácia pomocou MQTT a ESP8266: 6 krokov
Domáca automatizácia pomocou MQTT a ESP8266: V súčasnej dobe je domáca automatizácia trendovou a rozvíjajúcou sa érou IoT (internet vecí). Každý sa pokúša automatizovať domácnosť nejakým spôsobom, ktorý potom môže byť diaľkovo ovládaný alebo manuálny. A čo im uľahčuje život. Existujú ľudské techniky na ovládanie
DOMÁCA AUTOMATIZÁCIA NA ZÁKLADE MIESTNEHO SERVERA MQTT VYUŽÍVAJÚCEHO RADU RASPBERRY PI A NODEMCU: 6 krokov
DOMÁCA AUTOMATIZÁCIA NA ZÁKLADE MIESTNEHO SERVERA MQTT POUŽÍVANOM RASPBERRY PI A NODEMCU BOARD: Doteraz som natočil niekoľko výukových videí o ovládaní zariadení cez internet. A preto som vždy uprednostňoval server Adafruit MQTT, pretože bol ľahko použiteľný a užívateľsky prívetivý. Ale to všetko bolo založené na internete. To znamená, že sme
Malý požiarny hlásič Esp8266 MQTT IFTTT Domáca automatizácia: 4 kroky
Malý požiarny hlásič Esp8266 MQTT IFTTT Domáca automatizácia: Chcel som zistiť, či je môj systém domáceho detektora dymu v poplachu. Mám doma osem detektorov dymu a sú navzájom prepojené. Ak je jeden detektor dymu v poplachu, druhý dostane signál prostredníctvom prepojovacieho signálneho vodiča. Môj senzor číta
[Domáca automatizácia] Ovládacie relé odkiaľkoľvek pomocou ESP8266 + Blynk: 4 kroky
[Domáca automatizácia] Ovládacie relé odkiaľkoľvek pomocou ESP8266 + Blynk: Existuje mnoho spôsobov, ako vytvoriť domácu automatizáciu, niektoré sú komplikované, niektoré sú jednoduché. Tento návod ukážem, ako vytvoriť jednoduché ovládanie relé pomocou ESP-12E s Blynkom. Pre pohodlie bol dizajn jednostranný PCB, takže si môžete vyrobiť sami