Inhaltsverzeichnis:

MQTT/Google Home-Türklingel mit ESP-01 - Gunook
MQTT/Google Home-Türklingel mit ESP-01 - Gunook

Video: MQTT/Google Home-Türklingel mit ESP-01 - Gunook

Video: MQTT/Google Home-Türklingel mit ESP-01 - Gunook
Video: 🔶 Flipper Zero Fake Videos | everywhere... #shorts 2024, November
Anonim
MQTT/Google Home-Türklingel mit ESP-01
MQTT/Google Home-Türklingel mit ESP-01

Haben Sie es jemals verpasst, einem Gast zu antworten, der an Ihrer Tür klingelte, nur weil Sie sich in einem Teil des Hauses befinden, der zu weit entfernt ist, um das Klingeln zu hören? B. im Keller, im Schlafzimmer mit geschlossenen Türen, oder vielleicht haben Sie fernsehen oder Musik gehört.

Wenn Sie wie ich einen oder mehrere Google-Heimlautsprecher an mehreren Standorten in Ihrem Haus haben, kann diese Anleitung das sein, was Sie brauchen.

In diesem Instructable zeige ich Ihnen, wie Sie einen MQTT-Client zu einem vorhandenen Türklingel hinzufügen, um mit NodeRED mit dem MQTT-Broker mit Ankündigung an Google Home / Pushbullet zu kommunizieren. Dieses Projekt ersetzt weder den Türklingelschalter noch den Gong. Es verwendet immer noch einen normalen mechanischen Taster für die Türklingel.

Wir werden das ESP-01-Modul in ein bestehendes 16VAC-Türklingelsystem einfügen und die MQTT-Funktionalität hinzufügen, um eine Nachricht an den MQTT-Broker zu senden (wenn der Türklingelschalter gedrückt wird). Der MQTT-Broker würde die Nachricht an NodeRED weiterleiten. Beim Empfang einer MQTT-Nachricht würde NodeRED eine Ankündigung an mehrere Google-Heimgeräte senden und optional auch eine Nachricht per Pushbullet an das Mobiltelefon / den Browser senden.

Ich habe eine Leidenschaft für DIY-Heimautomatisierung und füge langsam IOT zu meinem Zuhause hinzu. Google Home ist eine der zentralen Funktionen meiner Hausautomation.

Mein Sohn hat mich auf die Idee zu diesem Projekt gebracht, als er mich fragte, ob ich das Google Home jedes Mal ankündigen kann, wenn jemand an unserer Tür klingelt. Wir haben 2 Stockwerke + fertiges Kellerhaus, und oft konnten wir das Glockenspiel nicht hören, wenn wir in unserem Keller oder oben im Schlafzimmer mit geschlossener Tür oder mit eingeschaltetem Fernseher waren.

Wir haben 4 Google Home Mini in unserem Haus, die an verschiedenen Orten/Räumen platziert sind, und indem wir Google Homes verwenden, um eine Türklingel anzukündigen, wissen wir sofort überall im Haus, wenn jemand an der Tür klingelt.

In meinem Haus verwende ich RaspberryPi ZeroW, um Mosquitto MQTT-Server und NodeRED zu hosten. Es läuft seit über einem Jahr ohne Probleme.

Verweise:

  • Schaltpläne für die Türklingel:
  • Installieren Sie Mosquitto MQTT Broker auf Raspberry Pi:
  • NodeRED auf Raspberry Pi installieren:

Schritt 1: Erstellen Sie die Schaltung zur Schnittstelle ESP-01 und Türgong

Erstellen Sie die Schaltung zur Schnittstelle ESP-01 und Türgong
Erstellen Sie die Schaltung zur Schnittstelle ESP-01 und Türgong
Erstellen Sie die Schaltung zur Schnittstelle ESP-01 und Türgong
Erstellen Sie die Schaltung zur Schnittstelle ESP-01 und Türgong
Erstellen Sie die Schaltung zur Schnittstelle ESP-01 und Türgong
Erstellen Sie die Schaltung zur Schnittstelle ESP-01 und Türgong

Der erste Schritt wäre, die Schaltung zu erstellen, die die Schnittstelle zwischen ESP-01 und Door Chime darstellen würde. Ein typischer Türgong wird aktiviert, wenn zwischen den Pins "TRANS (former)" und "FRONT / REAR" 16 VAC vorhanden sind, wie auf meinem ersten Foto gezeigt. Die Spannung liegt an diesen Pins an, wenn die Türklingeltaste gedrückt wird.

Die Schaltung, die ich entworfen habe, soll dieses 16-VAC-Signal erfassen und in ein digitales Signal von etwa 3,3 VDC umwandeln. Es ist ein einfacher Einweggleichrichter, der aus D1 und C1 besteht. Wir brauchen in dieser Situation keinen Vollweggleichrichter, da der DC-Ausgang sehr wenig belastet wird, was uns ein wenig Platz auf der Platine spart. Ich möchte das Brett so wenig wie möglich machen, damit ich es in mein vorhandenes Glockenspiel legen kann.

R1 und R2 bilden einen Spannungsteiler, um die Spitzengleichspannung auf etwa 3,3 V zu senken.

R3, TR1 und R4 bilden einen Inverter, um eine umgekehrte Logik für den ESP-01 GPIO-2 bereitzustellen. Dies ist notwendig, um während des Bootens (mit den Pullup-R4 und R5) logisches HIGH bereitzustellen, damit ESP-01 vom Flash booten kann. Wenn der Türklingeldruckknopf gedrückt wird, zeigt er dem GPIO-2 logisch LOW an. TR1 kann jeder kleine NPN-Leistungstransistor sein, in meinem Fall habe ich 2N3904 verwendet.

Das V1 ist ein 3,3-VDC-Netzteil, das ich mit einem alten 5-V-Handyladegerät gebaut habe, das mit dem 3,3-VDC-Regler AMS1117 gekoppelt ist, den ich im nächsten Schritt zeigen werde.

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.

Schritt 2: 3.3VDC Stromversorgung für ESP-01

3.3VDC Netzteil für ESP-01
3.3VDC Netzteil für ESP-01
3.3VDC Netzteil für ESP-01
3.3VDC Netzteil für ESP-01
3.3VDC Netzteil für ESP-01
3.3VDC Netzteil für ESP-01

In diesem Schritt bauen wir das 3,3-VDC-Netzteil für das ESP-01. Ich habe ein paar alte 500mA und 700mA 5VDC USB-Ladeadapter, die ich für dieses Projekt wiederverwendet habe. Wir brauchen auch einen 3,3-VDC-Regler, um die 5-V-Spannung auf 3,3 V zu senken. Dazu verwende ich ein billiges vorgefertigtes AMS1117-basiertes Reglermodul, das ich bei ebay gekauft habe. Sie können nach "3.3V AMS1117 module" suchen und finden, was für Sie funktioniert.

Dieses 3,3-V-Reglermodul ist sehr klein, so dass ich es tatsächlich in das ursprüngliche 5-V-USB-Ladegehäuse stecken kann, um es vor einem möglichen Kurzschluss sicherer zu machen. Ich habe die AC-Wandstifte vom Lademodul entfernt und durch zwei Kabel ersetzt, die an der Wand hinter meinem vorhandenen Gong an 120 VAC angeschlossen werden. Aber entfernen Sie die Zinken in diesem Schritt nicht, bis wir den nächsten Schritt testen.

Wenn sich eine Steckdose in der Nähe befindet oder Sie das Netzteil nicht direkt mit der Hausverkabelung verkabeln möchten, können Sie optional das modifizierte Netzteil einfach in die Steckdose stecken und die Kabel zum Gong verlegen, obwohl es sieht möglicherweise nicht so sauber aus, als wenn Sie es direkt an die Hausverkabelung anschließen.

Sehen Sie sich eines meiner Fotos an, um zu sehen, dass sich hinter meiner Glocke eine 120-VAC-Verkabelung und der 16-VAC-Transformator für die Glocke befinden.

Der Ausgang des 3,3-V-Reglers würde dann gemäß dem vorherigen Schritt mit der ESP-01-Schnittstellenkarte verbunden.

Schritt 3: 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 4: Testlauf

Testlauf
Testlauf
Testlauf
Testlauf
Testlauf
Testlauf

Ab Schritt 1 haben wir die ESP-01-Schnittstellenplatine gebaut, und ab Schritt 2 haben wir die 3,3-V-Stromversorgung für die ESP-01-Platine. Wir verbinden nun den Netzteilausgang gemäß Schaltplan mit der Platine, dargestellt als V1.

Der nächste Schritt besteht nun darin, die Türklingel-Trans/Tür-Klemmen mit den Anschlüssen der Schnittstellenplatine zu verbinden, die als "Türklingel-Klemmen" angezeigt werden. Da meine Glocke hoch an einer Wand montiert ist, verlege ich für den Testlauf vorübergehend ein langes Paar Kabel von den Glockenklemmen zur Platine, damit ich das Netzteil anschließen kann.

Um zu testen, ob unser Apparat 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.

Stecken Sie nun das Netzteil in die Steckdose, und wenn alles funktioniert, sollten Sie in wenigen Sekunden zumindest die folgende MQTT-Meldung sehen:

stat/Türklingel/LWT Online

Gehen Sie jetzt nach draußen und klingeln Sie an Ihrer Tür, und Sie sollten diese Nachricht sehen:

Tele/Türklingel EIN

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/DoorBellInfo": Diese Nachricht wird jede Minute gesendet, um Betriebszeit und andere Informationen bereitzustellen.

"cmnd/DoorBellInfo": ESP-01 sendet Informationen, wenn es dieses Thema mit dem Wert '1' (ascii=49) empfängt "cmnd/DoorBellCPUrestart": ESP-01 wird neu gestartet, wenn es dieses Thema mit dem Wert '1' empfängt ' (ascii=49)"cmnd/DoorBellCPUreset": ESP-01 wird zurückgesetzt, wenn es dieses Thema mit dem Wert '1' empfängt (ascii=49)

"tele/FrontDoorBell": ESP-01 sendet eine Nachricht in diesem Thema mit dem Wert "ON", wenn die Türklingel gedrückt wird

Schritt 5: Integration der Platine und des Netzteils in die Chime

Integration von Platine und Netzteil in das Glockenspiel
Integration von Platine und Netzteil in das Glockenspiel
Integration von Platine und Netzteil in das Glockenspiel
Integration von Platine und Netzteil in das Glockenspiel
Integration von Platine und Netzteil in das Glockenspiel
Integration von Platine und Netzteil in das Glockenspiel

Nun, da wir unseren erfolgreichen Testlauf haben, müssen wir die Platine und das Netzteil in unserer Türklingel montieren (wenn möglich). In meinem vorhandenen Glockenspiel befindet sich ein leeres Gehäuse, das ich aufschneiden und das Netzteil in diesen Raum einbauen konnte. Die ESP-01-Platine passt nicht in diesen kleinen Raum, passt aber immer noch in die gesamte Glockenbox. Ich habe gerade ein dickes doppelseitiges Klebeband verwendet, um die ESP-01-Schnittstellenplatine zu montieren.

Jetzt können wir die Metallzinken von unserem USB-Ladegerät entfernen und durch ein dickeres Kabel ersetzen, das wir an die Hausverkabelung anschließen können. Stellen Sie sicher, dass Sie Ihren Schutzschalter ausschalten, der den Stromkreis des Gongs versorgt.

Wenn nicht genügend Platz vorhanden ist, um unser Projekt in den vorhandenen Türgong zu integrieren, müssen Sie ihn in eine separate Box legen und in der Nähe des Türgongs montieren.

Schritt 6: Letzter Schliff

Letzter Schliff
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 dieses Türklingel-MQTT-Thema anzuhören/zu abonnieren und bei mehreren Google-Home-Lautsprechern anzukündigen. Darüber hinaus habe ich den Flow auch mit einem Pushbullet-Knoten verknüpft, um eine Benachrichtigung an mein Android-Telefon zu senden, damit ich weiß, ob jemand an der Tür klingelt, auch wenn ich nicht zu Hause bin. Pushbullet-Benachrichtigung ist für einige nicht nützlich, aber es war ein paar Mal ziemlich nützlich für mich, gepaart mit einer Videokamera auf meiner Veranda, kann ich sehen, wer gekommen ist, um Lieferungen abzugeben (normalerweise klingelt es an der Tür). Auf die Bewegungserkennung der Kamera kann ich mich aufgrund verschiedener Interferenzen, insbesondere sich bewegender Schatten von Bäumen, nicht sehr verlassen.

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-Hörern verbinden oder sogar IFTTT verwenden, um andere Geräte zu steuern, wenn die Türklingel gedrückt wird.

Spaß haben…

Empfohlen: