Spisu treści:
- Krok 1: Kopia zapasowa przez Wi-Fi i MQTT
- Krok 2: Pilot/nadawca
- Krok 3: Odbiornik - sprzęt (esp8266 i Raspberry Pi)
- Krok 4: Odbiornik - oprogramowanie (szeregowy, czerwony węzeł, MQTT)
Wideo: ESP-NOW Automatyka domowa Esp8266 Raspberry Pi MQTT: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W tej instrukcji pokazuję, jak wykorzystałem ESP-NOW w mojej automatyce domowej. Na schemacie widać przepływy komunikacji
Pokażę ci:
- jak działa nadawca
- jak działa odbiornik
- jak działa komunikacja szeregowa z Raspberry Pi
Nie pokazuję, jak działa MQTT i moja automatyka domowa, można znaleźć inne dobre instrukcje do tego.
Kredyty: Ta instrukcja została zainspirowana przez:
Wideo nr 172 autorstwa Andreasa Spiess
www.esploradores.com/practica-6-conexion-es…
Krok 1: Kopia zapasowa przez Wi-Fi i MQTT
Dowiedziałem się, że ESP-NOW jest niezwykle szybki i dość niezawodny, ale czasami zawodzi. W moim programie dodałem kopię zapasową przez normalne połączenie WiFi i MQTT.
Krok 2: Pilot/nadawca
Na pierwszym schemacie widzisz jak działa program nadawcy:
- esp8266 uruchamia się po włączeniu lub zresetowaniu
- ESP-NOW jest inicjowany
- Moduł wysyła ESP-NOW przez określony czas
-
Moduł sprawdza, czy wiadomość ESP-NOW została odebrana przez odbiorcę w funkcji oddzwaniania.
- Jeśli odebrano wiadomość ESP-NOW, moduł przechodzi w stan głębokiego uśpienia o niskim poborze mocy
- Jeśli wiadomość ESP-NOW nie została odebrana, moduł uruchamia połączenie WiFi i połączenie MQTT jako połączenie zapasowe.
Program dla nadawcy znajduje się na moim Github (Master_sender.ino). Programy wysyłają zarówno temat, jak i wiadomość dla automatyki domowej MQTT w jednym połączonym komunikacie ESP-NOW, połączonym znakiem „&” w celu łatwego podziału u odbiorcy.
Zrobiłem dwa różne piloty/nadajniki:
Nadawca 1: esp8266 jest w głębokim uśpienia i jest aktywowany przez reset. Dioda w przycisku zapala się i gaśnie po zakończeniu pracy modułu. Jeśli napięcie baterii jest zbyt niskie, dioda miga. Jeśli ESP-NOW nie powiodło się, dioda miga przed zmianą na połączenia WiFi/MQTT. esp8266 zasilany jest z akumulatora LiPo z regulatorem napięcia HT7333 do 3,3V
Nadawca 2: esp8266 jest wyłączony i zasilany przez naciśnięcie przycisku. Zwykle połączenie ESP-NOW odbywa się po kliknięciu przycisku. Esp8266 jest zasilany bezpośrednio z akumulatora LiPo. Nie wiem, czy esp8266 ulegnie uszkodzeniu przez wysokie napięcie w pełni naładowanego akumulatora (do 4,2 V) przy zasilaniu na zaledwie kilka 100 ms. Jest wyższy niż specyfikacja (3,0 - 3,6 V).
Uwaga: jeśli poziom naładowania baterii jest niski, ESP-NOW nie działa.
Krok 3: Odbiornik - sprzęt (esp8266 i Raspberry Pi)
Opis odbiornika podzielony jest na dwie części:
- Sprzęt komputerowy
- Oprogramowanie
Sprzęt
Odbiornik esp-01 jest podłączony do mojego Raspberry Pi Zero, które obsługuje mój system automatyki domowej (Openhab2) i Node Red.
Na schemacie pokazane są proste połączenia:
- RX esp-01 do TX RasPi
- TX z esp-01 do RX z RasPi
- GND do GND
- esp-01 VCC jest zasilany przez pin 3.3V Raspi
- W esp-01 zarówno RST, jak i CH_PD są podciągnięte wysoko.
Zrobiłem złącze interfejsu, aby go łatwo zamontować
Na jednym zdjęciu widać moje połączenia przewodowe z moim Raspberry Pi 3 (który ma ten sam pinout, ale użyłem innego pinu 3,3 V do połączenia z CH_PD).
Esp-01 został zaprogramowany tak, jak pokazano w moim innym Instructable (patrz krok 3).
Krok 4: Odbiornik - oprogramowanie (szeregowy, czerwony węzeł, MQTT)
Program na esp8266
Program dla odbiornika esp-01 jest na moim Github (Master_sender.ino). Program jest naprawdę prosty, drukuje tylko odebraną wiadomość ESP-NOW na porcie szeregowym do Raspberry Pi.
Port szeregowy
Na Raspberry Pi musisz aktywować port szeregowy (na raspbian, wykonaj 'sudo raspi-config') dla normalnej komunikacji szeregowej.
Nazwa portu szeregowego to:
- Raspberry Pi Zero: /dev/ttyAMA0
- Raspberry Pi 3: /dev/ttyS0
Możesz sprawdzić port szeregowy, uruchamiając dmesg | grep tty' lub 'ls /dev'
Węzeł czerwony
W Node Red wybierz węzeł wejścia szeregowego i skonfiguruj port szeregowy (patrz załączone zdjęcia). Zwróć uwagę na szybkość transmisji połączenia szeregowego, która musi odpowiadać szybkości transmisji zaprogramowanej w esp8266.
Wyjście węzła szeregowego jest przekształcane przez węzeł funkcji, który dzieli wiadomość ze znakiem „&” i ustawia msg.topic oraz msg.payload. Wyjście funkcji jest kierowane do węzła wyjściowego mqtt, który wysyła wiadomość do serwera MQTT. Zwróć uwagę, że pole tematu węzła mqtt jest puste, ponieważ temat jest ustawiony w komunikacie.
Zalecana:
Automatyka domowa sterowana przez Internet/chmurę za pomocą Esp8266 (aREST, MQTT, IoT): 7 kroków (ze zdjęciami)
Automatyka domowa sterowana przez Internet/chmurę za pomocą Esp8266 (aREST, MQTT, IoT): WSZYSTKIE zasługi dla http://arest.io/ za usługę w chmurze!!IoT jest obecnie najbardziej dyskutowanym tematem na świecie! Serwery i usługi w chmurze, które to umożliwiają, są atrakcją dzisiejszego świata… WYKLUCZENIE BARIER ODLEGŁOŚCI było i jest
Automatyka domowa za pomocą MQTT i ESP8266: 6 kroków
Automatyka domowa przy użyciu MQTT i ESP8266: Obecnie automatyka domowa to trendy i wschodząca era IoT (Internet of Things). Każdy próbuje w jakiś sposób zautomatyzować dom, który może być sterowany zdalnie lub ręcznie. A to ułatwia im życie.Są ludzkie techniki, które można kontrolować
Pierwsze kroki z automatyką domową: Instalacja Home Assistant: 3 kroki
Rozpoczęcie pracy z automatyką domową: instalacja asystenta domowego: teraz rozpoczniemy serię automatyki domowej, w której stworzymy inteligentny dom, który pozwoli nam kontrolować takie rzeczy, jak światła, głośniki, czujniki itp., Za pomocą centralnego koncentratora wraz z asystent głosowy. W tym poście dowiemy się, jak ins
Automatyka domowa z ESP8266 WiFi bez użycia Blynk !: 24 kroki (ze zdjęciami)
Automatyka domowa z ESP8266 WiFi bez użycia Blynk!: Po pierwsze, chcę podziękować wszystkim za uczynienie mnie zwycięzcą w konkursie automatyzacji 2016 za tę INSTRUKCJĘ. Tak więc, jak obiecałem, oto instrukcja obsługi urządzeń domowych za pomocą modułu WiFi ESP8266
Mała czujka przeciwpożarowa Esp8266 MQTT IFTTT Automatyka domowa: 4 kroki
Tiny Fire Alarm Detector Esp8266 MQTT IFTTT Automatyka domowa: Chciałem wykryć, czy mój domowy system wykrywania dymu jest w stanie alarmu. Mam w domu osiem czujników dymu i są one ze sobą połączone. Jeśli jeden czujnik dymu jest w stanie alarmu, drugi otrzymuje sygnał za pośrednictwem przewodu sygnałowego połączenia. Mój czujnik odczytuje