Obsah:
- Krok 1: Zálohování přes WiFi a MQTT
- Krok 2: Dálkový ovladač/odesílatel
- Krok 3: Přijímač - hardware (esp8266 a Raspberry Pi)
- Krok 4: Přijímač - software (sériový, červený uzel, MQTT)
Video: ESP-NOW Domácí automatizace Esp8266 Raspberry Pi MQTT: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
V tomto Instructable vám ukážu, jak jsem použil ESP-NOW v domácí automatizaci. Ve schématu vidíte komunikační toky
Ukážu ti:
- jak odesílatel funguje
- jak přijímač funguje
- jak funguje sériová komunikace s Raspberry Pi
Neukazuji, jak funguje MQTT a moje domácí automatizace, můžete k tomu najít další dobré návody.
Kredity: Tento Instructable byl inspirován:
Video #172 od Andrease Spiesse
www.esploradores.com/practica-6-conexion-es…
Krok 1: Zálohování přes WiFi a MQTT
Zjistil jsem, že ESP-NOW je extrémně rychlý a docela spolehlivý, ale někdy selže. Do svého programu jsem přidal zálohu přes normální WiFi a MQTT připojení.
Krok 2: Dálkový ovladač/odesílatel
V prvním schématu vidíte, jak funguje program odesílatele:
- Zařízení esp8266 se spouští po zapnutí nebo resetování
- ESP-NOW je inicializován
- Modul odesílá ESP-NYNÍ po definovanou dobu
-
Modul kontroluje, zda příjemce přijal zprávu ESP-NOW ve funkci zpětného volání.
- Pokud byla přijata zpráva ESP-NYNÍ, modul přejde do hlubokého spánku s nízkým výkonem
- Pokud zpráva ESP-NOW nebyla přijata, modul zahájí připojení WiFi a připojení MQTT jako záložní připojení.
Program pro odesílatele je v mém Githubu (Master_sender.ino). Programy odesílají téma i zprávu pro domácí automatizaci MQTT v jedné kombinované zprávě ESP-NOW, kombinované se znakem '&' pro snadné rozdělení na přijímač.
Vytvořil jsem dva různé dálkové ovladače/odesilatele:
Odesílatel 1: esp8266 je v hlubokém spánku a je aktivován resetem. LED dioda v tlačítku se rozsvítí a zhasne, když je modul hotový. Pokud je napětí baterie nízké, LED bliká. Pokud ESP-NOW selhalo, kontrolka bliká před změnou na připojení WiFi/MQTT. Esp8266 je napájen z baterie LiPo s regulátorem napětí HT7333 na 3,3 V.
Odesílatel 2: esp8266 je vypnutý a napájí se stisknutím tlačítka. Připojení ESP-NOW se obvykle provádí po kliknutí na tlačítko. Esp8266 je napájen přímo z baterie LiPo. Nevím, jestli se esp8266 poškodí vysokým napětím plně nabité baterie (až 4,2 V), když je napájeno pouhých několik 100 ms. Je vyšší než specifikace (3,0 - 3,6 V).
Poznámka: pokud je baterie téměř vybitá, ESP-NOW selže.
Krok 3: Přijímač - hardware (esp8266 a Raspberry Pi)
Popis přijímače je rozdělen na dvě části:
- Hardware
- Software
Hardware
Přijímací esp-01 je připojen k mému Raspberry Pi Zero, který provozuje můj systém domácí automatizace (Openhab2) a Node Red.
Ve schématu jsou znázorněna jednoduchá připojení:
- RX esp-01 až TX RasPi
- TX esp-01 až RX RasPi
- GND až GND
- Esp-01 VCC je napájen 3,3V pinem Raspi
- Na esp-01 jsou RST i CH_PD vytaženy vysoko.
Vytvořil jsem konektor rozhraní pro snadné připojení
Na jednom obrázku vidíte moje drátová připojení k mému Raspberry Pi 3 (který má stejný pinout, ale pro připojení k CH_PD jsem použil další 3,3V pin).
Esp-01 byl naprogramován tak, jak je ukázáno v mém dalším Instructable (viz krok 3).
Krok 4: Přijímač - software (sériový, červený uzel, MQTT)
Program na esp8266
Program pro přijímač esp-01 je v mém Github (Master_sender.ino). Program je opravdu jednoduchý, pouze vytiskne přijatou zprávu ESP-NOW na sériový port na Raspberry Pi.
Sériový port
Na Raspberry Pi musíte pro normální sériovou komunikaci aktivovat sériový port (na raspbianu spustit 'sudo raspi-config').
Název sériového portu je:
- Raspberry Pi Zero: /dev /ttyAMA0
- Raspberry Pi 3: /dev /ttyS0
Sériový port můžete zkontrolovat spuštěním příkazu 'dmesg | grep tty 'nebo' ls /dev '
Uzel červený
V Node Red vyberte sériový vstupní uzel a nastavte sériový port (viz přiložené obrázky). Všimněte si přenosové rychlosti sériového připojení, která musí odpovídat přenosové rychlosti naprogramované v esp8266.
Výstup sériového uzlu je transformován funkčním uzlem, který rozdělí zprávu na znak '&' a nastaví msg.topic a msg.payload. Výstup funkce je veden do výstupního uzlu mqtt, který odešle zprávu na server MQTT. Všimněte si, že pole tématu uzlu mqtt je prázdné, protože téma je nastaveno ve zprávě.
Doporučuje:
Internetová/cloudová domácí automatizace využívající Esp8266 (aREST, MQTT, IoT): 7 kroků (s obrázky)
Internetová/cloudově řízená domácí automatizace využívající Esp8266 (aREST, MQTT, IoT): VŠECHNY kredity na http://arest.io/ pro cloudovou službu !! IoT aktuálně nejdiskutovanější téma na světě !! Cloudové servery a služby, které to umožňují, jsou lákadlem dnešního světa … VYŘEŠENÍ VZDÁLENOSTI BARIÉRY bylo a je
Domácí automatizace pomocí MQTT a ESP8266: 6 kroků
Domácí automatizace pomocí MQTT a ESP8266: V dnešní době je domácí automatizace trendovou a rozvíjející se érou IoT (internet věcí). Každý se snaží nějakým způsobem zautomatizovat domácnost, kterou lze dálkově ovládat nebo ručně. A to jim usnadňuje život. Existují lidské techniky, které lze ovládat
Malý požární hlásič Esp8266 MQTT IFTTT Domácí automatizace: 4 kroky
Malý detektor požárního poplachu Esp8266 MQTT IFTTT Domácí automatizace: Chtěl jsem zjistit, zda je můj domácí detektor kouře v poplachu. Mám doma osm detektorů kouře a jsou vzájemně propojené. Pokud je jeden detektor kouře v poplachu, druhý získá signál prostřednictvím propojovacího signálního vodiče. Můj senzor čte
Hlasová automatizace domácí automatizace Raspberry Pi: 5 kroků
Hlasová automatizace domácí automatizace Raspberry Pi: Cílem této instrukce je poskytnout podrobný návod, jak nastavit malinový pi, který dokáže automatizovat světla / LED pomocí vašich hlasových příkazů
Automatizace domácí automatizace Bluetooth: 7 kroků (s obrázky)
Bluetooth Control Home Automation: Dobrý den, v tomto projektu jde o stavbu nejjednoduššího zařízení pro domácí automatizaci pomocí arduina a modulu bluetooth. Tenhle se velmi snadno staví a dá se postavit za pár hodin. Ve své verzi, kterou právě vysvětluji, mohu