Indholdsfortegnelse:

ESP-NU Hjemmeautomatisering Esp8266 Raspberry Pi MQTT: 4 trin
ESP-NU Hjemmeautomatisering Esp8266 Raspberry Pi MQTT: 4 trin

Video: ESP-NU Hjemmeautomatisering Esp8266 Raspberry Pi MQTT: 4 trin

Video: ESP-NU Hjemmeautomatisering Esp8266 Raspberry Pi MQTT: 4 trin
Video: Next Videos - ESP32 Development Board (Web Server Project) 2024, November
Anonim
ESP-NU Hjemmeautomatisering Esp8266 Raspberry Pi MQTT
ESP-NU Hjemmeautomatisering Esp8266 Raspberry Pi MQTT

I denne Instructable viser jeg dig, hvordan jeg brugte ESP-NU i min hjemmeautomatisering. I skematikken kan du se kommunikationsstrømmene

Jeg viser dig:

  • hvordan afsenderen fungerer
  • hvordan modtageren fungerer
  • hvordan seriel kommunikation med en Raspberry Pi fungerer

Jeg viser ikke, hvordan MQTT og min hjemmeautomatisering fungerer, det kan du finde andre gode instruktioner til.

Credits: This Instructable blev inspireret af:

Video #172 af Andreas Spiess

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

Trin 1: Sikkerhedskopier via WiFi og MQTT

Backup via WiFi og MQTT
Backup via WiFi og MQTT

Jeg fandt ud af, at ESP-NU er ekstremt hurtig og ganske pålidelig, men nogle gange mislykkes. I mit program tilføjede jeg en backup via normal WiFi og MQTT-forbindelse.

Trin 2: Fjernbetjeningen/afsenderen

Fjernbetjeningen/afsenderen
Fjernbetjeningen/afsenderen
Fjernbetjeningen/afsenderen
Fjernbetjeningen/afsenderen
Fjernbetjeningen/afsenderen
Fjernbetjeningen/afsenderen
Fjernbetjeningen/afsenderen
Fjernbetjeningen/afsenderen

I det første skema ser du, hvordan afsenderens program fungerer:

  1. Esp8266 starter ved opstart eller nulstilling
  2. ESP-NU initialiseres
  3. Modulet sender ESP-NU i en defineret tid
  4. Modulet kontrollerer, om ESP-NOW-meddelelsen blev modtaget af modtageren i en tilbagekaldsfunktion.

    1. Hvis ESP-NOW-meddelelsen blev modtaget, går modulet i en lav strømspejl
    2. Hvis ESP-NOW-meddelelsen ikke blev modtaget, starter modulet en WiFi-forbindelse og en MQTT-forbindelse som en backup-forbindelse.

Programmet til afsenderen er i mit Github (Master_sender.ino). Programmerne sender både emnet og beskeden til MQTT-hjemmeautomatisering i én kombineret ESP-NU-meddelelse, kombineret med et '&' -tegn for let opdeling ved modtageren.

Jeg lavede to forskellige fjernbetjeninger/afsendere:

Afsender 1: esp8266 er i dyb søvn og aktiveres ved en nulstilling. Lysdioden i knappen lyser og dæmpes, når modulet er færdigt. Hvis spændingen på batteriet er for lav, blinker lysdioden. Hvis ESP-NOW mislykkedes, blinker lysdioden, før den skifter til WiFi/MQTT-forbindelser. Esp8266 drives af et LiPo -batteri med en HT7333 spændingsregulator til 3,3V

Afsender 2: esp8266 slukkes og tændes ved at trykke på knappen. Normalt foretages ESP-NU-forbindelsen efter knappen 'klikker'. Esp8266 får strøm direkte fra et LiPo -batteri. Jeg ved ikke, om esp8266 bliver beskadiget af højspændingen på et fuldt opladet batteri (op til 4,2 V), når det er tændt på blot et par 100 ms. Det er højere end specifikationerne (3.0 - 3.6V).

Bemærk: Hvis batteristrømmen er lav, mislykkes ESP-NU.

Trin 3: Modtageren - hardware (esp8266 og Raspberry Pi)

Modtageren - hardware (esp8266 og Raspberry Pi)
Modtageren - hardware (esp8266 og Raspberry Pi)
Modtageren - hardware (esp8266 og Raspberry Pi)
Modtageren - hardware (esp8266 og Raspberry Pi)
Modtageren - hardware (esp8266 og Raspberry Pi)
Modtageren - hardware (esp8266 og Raspberry Pi)

Modtagerens beskrivelse er delt i to dele:

  1. Hardware
  2. Software

Hardwaren

Den modtagende esp-01 er forbundet til min Raspberry Pi Zero, der kører mit hjemmeautomatiseringssystem (Openhab2) og Node Red.

I skematikken er de enkle forbindelser vist:

  • RX af esp-01 til TX af RasPi
  • TX af esp-01 til RX af RasPi
  • GND til GND
  • Esp-01 VCC drives af 3.3V pin på Raspi
  • På esp-01 trækkes både RST og CH_PD højt.

Jeg lavede et interface -stik for let at montere det

På et billede kan du se mine ledningsforbindelser til min Raspberry Pi 3 (som har samme pinout, men jeg brugte en anden 3.3V pin til at oprette forbindelse til CH_PD).

Esp-01 blev programmeret som vist i min anden instruerbare (se trin 3).

Trin 4: Modtageren - Software (Serial, Node Red, MQTT)

Modtageren - Software (Serial, Node Red, MQTT)
Modtageren - Software (Serial, Node Red, MQTT)
Modtageren - Software (Serial, Node Red, MQTT)
Modtageren - Software (Serial, Node Red, MQTT)
Modtageren - Software (Serial, Node Red, MQTT)
Modtageren - Software (Serial, Node Red, MQTT)

Program på esp8266

Programmet for esp-01-modtageren er i min Github (Master_sender.ino). Programmet er virkelig simpelt, det udskriver kun den modtagne ESP-NOW-besked på den serielle port til Raspberry Pi.

Serie Port

På Raspberry Pi skal du aktivere den serielle port (på raspbian, udføre 'sudo raspi-config') for normal seriel kommunikation.

Navnet på den serielle port er:

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

Du kan kontrollere den serielle port ved at køre 'dmesg | grep tty 'eller' ls /dev '

Knude rød

I Node Red skal du vælge den serielle inputknude og konfigurere den serielle port (se de vedhæftede billeder). Bemærk baudhastigheden for den serielle forbindelse, denne skal stemme overens med baudrate som programmeret i esp8266.

Outputtet fra den serielle node transformeres af en funktionsnode, der deler meddelelsen ved '&' - tegnet og indstiller msg.topic og msg.payload. Funktionens output ledes ind til mqtt -outputnoden, der sender meddelelsen til MQTT -serveren. Bemærk, at emnefeltet i mqtt -noden er tomt, fordi emnet er angivet i meddelelsen.

Anbefalede: