Satura rādītājs:

ESP-NOW Mājas automatizācija Esp8266 Raspberry Pi MQTT: 4 soļi
ESP-NOW Mājas automatizācija Esp8266 Raspberry Pi MQTT: 4 soļi

Video: ESP-NOW Mājas automatizācija Esp8266 Raspberry Pi MQTT: 4 soļi

Video: ESP-NOW Mājas automatizācija Esp8266 Raspberry Pi MQTT: 4 soļi
Video: #InDeEd IoT QuickStart 2024, Novembris
Anonim
ESP-NOW Mājas automatizācija Esp8266 Raspberry Pi MQTT
ESP-NOW Mājas automatizācija Esp8266 Raspberry Pi MQTT

Šajā pamācībā es jums parādīšu, kā es izmantoju ESP-NOW savā mājas automatizācijā. Shēmā var redzēt sakaru plūsmas

Es jums parādīšu:

  • kā darbojas sūtītājs
  • kā darbojas uztvērējs
  • kā darbojas seriālā komunikācija ar Raspberry Pi

Es nerādu, kā darbojas MQTT un mana mājas automatizācija, jūs varat atrast citus labus norādījumus.

Kredīti: šo pamācību iedvesmoja:

Video #172 autors Andreass Spiess

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

1. darbība. Dublēšana, izmantojot WiFi un MQTT

Dublēšana, izmantojot WiFi un MQTT
Dublēšana, izmantojot WiFi un MQTT

Es uzzināju, ka ESP-NOW ir ārkārtīgi ātrs un diezgan uzticams, bet dažreiz neizdodas. Savā programmā es pievienoju rezerves kopiju, izmantojot parasto WiFi un MQTT savienojumu.

2. darbība: tālvadības pults/sūtītājs

Tālvadības pults/sūtītājs
Tālvadības pults/sūtītājs
Tālvadības pults/sūtītājs
Tālvadības pults/sūtītājs
Tālvadības pults/sūtītājs
Tālvadības pults/sūtītājs
Tālvadības pults/sūtītājs
Tālvadības pults/sūtītājs

Pirmajā shēmā jūs redzat, kā darbojas sūtītāja programma:

  1. Esp8266 tiek ieslēgts no ieslēgšanas vai atiestatīšanas
  2. ESP-NOW ir inicializēts
  3. Modulis nosūta ESP-NOW uz noteiktu laiku
  4. Modulis pārbauda, vai saņēmējs ir saņēmis ESP-NOW ziņojumu, izmantojot atzvanīšanas funkciju.

    1. Ja tika saņemts ziņojums ESP-NOW, modulis pāriet dziļā miega režīmā
    2. Ja ziņojums ESP-NOW netika saņemts, modulis sāk WiFi savienojumu un MQTT savienojumu kā rezerves savienojumu.

Sūtītāja programma ir manā Github (Master_sender.ino). Programmas nosūta gan tēmu, gan ziņojumu MQTT mājas automatizācijai vienā kombinētā ESP-NOW ziņojumā, kas apvienots ar “&” zīmi, lai uztvērēju varētu viegli sadalīt.

Es izveidoju divus dažādus tālvadības pultis/sūtītājus:

Sūtītājs 1: esp8266 atrodas dziļā miega režīmā, un to aktivizē atiestatīšana. Kad modulis ir pabeigts, pogas gaismas diode iedegas un kļūst blāvāka. Ja akumulatora spriegums ir zems, gaismas diode mirgo. Ja ESP-NOW neizdevās, gaismas diode mirgo pirms pārslēgšanās uz WiFi/MQTT savienojumiem. Esp8266 tiek darbināts no LiPo akumulatora ar HT7333 sprieguma regulatoru līdz 3,3 V.

Sūtītājs 2: esp8266 tiek izslēgts un tiek ieslēgts, nospiežot pogu. Parasti ESP-NOW savienojums tiek veikts pēc pogas klikšķa. Esp8266 tiek darbināts tieši no LiPo akumulatora. Es nezinu, vai esp8266 sabojājas pilnībā uzlādēta akumulatora (līdz 4,2 V) augstspriegums, kad tas tiek ieslēgts tikai dažas 100 ms. Tas ir augstāks par specifikācijām (3,0 - 3,6 V).

Piezīme: ja akumulatora uzlādes līmenis ir zems, ESP-NOW neizdodas.

3. darbība. Uztvērējs - aparatūra (esp8266 un Raspberry Pi)

Uztvērējs - aparatūra (esp8266 un Raspberry Pi)
Uztvērējs - aparatūra (esp8266 un Raspberry Pi)
Uztvērējs - aparatūra (esp8266 un Raspberry Pi)
Uztvērējs - aparatūra (esp8266 un Raspberry Pi)
Uztvērējs - aparatūra (esp8266 un Raspberry Pi)
Uztvērējs - aparatūra (esp8266 un Raspberry Pi)

Uztvērēja apraksts ir sadalīts divās daļās:

  1. Aparatūra
  2. Programmatūra

Aparatūra

Saņēmēja esp-01 ir savienota ar manu Raspberry Pi Zero, kurā darbojas mana mājas automatizācijas sistēma (Openhab2) un mezgls Red.

Shēmā ir parādīti vienkārši savienojumi:

  • RX no esp-01 līdz TX no RasPi
  • TX no esp-01 līdz RX no RasPi
  • GND līdz GND
  • Esp-01 VCC baro ar Raspi 3.3V tapu
  • Uz esp-01 gan RST, gan CH_PD ir pacelti augstu.

Es izveidoju interfeisa savienotāju, lai to viegli uzstādītu

Vienā attēlā var redzēt manus vadu savienojumus ar manu Raspberry Pi 3 (kam ir tāds pats pinout, bet es izmantoju citu 3.3V tapu, lai izveidotu savienojumu ar CH_PD).

Esp-01 tika ieprogrammēts, kā parādīts manā citā Instructable (skat. 3. darbību).

4. solis: uztvērējs - programmatūra (sērijas, sarkans mezgls, MQTT)

Uztvērējs - programmatūra (sērijas, sarkans mezgls, MQTT)
Uztvērējs - programmatūra (sērijas, sarkans mezgls, MQTT)
Uztvērējs - programmatūra (sērijas, sarkans mezgls, MQTT)
Uztvērējs - programmatūra (sērijas, sarkans mezgls, MQTT)
Uztvērējs - programmatūra (sērijas, sarkans mezgls, MQTT)
Uztvērējs - programmatūra (sērijas, sarkans mezgls, MQTT)

Programma esp8266

Uztvērēja esp-01 programma ir manā Github (Master_sender.ino). Programma ir patiešām vienkārša, tā tikai izdrukā saņemto ESP-NOW ziņojumu sērijas portā uz Raspberry Pi.

Sērijas ports

Raspberry Pi jums ir jāaktivizē seriālais ports (raspbian, izpildiet “sudo raspi-config”) normālai seriālajai saziņai.

Sērijas porta nosaukums ir:

  • Raspberry Pi Zero: /dev /ttyAMA0
  • Raspberry Pi 3: /dev /ttyS0

Jūs varat pārbaudīt seriālo portu, palaižot 'dmesg | grep tty 'vai' ls /dev '

Mezgls sarkans

Sarkanajā mezglā atlasiet seriālo ievades mezglu un iestatiet seriālo portu (skatiet pievienotos attēlus). Ņemiet vērā sērijveida savienojuma datu pārraides ātrumu, tam jāatbilst datu pārraides ātrumam, kā ieprogrammēts esp8266.

Sērijas mezgla izvadi pārveido funkciju mezgls, kas sadala ziņojumu pie & zīmes un iestata msg.topic un msg.payload. Funkcijas izvade tiek ievadīta mqtt izejas mezglā, kas nosūta ziņojumu uz MQTT serveri. Ņemiet vērā, ka mqtt mezgla tēmas lauks ir tukšs, jo tēma ir iestatīta ziņojumā.

Ieteicams: