Sadržaj:

ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 koraka
ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 koraka

Video: ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 koraka

Video: ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 koraka
Video: Домашняя автоматизация своими руками — ESP32, Raspberry Pi, Node Red, MQTT, Умный дом || Проект Интернета вещей. Часть 1. 2024, Studeni
Anonim
ESP-NOW Automatizacija doma Esp8266 Raspberry Pi MQTT
ESP-NOW Automatizacija doma Esp8266 Raspberry Pi MQTT

U ovom Instructable-u pokazat ću vam kako sam koristio ESP-NOW u svojoj kućnoj automatizaciji. Na shemi možete vidjeti tokove komunikacije

Pokazat ću ti:

  • kako pošiljatelj radi
  • kako prijemnik radi
  • 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:

Videozapis #172 Andreasa Spiessa

www.esploradores.com/practica-6-conexion-es…

Korak 1: Sigurnosno kopiranje putem WiFi-a i MQTT-a

Sigurnosno kopiranje putem WiFi-a i MQTT-a
Sigurnosno kopiranje putem WiFi-a i MQTT-a

Otkrio sam da je ESP-NOW izuzetno brz i prilično pouzdan, ali ponekad ne uspije. U svoj sam program dodao sigurnosnu kopiju putem normalne WiFi i MQTT veze.

Korak 2: Daljinski upravljač/pošiljatelj

Daljinski upravljač/pošiljatelj
Daljinski upravljač/pošiljatelj
Daljinski upravljač/pošiljatelj
Daljinski upravljač/pošiljatelj
Daljinski upravljač/pošiljatelj
Daljinski upravljač/pošiljatelj
Daljinski upravljač/pošiljatelj
Daljinski upravljač/pošiljatelj

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 primatelj 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 sigurnosnu vezu.

Program za pošiljatelja je u mom Githubu (Master_sender.ino). Programi šalju i temu i poruku za kućnu automatizaciju MQTT-a u jednoj kombiniranoj poruci ESP-NOW, kombiniranoj znakom '&' za jednostavno dijeljenje na prijemniku.

Napravio sam dva različita daljinska upravljača/pošiljatelja:

Pošiljatelj 1: esp8266 je u dubokom snu i aktivira se resetiranjem. LED dioda u gumbu svijetli i zatamni se nakon završetka modula. Ako je napon baterije nizak, LED dioda treperi. Ako ESP-NOW nije uspio, LED dioda trepće prije nego što pređete na WiFi/MQTT veze. Esp8266 se napaja iz LiPo baterije s regulatorom napona HT7333 na 3,3 V.

Pošiljatelj 2: esp8266 je isključen i napaja se pritiskom na gumb. Obično se ESP-NOW veza uspostavlja nakon što tipka "klikne". Esp8266 se napaja izravno iz LiPo baterije. Ne znam oštećuje li se esp8266 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 - hardver (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 spojen je na moj Raspberry Pi Zero koji pokreće moj sustav 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 pokreće 3.3V pin Raspija
  • Na esp-01 i RST i CH_PD su visoko podignuti.

Napravio sam priključak za sučelje za jednostavno montiranje

Na jednoj slici možete vidjeti moje žičane veze s 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 u mom Githubu (Master_sender.ino). Program je doista jednostavan, samo ispisuje 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 '

Čvor Crveni

U čvoru Crveni, odaberite čvor serijskog ulaza i postavite serijski priključak (pogledajte slike u prilogu). Obratite pozornost 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 poruku msg.topic i msg.payload. Izlaz funkcije vodi se do izlaznog čvora mqtt koji šalje poruku poslužitelju MQTT. Imajte na umu da je polje teme čvora mqtt prazno jer je tema postavljena u poruci.

Preporučeni: