Sadržaj:

ESP-NOW Automatizacija doma Esp8266 Raspberry Pi MQTT: 4 koraka
ESP-NOW Automatizacija doma Esp8266 Raspberry Pi MQTT: 4 koraka

Video: ESP-NOW Automatizacija doma Esp8266 Raspberry Pi MQTT: 4 koraka

Video: ESP-NOW Automatizacija doma Esp8266 Raspberry Pi MQTT: 4 koraka
Video: mqtt dimmer for home assistant 2024, Novembar
Anonim
ESP-NOW Kućna automatizacija Esp8266 Raspberry Pi MQTT
ESP-NOW Kućna automatizacija Esp8266 Raspberry Pi MQTT

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

Sigurnosna kopija putem WiFi-a i MQTT-a
Sigurnosna kopija 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

Daljinski upravljač/pošiljalac
Daljinski upravljač/pošiljalac
Daljinski upravljač/pošiljalac
Daljinski upravljač/pošiljalac
Daljinski upravljač/pošiljalac
Daljinski upravljač/pošiljalac
Daljinski upravljač/pošiljalac
Daljinski upravljač/pošiljalac

U prvoj shemi vidite kako funkcionira program pošiljatelja:

  1. Esp8266 se pokreće pri uključivanju ili resetiranju
  2. ESP-NOW je inicijaliziran
  3. Modul šalje ESP-NOW na određeno vrijeme
  4. Modul provjerava je li prijemnik primio poruku ESP-NOW u funkciji povratnog poziva.

    1. Ako je primljena poruka ESP-NOW, modul prelazi u duboki san niske snage
    2. 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)

Prijemnik - hardverski (esp8266 i Raspberry Pi)
Prijemnik - hardverski (esp8266 i Raspberry Pi)
Prijemnik - hardverski (esp8266 i Raspberry Pi)
Prijemnik - hardverski (esp8266 i Raspberry Pi)
Prijemnik - hardverski (esp8266 i Raspberry Pi)
Prijemnik - hardverski (esp8266 i Raspberry Pi)

Opis prijemnika podijeljen je na dva dijela:

  1. Hardver
  2. 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)

Prijemnik - softver (serijski, crveni čvor, MQTT)
Prijemnik - softver (serijski, crveni čvor, MQTT)
Prijemnik - softver (serijski, crveni čvor, MQTT)
Prijemnik - softver (serijski, crveni čvor, MQTT)
Prijemnik - softver (serijski, crveni čvor, MQTT)
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: