Inhaltsverzeichnis:
- Schritt 1: Teile, die Sie benötigen
- Schritt 2: Schaltplan
- Schritt 3: Aufbau der Schaltung
- Schritt 4: Flashen des ESP-01
- Schritt 5: Testlauf
- Schritt 6: Montieren Sie den Sensor
- Schritt 7: Letzter Schliff
Video: MQTT/Google Home Flood/Water WIFI Sensor mit ESP-01 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
In diesem anweisbaren zeige ich Ihnen, wie man einen WLAN-Flut- / Wassersensor mit minimalen Kosten baut. Das ganze Projekt kostet mich weniger als $8 für Teile, die ich von ebay erhalte und meine vorhandenen Ersatzteile.
In diesem Projekt werden wir ESP-01 verwenden, um einen Wifi- und MQTT-Client bereitzustellen, um das Vorhandensein von Wasser zu erkennen, und optional einen direkt angeschlossenen Lautsprecher/Summer verwenden, um einen lokalisierten Alarm bereitzustellen.
Meine spezifische Anwendung für das Projekt ist die Erkennung von Überschwemmungen / Wasser in meinem Sumpfpumpenbrunnen im Falle eines Sumpfpumpenausfalls. Wenn Wasser von 2 offenen Drähten erkannt wird, sendet es eine Nachricht an den MQTT-Broker. Der MQTT-Broker leitet die Nachricht dann an NodeRED weiter. Beim Empfang einer MQTT-Nachricht sendet NodeRED eine Ankündigung an mehrere Google-Heimgeräte und optional auch eine Nachricht per Pushbullet an das Mobiltelefon / den Browser
Jetzt würde dieses Projekt natürlich nur funktionieren, wenn der Strom zu Hause eingeschaltet ist. Im nächsten anweisbaren werde ich die Batterie-Backup-Schaltung integrieren. Aber wenn Sie die Stromversorgung auf die gleiche Weise wie ich machen, können Sie einfach eine USB-Powerbank für die Batteriesicherung anschließen. Wenn Sie eine Powerbank haben, mit der Sie gleichzeitig laden und Strom liefern können, dann sind Sie fertig.
Ich verwende RaspberryPi ZeroW, um Mosquitto MQTT-Server und NodeRED zu hosten. Es läuft seit über einem Jahr ohne Probleme.
Referenzen:Raspberry Pi:https://www.switchdoc.com/2016/02/tutorial-installi…NodeRED auf Raspberry Pi installieren:
Schritt 1: Teile, die Sie benötigen
Liste der Einzelteile:
(1) ESP-01
(2) 10K Ohm Widerstand
(1) Kleinsignalgenerischer NPN-Transistor (ich habe 2N3904) verwendet
(2) lange Drähte
(1) 5V generische Stromversorgung (diese Schaltung benötigt weniger als 300mA Strom)
(1) 3.3V Reglermodul AMS1117
(1) Micro-USB zu DIP Adapter Buchse PCB Converter DIY Kit
(1) USB-A-zu-MicroUSB-Kabel.
(1) 8-poliger IC-Sockel - kann entfallen, wenn Sie ESP-01 direkt auf die Platine löten möchten. Schneiden Sie die Plastikbrücken, die die Lücke zwischen den Reihen bilden, und kleben Sie dann die 2 Reihen zusammen, siehe Foto.
(1) Kleines Gehäuse für das Projekt
Unten sind optionale Teile, wenn Sie einen lokalisierten Alarm mit Lautsprecher/Summer benötigen
(1) Generic PNP Transistor, wählen Sie je nach Lautsprecher-/Summerstrom-/Wattleistungsanforderung. In meinem Fall verwende ich 2N2907, da mein Lautsprecher nur 0,3 W (8 Ohm) hat, es würde genug Leistung liefern, um den Lautsprecher anzutreiben. Sie können einen größeren Transistor und einen größeren Lautsprecher wählen, wenn Sie einen lauteren Klang wünschen.
(1) Lautsprecher, siehe Hinweis zum PNP-Transistor oben
(1) 100 - 110 Ohm Widerstand
Schritt 2: Schaltplan
Der erste Schritt wäre, die im Diagramm gezeigte Schaltung zu erstellen.
Ich habe das 3,3-VDC-Netzteil mit einem alten 5-V-Handyladegerät gebaut, das mit dem 3,3-VDC-Regler AMS1117 gekoppelt ist. Für den ESP-01-Sockel verwende ich einen 8-poligen Standard-IC-Sockel und schneide die Kunststoffbrücken, die die Lücke zwischen den Reihen erzeugen, und klebe dann die 2 Reihen zusammen.
Die Schaltung, die ich entworfen habe, soll das Vorhandensein von Wasser zwischen den beiden Drähten erkennen. Wenn Wasser die Spitze beider Drähte erreicht, würde es einen Widerstand von ungefähr 10K bis 20K Ohm erzeugen. Dann in Reihe mit dem 10K Ohm R1 liefert es einen kleinen Strom an die Basis von Q1, wodurch Q1 gesättigt wird, wodurch der GPIO-2 an Masse geklemmt wird. R1 ist erforderlich, um Q1 zu schützen, falls ein versehentlicher Kurzschluss an den Sensordrähten auftritt.
R2 ist ein Pull-Up-Widerstand, damit ESP-01 vom Flash booten kann.
Nun zum optionalen Lautsprecher/Summer: Wenn Sie ESP-01 nur zum Sprechen von MQTT benötigen und diese lokalisierte Alarmierung nicht implementieren möchten, können Sie R2, Q2, Lautsprecher entfernen und einen 10K-Pull-up-Widerstand zwischen GPIO-0. platzieren und VCC.
Wenn Sie keine Notwendigkeit für die Verwendung des Micro-USB-zu-DIP-Adapters haben, können Sie Drähte zwischen dem 5V-PS und dem 3.3V-Reglermodul anlöten. Ich bevorzuge die Verwendung des weiblichen MicroUSB-Adapters, damit ich jedes generische Handy-Ladegerät und MicroUSB-Kabel verwenden kann.
Schritt 3: Aufbau der Schaltung
Löten Sie alle Komponenten und Teile gemäß dem Schaltplan auf der vorherigen Seite in die Leiterplatte ein und schneiden Sie die Leiterplatte zu.
Platzieren Sie die Platine in einem Gehäuse, das in die Platine und den optionalen Lautsprecher passt. In meinem Fall würden alle Teile in eine kleine Telefondose passen, obwohl ich die Abdeckung etwas erwärmen muss, um eine Ausbuchtung zu erzeugen, damit das ESP-01-Modul passt.
Schritt 4: Flashen des ESP-01
In diesem Schritt werden wir das ESP-01 mit Arduino-Skizze flashen. Wenn Sie das ESP-01-Modul noch nie geflasht haben, können Sie meinem instructable folgen, um Ihnen den Einstieg zu erleichtern:
Meine Skizze findet ihr auf meiner Github-Seite:
In der Skizze müssen Sie mindestens die folgenden Informationen zu Ihrem Heimnetzwerk/Setup ändern:
#define MQTT_SERVER "10.0.0.30"const char* ssid1 = "SSID";const char* password1 = "MYSSIDpassword";const char* ssid2 = "SSID1";const char* password2 = "MYSSIDpassword";
In meinem Heimnetzwerk habe ich 2 verschiedene Zugangspunkte, die 2 verschiedene SSIDs übertragen, und diese Skizze würde Redundanz ermöglichen, indem eine Verbindung zur nächsten SSID hergestellt wird, wenn die Kommunikation zum aktuellen AP verloren geht. Wenn Sie nur eine SSID haben, füllen Sie sowohl ssid1 als auch ssid2 mit demselben Wert aus.
Sobald Sie die Änderung vorgenommen haben, laden Sie die Skizze in ESP-01 hoch und stecken Sie das ESP-01 in die Schnittstellenplatine ein.
Schritt 5: Testlauf
Um zu testen, ob unser Projekt funktioniert, wäre es am einfachsten, MQTT-Nachrichten im Netzwerk zu überwachen. Dazu müssen Sie eine SSH-Sitzung zum Mosquitto-Broker öffnen und den folgenden Befehl ausführen:
mosquitto_sub -v -t '#'
Der obige Befehl würde es uns ermöglichen, alle MQTT-Nachrichten zu sehen, die in den Broker eingehen.
Schalten Sie nun unsere Schaltung ein, und wenn alles funktioniert, sollten Sie in wenigen Sekunden zumindest die folgende MQTT-Nachricht sehen:
stat/SumpfWasserSensor/LWT Online
Testen Sie nun den Wassersensor, indem Sie die 2 Sensordrähte in eine Tasse Wasser tauchen, und Sie sollten diese Meldung sehen:
tele/SumpfWasserSensor WET
Und wenn Sie die Drähte aus dem Wasser nehmen, sollten Sie diese Meldung sehen:
tele/SumpfWasserSensor DRY
Wenn Sie diese Meldungen sehen, ist Ihr Projekt ein Erfolg.
Ich habe auch einige nützliche MQTT-Themen in die Skizze aufgenommen, die Sie verwenden können:
"stat/SumpWaterSensorInfo": Diese Nachricht wird jede Minute gesendet, um Betriebszeit und andere Informationen bereitzustellen.
"cmnd/SumpWaterSensorInfo": ESP-01 sendet Informationen, wenn es dieses Thema mit dem Wert '1' (ascii=49) empfängt
"cmnd/SumpWaterSensorCPRestart": ESP-01 wird neu gestartet, wenn es dieses Thema mit dem Wert '1' (ascii=49) empfängt
"cmnd/SumpWaterSensorBeep": ESP-01 lässt den Lautsprecher ertönen, wenn er dieses Thema mit dem Wert '1' (ascii=49) empfängt.
"cmnd/SumpWaterSensorBeepFreq": Legt die Frequenz des Lautsprecheralarms fest, Standard = 900 (Hz)
"cmnd/SumpWaterSensorDebug": Aktivieren und Festlegen des seriellen Debug-Levels (Standard ist 0 - kein Debuggen)
Schritt 6: Montieren Sie den Sensor
In meiner Anwendung möchte ich den Wasserstand in meinem Sumpfpumpenbrunnen überwachen und mich benachrichtigen, wenn Wasser über den Schwimmerschalter der Sumpfpumpe gelangt, was bedeutet, dass meine Sumpfpumpe nicht funktioniert. Ich habe die Drähte verlegt und Kabelbinder verwendet, um sie entlang des Abflussrohrs zu befestigen.
Schritt 7: Letzter Schliff
Jetzt, da wir das Projekt zum Laufen gebracht haben und in der Lage sind, MQTT-Nachrichten an den Broker zu veröffentlichen, besteht der nächste Schritt darin, sich eine Idee zu überlegen, was damit zu tun ist.
In meinem Projekt verwende ich Node-RED, um das MQTT-Thema "tele/SumpWaterSensor" anzuhören / zu abonnieren und mehreren Google-Home-Lautsprechern anzukündigen, wenn Wasser erkannt wird. Darüber hinaus habe ich den Flow auch mit einem Pushbullet-Knoten verknüpft, um Benachrichtigungen an mein Android-Telefon zu senden.
Ich habe auch ein Web-Front-End erstellt, um den Status des Sensors zu sehen (on/offline, Betriebszeit usw.). Manchmal habe ich gesehen, dass es im Laufe einer Woche einige Male offline geht, aus den Statistiken, oft liegt es daran, dass ESP-01 vom WLAN oder MQTT getrennt wurde. Aber keine Sorge, mein Sketch hat eine Routine zum Neustart des ESP-01 enthalten, wenn es weiterhin fehlschlägt, eine Verbindung zu WIFI und / oder MQTT-Broker herzustellen.
Das Bild in diesem Schritt zeigt den Node-RED-Flow, um dies zu erreichen. Sie können den Flow auch von meiner Github-Seite in Ihr Node-RED einfügen:
Die Google Home-Ankündigung ist nur ein Beispiel für dieses Projekt, aber ich denke, es ist das nützlichste und praktischste. Sie können sich jederzeit mit anderen MQTT-Listenern verbinden oder sogar IFTTT verwenden, um andere Geräte anzusteuern, wenn Wasser erkannt wird.
Spaß haben…
Empfohlen:
Smart Home mit Arduino MKR1000 und M.I.T. Android-App: 4 Schritte
Smart Home mit Arduino MKR1000 und M.I.T. Android App: In diesem Tutorial beschreibe ich, wie Sie mit wenigen Komponenten Ihr Smart Home verbessern können. (Massachusetts Institu
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: 8 Schritte (mit Bildern)
So bauen Sie Ihr eigenes Anemometer mit Reed-Schaltern, Hall-Effekt-Sensor und einigen Schrott auf Nodemcu. - Teil 1 - Hardware: EinführungSeit ich mit dem Studium von Arduino und der Maker-Kultur begonnen habe, habe ich gerne nützliche Geräte aus Schrott- und Schrottstücken wie Kronkorken, PVC-Stücken, Getränkedosen usw. gebaut. Ich liebe es, eine Sekunde zu geben Leben für jedes Stück oder jeden Kumpel
Google Home Mini nachrüsten: 4 Schritte (mit Bildern)
Ein Google Home Mini nachrüsten: Geben Sie Ihrem digitalen Assistenten einen analogen Stil, indem Sie ihn in einen alten Kassettenspieler oder ein Radio nachrüsten! In diesem Instructable werde ich Sie durch die Installation eines neuen Google Home Mini in einem alten Tech führen Kassettenspieler aus den 1980er Jahren. Warum würdest du
Knoten-MCU mit 4-Port-Relaismodul, Blynk-App, IFTTT und Google Home. Gewinn?: 5 Schritte
Knoten-MCU mit 4-Port-Relaismodul, Blynk-App, IFTTT und Google Home. Profit?: In diesem Beitrag dreht sich alles darum, wie Sie Google Home mit NodeMCU und der blynk-App verbinden. Sie können Ihre Geräte mit einem einfachen blynk-gesteuerten NodeMCU-Schalter und Google Assistant steuern. Also los, Ok Google.. Schalten Sie das Ding ein
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: 4 Schritte (mit Bildern)
ESP8266/ESP-12 Arduino Powered SmartThings DS18B20 Temp. Sensor: Wir alle möchten gerne wissen, wie die aktuelle Raumtemperatur ist und manchmal auch die Temperatur in einem anderen Raum oder vielleicht sogar in Ihrem Ferienhaus am anderen Ende der Welt. Vielleicht möchten Sie die Temperatur im Haus Ihres Haustiers Eidechse überwachen