Innehållsförteckning:

ESP-NU Hemmautomation Esp8266 Raspberry Pi MQTT: 4 steg
ESP-NU Hemmautomation Esp8266 Raspberry Pi MQTT: 4 steg

Video: ESP-NU Hemmautomation Esp8266 Raspberry Pi MQTT: 4 steg

Video: ESP-NU Hemmautomation Esp8266 Raspberry Pi MQTT: 4 steg
Video: ESPNU SEC Football Theme 2024, November
Anonim
ESP-NU Hemmautomation Esp8266 Raspberry Pi MQTT
ESP-NU Hemmautomation Esp8266 Raspberry Pi MQTT

I denna instruktionsbok visar jag dig hur jag använde ESP-NU i min hemautomation. I schemat kan du se kommunikationsflödena

Jag visar dig:

  • hur avsändaren fungerar
  • hur mottagaren fungerar
  • hur seriekommunikationen med en Raspberry Pi fungerar

Jag visar inte hur MQTT och min hemautomation fungerar, du kan hitta andra bra instruktioner för det.

Credits: This Instructable inspirerades av:

Video #172 av Andreas Spiess

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

Steg 1: Säkerhetskopiera via WiFi och MQTT

Säkerhetskopiering via WiFi och MQTT
Säkerhetskopiering via WiFi och MQTT

Jag fick reda på att ESP-NU är extremt snabbt och ganska pålitligt, men ibland misslyckas. I mitt program lade jag till en säkerhetskopia via vanlig WiFi och MQTT-anslutning.

Steg 2: Fjärrkontrollen/avsändaren

Fjärrkontrollen/avsändaren
Fjärrkontrollen/avsändaren
Fjärrkontrollen/avsändaren
Fjärrkontrollen/avsändaren
Fjärrkontrollen/avsändaren
Fjärrkontrollen/avsändaren
Fjärrkontrollen/avsändaren
Fjärrkontrollen/avsändaren

I det första schemat ser du hur avsändarens program fungerar:

  1. Esp8266 startar vid uppstart eller från återställning
  2. ESP-NU initieras
  3. Modulen skickar ESP-NU under en bestämd tid
  4. Modulen kontrollerar om ESP-NOW-meddelandet mottogs av mottagaren i en återuppringningsfunktion.

    1. Om ESP-NOW-meddelandet mottogs, går modulen i djupt sömn med låg effekt
    2. Om ESP-NOW-meddelandet inte mottogs startar modulen en WiFi-anslutning och en MQTT-anslutning som en backup-anslutning.

Programmet för avsändaren finns i min Github (Master_sender.ino). Programmen skickar både ämnet och meddelandet för MQTT-hemautomatisering i ett kombinerat ESP-NU-meddelande, kombinerat med ett & -skylt för enkel uppdelning på mottagaren.

Jag gjorde två olika fjärrkontroller/avsändare:

Avsändare 1: esp8266 ligger i djup sömn och aktiveras genom en återställning. Lysdioden i knappen tänds och dimmas när modulen är klar. Om batteriets spänning är för låg blinkar lysdioden. Om ESP-NOW misslyckades blinkar lysdioden innan du byter till WiFi/MQTT-anslutningar. Esp8266 drivs från ett LiPo -batteri med en HT7333 spänningsregulator till 3,3V

Avsändare 2: esp8266 är avstängd och drivs genom att trycka på knappen. Normalt görs ESP-NU-anslutningen efter knappen "klickar". Esp8266 drivs direkt från ett LiPo -batteri. Jag vet inte om esp8266 skadas av högspänningen på ett fulladdat batteri (upp till 4,2 V) när den slås på bara några 100 ms. Det är högre än specifikationerna (3,0 - 3,6V).

Obs! Om batterinivån är låg, misslyckas ESP-NOW.

Steg 3: Mottagaren - hårdvara (esp8266 och Raspberry Pi)

Mottagaren - hårdvara (esp8266 och Raspberry Pi)
Mottagaren - hårdvara (esp8266 och Raspberry Pi)
Mottagaren - hårdvara (esp8266 och Raspberry Pi)
Mottagaren - hårdvara (esp8266 och Raspberry Pi)
Mottagaren - hårdvara (esp8266 och Raspberry Pi)
Mottagaren - hårdvara (esp8266 och Raspberry Pi)

Mottagarens beskrivning är uppdelad i två delar:

  1. Hårdvara
  2. programvara

Hårdvaran

Den mottagande esp-01 är ansluten till min Raspberry Pi Zero som driver mitt hemautomatiseringssystem (Openhab2) och Node Red.

I schemat visas de enkla anslutningarna:

  • RX för esp-01 till TX för RasPi
  • TX av esp-01 till RX för RasPi
  • GND till GND
  • Esp-01 VCC drivs av 3.3V-stiftet på Raspi
  • På esp-01 dras både RST och CH_PD högt.

Jag gjorde en gränssnittskontakt för att enkelt montera den

På en bild kan du se mina trådanslutningar till min Raspberry Pi 3 (som har samma pinout, men jag använde en annan 3.3V pin för att ansluta till CH_PD).

Esp-01 programmerades som visat i min andra instruerbara (se steg 3).

Steg 4: Mottagaren - Programvara (Serial, Node Red, MQTT)

Mottagaren - Programvara (Serial, Node Red, MQTT)
Mottagaren - Programvara (Serial, Node Red, MQTT)
Mottagaren - Programvara (Serial, Node Red, MQTT)
Mottagaren - Programvara (Serial, Node Red, MQTT)
Mottagaren - Programvara (Serial, Node Red, MQTT)
Mottagaren - Programvara (Serial, Node Red, MQTT)

Program på esp8266

Programmet för esp-01-mottagaren finns i min Github (Master_sender.ino). Programmet är verkligen enkelt, det skriver bara ut det mottagna ESP-NOW-meddelandet på serieporten till Raspberry Pi.

Serieport

På Raspberry Pi måste du aktivera Serial Port (på raspbian, köra 'sudo raspi-config') för normal seriell kommunikation.

Namnet på den seriella porten är:

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

Du kan kontrollera den seriella porten genom att köra 'dmesg | grep tty 'eller' ls /dev '

Nod Röd

I nodröd väljer du den seriella ingångsnoden och ställer in den seriella porten (se bifogade bilder). Observera baudhastigheten för den seriella anslutningen, den måste matcha baudhastigheten som programmerats i esp8266.

Utgången från den seriella noden transformeras av en funktionsnod som delar meddelandet vid '&' - tecknet och anger msg.topic och msg.payload. Funktionens utmatning leds in till mqtt -utmatningsnoden som skickar meddelandet till MQTT -servern. Observera att ämnesfältet för mqtt -noden är tomt, eftersom ämnet är inställt i meddelandet.

Rekommenderad: