Sadržaj:
- Korak 1: Izradite sigurnosnu kopiju putem WiFi-a i MQTT-a
- Korak 2: Daljinski upravljač/pošiljalac
- Korak 3: Prijemnik - hardverski (esp8266 i Raspberry Pi)
- Korak 4: Prijemnik - softver (serijski, crveni čvor, MQTT)
Video: ESP-NOW Automatizacija doma Esp8266 Raspberry Pi MQTT: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
U ovom uputstvu ću vam pokazati kako sam koristio ESP-NOW u svojoj kućnoj automatizaciji. Na shemi možete vidjeti tokove komunikacije
Pokazujem vam:
- kako pošiljalac radi
- kako radi prijemnik
- kako funkcionira serijska komunikacija s Raspberry Pi
Ne pokazujem kako MQTT i moja kućna automatizacija funkcioniraju, možete pronaći druge dobre upute za to.
Zasluge: Ovaj Instructable inspiriran je:
Video #172 od Andreasa Spiess -a
www.esploradores.com/practica-6-conexion-es…
Korak 1: Izradite sigurnosnu kopiju putem WiFi-a i MQTT-a
Otkrio sam da je ESP-NOW izuzetno brz i prilično pouzdan, ali ponekad ne uspije. U svoj program sam dodao sigurnosnu kopiju putem normalne WiFi i MQTT veze.
Korak 2: Daljinski upravljač/pošiljalac
U prvoj shemi vidite kako funkcionira program pošiljatelja:
- Esp8266 se pokreće pri uključivanju ili resetiranju
- ESP-NOW je inicijaliziran
- Modul šalje ESP-NOW na određeno vrijeme
-
Modul provjerava je li prijemnik primio poruku ESP-NOW u funkciji povratnog poziva.
- Ako je primljena poruka ESP-NOW, modul prelazi u duboki san niske snage
- Ako poruka ESP-NOW nije primljena, modul započinje WiFi vezu i MQTT vezu kao rezervnu vezu.
Program za pošiljatelja je na mom Githubu (Master_sender.ino). Programi šalju i temu i poruku za kućnu automatizaciju MQTT-a u jednoj kombiniranoj ESP-NOW poruci, kombiniranoj znakom '&' za jednostavno dijeljenje na prijemniku.
Napravio sam dva različita daljinska upravljača/pošiljaoca:
Pošiljalac 1: esp8266 je u dubokom snu i aktivira se resetiranjem. LED dioda u gumbu svijetli i zatamni se kada se modul završi. Ako je napon baterije nizak, LED dioda treperi. Ako ESP-NOW nije uspio, LED dioda treperi prije nego što pređete na WiFi/MQTT veze. Esp8266 se napaja iz LiPo baterije sa HT7333 regulatorom napona na 3.3V
Pošiljalac 2: esp8266 se isključuje i napaja pritiskom na dugme. Obično se ESP-NOW veza uspostavlja nakon što tipka „klikne“. Esp8266 se napaja direktno iz LiPo baterije. Ne znam da li se esp8266 oštećuje visokim naponom potpuno napunjene baterije (do 4,2 V) kada se uključi samo nekoliko 100 ms. Više je od specifikacija (3,0 - 3,6 V).
Napomena: ako je baterija niska, ESP-NOW neće uspjeti.
Korak 3: Prijemnik - hardverski (esp8266 i Raspberry Pi)
Opis prijemnika podijeljen je na dva dijela:
- Hardver
- Softver
Hardver
Prijemni esp-01 je povezan sa mojim Raspberry Pi Zero koji pokreće moj sistem kućne automatizacije (Openhab2) i Node Red.
Na shemi su prikazane jednostavne veze:
- RX esp-01 do TX RasPi
- TX esp-01 do RX RasPi
- GND u GND
- Esp-01 VCC se napaja iz 3.3V pina Raspija
- Na esp-01 i RST i CH_PD su visoko povučeni.
Napravio sam priključak za sučelje za jednostavno montiranje
Na jednoj slici možete vidjeti moje žičane veze sa mojim Raspberry Pi 3 (koji ima isti pinout, ali sam za povezivanje na CH_PD koristio drugi pin od 3,3 V).
Esp-01 je programiran kako je prikazano u mom drugom Instructable (vidi korak 3).
Korak 4: Prijemnik - softver (serijski, crveni čvor, MQTT)
Program na esp8266
Program za prijemnik esp-01 nalazi se na mom Githubu (Master_sender.ino). Program je zaista jednostavan, on samo štampa primljenu poruku ESP-NOW na serijskom portu na Raspberry Pi.
Serijski port
Na Raspberry Pi-u morate aktivirati serijski port (na raspbian-u izvršite 'sudo raspi-config') za normalnu serijsku komunikaciju.
Naziv serijskog porta je:
- Raspberry Pi Zero: /dev /ttyAMA0
- Raspberry Pi 3: /dev /ttyS0
Serijski port možete provjeriti pokretanjem 'dmesg | grep tty 'ili' ls /dev '
Node Red
U čvoru Crveni, odaberite čvor serijskog ulaza i postavite serijski port (pogledajte slike u prilogu). Obratite pažnju na brzinu prijenosa serijske veze, koja se mora podudarati s brzinom prijenosa kako je programirano u esp8266.
Izlaz serijskog čvora transformira se funkcijskim čvorom koji razdvaja poruku na znaku '&' i postavlja msg.topic i msg.payload. Izlaz funkcije se dovodi do izlaznog čvora mqtt koji šalje poruku MQTT poslužitelju. Imajte na umu da je polje teme čvora mqtt prazno jer je tema postavljena u poruci.
Preporučuje se:
Automatizacija doma: 5 koraka
Kućna automatizacija: U ovom projektu nema nas, iskoristite mnoge stvari kako biste je izgradili od nule kako biste razumjeli proces IoT interneta video zapisa za sve projekte
Automatizacija doma s NodeMCU osjetnikom na dodir LDR relejem za kontrolu temperature: 16 koraka
Kućna automatizacija s NodeMCU osjetnikom na dodir LDR relejem za kontrolu temperature: U svojim prošlim NodeMCU projektima kontrolirao sam dva kućna aparata iz aplikacije Blynk. Dobio sam mnogo komentara i poruka za nadogradnju projekta s ručnom kontrolom i dodavanjem više funkcija. Pa sam dizajnirao ovu kutiju za proširenje pametne kuće. U ovom IoT -u
Automatizacija doma: 7 koraka
Automatizacija doma: Pretvorite svoj dom u pametan dom, pomoću toga možete kontrolirati sve elektroničke uređaje u svom domu u jednoj aplikaciji. Ali za ovaj projekt, htio sam kontrolirati samo svu rasvjetu kod kuće. Sve je lako napravljeno sa Raspberry pi 3 i relejem za nastavak
Mali detektor požara Esp8266 MQTT IFTTT Automatizacija doma: 4 koraka
Mali detektor požara Esp8266 MQTT IFTTT Automatizacija doma: Htio sam otkriti je li moj sistem detektora dima u alarmu. U kući imam osam detektora dima koji su međusobno povezani. Ako je jedan detektor dima u alarmu, drugi primaju signal putem signalne žice za međusobno povezivanje. Senzor čita
Sonoff B1 Firmware Automatizacija doma Openhab Google Home: 3 koraka
Sonoff B1 Firmware Home Automation Openhab Google Home: Jako mi se sviđa Tasmota firmver za moje Sonoff prekidače. Ali nisam bio zadovoljan Tasmota firmverom na mom Sonoff-B1. Nisam ga u potpunosti uspio integrirati u svoj Openhab i kontrolirati putem Google Home -a. Stoga sam napisao svoju vlastitu firmu