Sisukord:

ESP-NOW koduautomaatika Esp8266 Raspberry Pi MQTT: 4 sammu
ESP-NOW koduautomaatika Esp8266 Raspberry Pi MQTT: 4 sammu

Video: ESP-NOW koduautomaatika Esp8266 Raspberry Pi MQTT: 4 sammu

Video: ESP-NOW koduautomaatika Esp8266 Raspberry Pi MQTT: 4 sammu
Video: Anyone Can Send Data to Anyone | ESPNOW Many To Many Communication 2024, November
Anonim
ESP-NOW koduautomaatika Esp8266 Raspberry Pi MQTT
ESP-NOW koduautomaatika Esp8266 Raspberry Pi MQTT

Selles juhendis näitan teile, kuidas ma kasutasin ESP-NOW oma koduautomaatikas. Skeemil näete suhtlusvooge

Ma näitan teile:

  • kuidas saatja töötab
  • kuidas vastuvõtja töötab
  • kuidas töötab jadaühendus Raspberry Pi -ga

Ma ei näita, kuidas MQTT ja minu koduautomaatika töötavad, selleks võite leida muid häid juhiseid.

Autorid: see juhendatav oli inspireeritud:

Video #172, autor Andreas Spiess

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

Samm: varundamine WiFi ja MQTT kaudu

Varundamine WiFi ja MQTT kaudu
Varundamine WiFi ja MQTT kaudu

Sain teada, et ESP-NOW on äärmiselt kiire ja üsna usaldusväärne, kuid mõnikord ebaõnnestub. Oma programmi lisasin varukoopia tavalise WiFi ja MQTT-ühenduse kaudu.

2. samm: kaugjuhtimispult/saatja

Kaugjuhtimispult/saatja
Kaugjuhtimispult/saatja
Kaugjuhtimispult/saatja
Kaugjuhtimispult/saatja
Kaugjuhtimispult/saatja
Kaugjuhtimispult/saatja
Kaugjuhtimispult/saatja
Kaugjuhtimispult/saatja

Esimeses skeemis näete, kuidas saatja programm töötab:

  1. Esp8266 käivitub sisselülitamisel või lähtestamisel
  2. ESP-NOW lähtestatakse
  3. Moodul saadab ESP-NOW määratud ajaks
  4. Moodul kontrollib, kas vastuvõtja võttis ESP-NOW sõnumi tagasihelistamise funktsioonis vastu.

    1. Kui teade ESP-NOW saadi, läheb moodul väikese võimsusega sügavasse unerežiimi
    2. Kui sõnumit ESP-NOW ei saadud, käivitab moodul WiFi-ühenduse ja MQTT-ühenduse varundusühendusena.

Saatja programm on minu Githubis (Master_sender.ino). Programmid saadavad nii teema kui ka sõnumi MQTT koduautomaatika jaoks ühes kombineeritud ESP-NOW sõnumis, mis on kombineeritud "&" märgiga, et vastuvõtja saaks hõlpsalt jagada.

Tegin kaks erinevat kaugjuhtimispulti/saatjat:

Saatja 1: esp8266 on sügavas unes ja aktiveeritakse lähtestamisega. Nupu LED -tuli süttib ja tuhmub, kui moodul on valmis. Kui aku pinge on madal, vilgub LED. Kui ESP-NOW ebaõnnestus, vilgub LED enne WiFi/MQTT-ühendustele üleminekut. Esp8266 saab toidet LiPo akust koos pingeregulaatoriga HT7333 kuni 3,3 V.

Saatja 2: esp8266 lülitatakse välja ja saab toitenuppu vajutades. Tavaliselt tehakse ESP-NOW ühendus pärast nupu klõpsamist. Esp8266 saab toite otse LiPo akust. Ma ei tea, kas esp8266 saab kahjustada täislaetud aku (kuni 4,2 V) kõrgepinge tõttu, kui see on sisse lülitatud vaid mõne 100 ms jooksul. See on spetsifikatsioonidest kõrgem (3,0 - 3,6 V).

Märkus: kui aku on tühi, siis ESP-NOW ebaõnnestub.

3. samm: vastuvõtja - riistvara (esp8266 ja Raspberry Pi)

Vastuvõtja - riistvara (esp8266 ja Raspberry Pi)
Vastuvõtja - riistvara (esp8266 ja Raspberry Pi)
Vastuvõtja - riistvara (esp8266 ja Raspberry Pi)
Vastuvõtja - riistvara (esp8266 ja Raspberry Pi)
Vastuvõtja - riistvara (esp8266 ja Raspberry Pi)
Vastuvõtja - riistvara (esp8266 ja Raspberry Pi)

Vastuvõtja kirjeldus on jagatud kaheks osaks:

  1. Riistvara
  2. Tarkvara

Riistvara

Vastuvõttev esp-01 on ühendatud minu Raspberry Pi Zeroga, kus töötab minu koduautomaatikasüsteem (Openhab2) ja sõlm Red.

Skeemil on näidatud lihtsad ühendused:

  • Raspi esp-01 RX kuni TX
  • Raspi esp-01 TX kuni RX
  • GND kuni GND
  • Esp-01 VCC toiteallikaks on Raspi 3,3 V pin
  • Esp-01-l on nii RST kui ka CH_PD kõrgele tõmmatud.

Selle hõlpsaks paigaldamiseks tegin liidese pistiku

Ühel pildil näete minu juhtmeühendusi minu Raspberry Pi 3 -ga (millel on sama pistikupesa, kuid CH_PD -ga ühendamiseks kasutasin teist 3,3 V pinti).

Esp-01 programmeeriti, nagu on näidatud minu teises juhendis (vt samm 3).

Samm 4: vastuvõtja - tarkvara (jada, punane sõlm, MQTT)

Vastuvõtja - tarkvara (jada, punane sõlm, MQTT)
Vastuvõtja - tarkvara (jada, punane sõlm, MQTT)
Vastuvõtja - tarkvara (jada, punane sõlm, MQTT)
Vastuvõtja - tarkvara (jada, punane sõlm, MQTT)
Vastuvõtja - tarkvara (jada, punane sõlm, MQTT)
Vastuvõtja - tarkvara (jada, punane sõlm, MQTT)

Programm esp8266

Vastuvõtja esp-01 programm on minu Githubis (Master_sender.ino). Programm on tõesti lihtne, see prindib Raspberry Pi-le ainult jadapordist saadud ESP-NOW sõnumi.

Jadaport

Raspberry Pi-s peate normaalse jadakommunikatsiooni jaoks aktiveerima jadapordi (raspbianis käivitage 'sudo raspi-config').

Jadaporti nimi on:

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

Saate jadaporti kontrollida, käivitades 'dmesg | grep tty 'või' ls /dev '

Sõlm punane

Valige punases sõlmes jadasisendi sõlm ja seadistage jadapord (vt lisatud pilte). Pange tähele jadaühenduse edastuskiirust, see peab ühtima andmeedastuskiirusega, nagu on programmeeritud esp8266 -s.

Jadasõlme väljundi muudab funktsioonisõlm, mis jagab sõnumi märgi '&' järgi ja määrab sõnumid msg.topic ja msg.payload. Funktsiooni väljund suunatakse mqtt väljundsõlmesse, mis saadab sõnumi MQTT serverile. Pange tähele, et mqtt sõlme teemaväli on tühi, kuna teema on sõnumis määratud.

Soovitan: