Inhaltsverzeichnis:

ForgetMeNot - Smart Home-Benachrichtigungsplattform - Gunook
ForgetMeNot - Smart Home-Benachrichtigungsplattform - Gunook

Video: ForgetMeNot - Smart Home-Benachrichtigungsplattform - Gunook

Video: ForgetMeNot - Smart Home-Benachrichtigungsplattform - Gunook
Video: Smart Junior 1 Module 2 Відео до уроків 2024, Juli
Anonim
ForgetMeNot - Smart Home-Benachrichtigungsplattform
ForgetMeNot - Smart Home-Benachrichtigungsplattform

Als vielbeschäftigte College-Studenten, die zwischen Unterricht, Job und familiären Verpflichtungen herumlaufen, neigen wir dazu, die kleinen Dinge zu vergessen. Ein Geburtstag kommt und geht, ohne dass wir es merken, ein wichtiger Termin wird aus purer Vergesslichkeit verpasst und manchmal, nur manchmal, bricht ein Feuer aus und brennt Ihr Zimmer nieder, weil Sie die Heizung vergessen haben.

Keine Sorge, liebe Freunde - wir kommen zur Rettung.

ForgetMeNot ist eine Smart-Home-Benachrichtigungsplattform, die aus einem echten Bedürfnis in unserem täglichen Leben entstanden ist (und, wenn wir ganz ehrlich sind, ein wenig von einem Abschlussprojekt in einem Informatikunterricht angetrieben wird).

Im Wesentlichen ist es eine Kombination aus Hardware und Software. Es stellt sicher, dass Sie sich der Dinge bewusst sind (und handeln können!), die Sie beim Verlassen des Hauses vergessen haben.

Remixen?

Während wir nur wenige Sensoren (Dinge, die beobachten) und Aktivatoren (Dinge, die tun) verwenden, eignet sich die Allgemeinheit jeder Komponente für verschiedene Anwendungsfälle mit minimalen Hardware- und Softwareänderungen. Lass es uns wissen, wenn du einen Teil (oder alles!) des Projekts remixt hast - wir sind verrückt nach Collabs!

Wer?

Stolz erstellt von (einer Teilmenge von) Team Red Panda von IDC Herzliya im McCann Valley, Mizpe Ramon. Ein buchstäblicher Dank geht an Zvika Markfeld von ForRealTeam, dass sie mit uns in die Wüste gegangen ist, um mitten im schönsten Teil unseres Landes erstaunliche Dinge zu bauen.

Besonderer Dank

An die Leute von Random Nerd Tutorials für ihren endlosen Fluss interessanter, neuer Konzepte, die wir mit Node-RED und unseren ESP8266s speziell hier testen können.

Lieferungen

Woah, so viele Sachen…

Dies ist ein ziemlich umfangreiches Projekt, und wir haben einige frühe Designentscheidungen hinsichtlich der von uns verwendeten Hardware, Software und anderen Extras getroffen.

Obwohl wir die folgende Liste empfehlen, wenn Sie vorhaben, mitzumachen, können viele Teile gegen leichter erhältliche Artikel ausgetauscht werden. Ein Beispiel sind die WeMos-Boards - egal welche billige Version des Boards Sie herumsitzen, Sie könnten es wahrscheinlich zum Laufen bringen, ohne viele Änderungen vorzunehmen.

Ein Beispiel der anderen Art ist das Gehäuse für das Smart Outlet. Obwohl sie hübsch und robust ist, reicht jede (nicht aus Metall bestehende) Schachtel. Wir hatten zufällig Zugang zu einem Laserschneider, und jeder, der Zugang zu einem Laserschneider hat, hat plötzlich viele, viele Verwendungen für das Laserschneiden. ALL DIE DINGE. Gleiches gilt für unsere 3D-gedruckten Teile.

Also - rocken Sie einfach Ihre eigene Ausrüstung und hinterlassen Sie unten einen Kommentar, wenn Sie Hilfe beim Ersetzen eines Teils durch ein anderes benötigen.

Mikrocontroller, Boards und Shields

  • 4 x ESP8266-Boards (wir haben von LoLin hergestellte WeMos D1-Minis verwendet)
  • 1 x D1 Mini-Relaisschild
  • 1 x L293N Hbridge (verwendet für die DC-Engine des Türaktivators)

Leistung

  • 50 x Überbrückungskabel im Arduino-Stil (je nach verwendetem Board benötigen Sie möglicherweise mehr weiblich-männlich oder mehr männlich-männlich. Holen Sie sich einfach ein paar von jedem, sie sind immer praktisch) - beachten Sie, dass einige von ihnen dies tun werden für den Türaktivator abisoliert werden
  • 3 x 10 Ohm Widerstände
  • 1 x Xuanshi XS-XB6 16A ~250V max. 3500W Steckdosenleiste + Verlängerungskabel (jedes Verlängerungskabel + Splitter für 220V-Steckdosen sollte reichen) - beachten Sie, dass es für das Smart Outlet abisoliert wird
  • 3 x Micro-USB-Kabel
  • 3 x USB-Ladegeräte
  • 1 x DY-0120200 (Eingang: 100-240V, 50-60Hz Ausgang: 12V---2A) AC/DC-Adapter mit DC-Steckerkopf (oder gleichwertiger Adapter)
  • 1 x weibliche DC-Buchse
  • 1 x 220V auf 5V Transformator (zur Stromversorgung des Smart Outlet Boards direkt aus der Steckdosenleiste, ohne zusätzliche Stromquelle)

Sensoren

  • 1 x LDR-Lichtsensor
  • 1 x Reed-Relais (als Sensor für das Fenster)
  • 1 x DHT-Temperatursensor

Motoren

  • 1 x Gleichstrommotor (wir haben einen kernlosen Metallbürstenmotor verwendet, aber jeder Motor, der zu Ihrem 3D-gedruckten Türbetätigergehäuse passt, ist ausreichend)
  • 1 x Servomotor (jede Größe ist wahrscheinlich ausreichend, aber stellen Sie sicher, dass Sie einen stark genug verwenden, um den erforderlichen Schalter umzulegen)

Lasergeschnittene Teile

1 x Smart-Outlet-Box

3D-gedruckte Teile

1 x Türbetätigergehäuse

Handy

Dieses Tutorial wurde für Android-Telefone entwickelt, und im Moment scheint Integromat keine iOS-Geräte zu unterstützen. Daher erfordert dieses anweisbare leider ein Android-Telefon.

Software

  • Arduino IDE (Integrated Development Environment - im Grunde ein ausgefallener Code-Editor)

    • Lassen Sie Ihr Board in die IDE laden, um es einfach hochzuladen
    • Siehe beigefügte Skizzen für alle relevanten Bibliotheken
  • Node-RED-Integrationsplattform

    Wir verwenden hauptsächlich Stock-Nodes, mit wenigen Ausnahmen - siehe angehängter Ablauf für alle relevanten Nodes

  • Integromat.com (Service-Connector, der die Verknüpfung mehrerer Dienste miteinander ermöglicht - in unserem Fall und Android-App und unserem Node-RED-Server)

    Wir haben die kostenlose Stufe genutzt, die für die tägliche Nutzung der Plattform ausreichen sollte

  • PushBullet.com (Push-Benachrichtigungsdienst)

    Wir haben die kostenlose Version verwendet, die für den täglichen Gebrauch der Plattform ausreichen sollte

  • ngrok (sicherer Tunneldienst)

    Wir verwenden diese kostenlose Tunneling-Software, um einen Link von unserem lokal ausgeführten Dashboard zur Welt bereitzustellen, sodass wir über eine URL in der Push-Benachrichtigung auf das Dashboard zugreifen können

  • Mosquitto MQTT Broker

    MQTT ist ein Protokoll, das verwendet wird, um Nachrichten zwischen unseren verbundenen Geräten und Node-RED zu übertragen. Da Node-RED keinen eingebauten MQTT-Server hat, müssen wir einen externen verwenden

Schritt 1: Den Flow verstehen

Image
Image

Sehen Sie sich das Video oben an, um eine Demonstration des Systems zu erhalten. Beachten Sie, dass der allgemeine Ablauf des Systems (nach dem der Node-RED-Flow erstellt wird) wie folgt ist:

  1. Du verlässt dein Haus
  2. Ihr Telefon trennt sich vom WLAN Ihres Hauses
  3. Integromat bekommt Nachricht und benachrichtigt Node-RED
  4. Node-RED überprüft den Status der Sensoren in Ihrem Haus und der Schalter in Ihrem Armaturenbrett
  5. Wenn etwas angelassen oder geöffnet ist, benachrichtigt es PushBullet
  6. PushBullet sendet eine Benachrichtigung an Ihr Telefon, mit einem Link zum Node-RED Dashboard
  7. Sie können zum Dashboard gehen und die relevanten Dinge schließen/deaktivieren

Im Wesentlichen bieten wir einen zentralisierten Ansatz zur Verwaltung verschiedener Objekte in Ihrem Haus und zur Überprüfung des korrekten Status, wenn Sie Ihr Haus verlassen.

In der Praxis verfügen wir in diesem Projekt über folgende Fähigkeiten:

  1. Status des Fensters - offen/geschlossen (angezeigt durch den Reed-Relais-Status)
  2. Status der Lichter - ein/aus (angezeigt durch den LDR-Status)
  3. Status der Raumheizung - ein/aus (angezeigt durch DHT-Temperatursensor)
  4. Türbetätiger - offen/geschlossen (maßgefertigtes 3D-Gehäuse für einen Gleichstrommotor)
  5. Smart Outlet Activator - ein/aus (ein D1-Relais, das an eine Steckdosenleiste angeschlossen ist)
  6. Switch Press Activator - ein/aus (ein Servo mit einer Platine verbunden)

Dies reicht in unserem Buch aus, um die Fähigkeiten der Plattform aufzuzeigen. Es kann leicht (mit Node-RED) erweitert werden, um bei Bedarf weitere Statusanzeigen / Aktivatoren hinzuzufügen.

Schritt 2: Ngrok

Ngrok
Ngrok

ngrok ist ein Tunneldienst. Es ermöglicht uns, einen lokal laufenden Dienst (in unserem Fall Node-RED) der Außenwelt zugänglich zu machen – ohne mühsames Einrichten eines Servers oder Umgang mit DNS-Einträgen. Sie führen einfach Node-RED auf Ihrem Computer aus und führen dann ngrok auf demselben Port aus, auf dem Node-RED ausgeführt wird. Das war's - Sie erhalten eine URL, mit der Sie von überall auf der Welt auf Node-RED zugreifen können, unabhängig davon, mit welchem Netzwerk es verbunden ist.

Installation & Konfiguration

  1. Laden Sie hier ngrok für Ihr Betriebssystem herunter.
  2. Folgen Sie den Schritten auf der Download-Seite bis zum Schritt "Fire it up".
  3. Tauschen Sie im Schritt "Fire it up" die 80 gegen 1880 aus - wie in./ngrok http 1880 oder ngrok http 1880, abhängig von Ihrem Betriebssystem.
  4. Notieren Sie sich die http-URL, die Sie in Ihrer Befehlszeile sehen - wir brauchen sie für später. Siehe das Bild für ein Beispiel.

Schritt 3: Knoten-RED

Knoten-RED
Knoten-RED
Knoten-RED
Knoten-RED
Knoten-RED
Knoten-RED

Installation & Konfiguration

Der Hauptlogikcontroller des Projekts, Node-RED, ist eine visuelle Programmierumgebung, mit der Sie verschiedene Software- (und Hardware-!) Dienste miteinander verbinden können, um eine einheitliche Anwendung zu erstellen. Als Bonus ermöglicht es die Generierung schöner Dashboards, die Informationen von den verschiedenen Diensten abrufen und sogar steuern können.

Wenn Sie mit Node-RED vertraut sind, holen Sie sich einfach unseren Flow aus diesem Gist und fügen Sie Ihre ngrok-ID aus Schritt 8 unten hinzu.

Wenn Sie mit Node-RED nicht vertraut sind oder es nicht installiert haben, führen Sie die folgenden Schritte aus, um unseren Node-RED-Flow auf Ihren lokalen Computer zu laden:

  1. Node-RED benötigt Node.js, eine Programmiersprache mit eigener spezieller Entwicklungsumgebung. Besorgen Sie sich von hier aus das für Ihr Betriebssystem relevante Installationsprogramm und folgen Sie den Anweisungen.
  2. Sie können nun Node-RED selbst installieren, indem Sie die Anweisungen hier verwenden. Bitte notieren Sie sich den Ort, an dem Node-RED installiert wurde, da Sie ihn für den nächsten Schritt benötigen.
  3. Nachdem Sie Node-RED installiert haben, führen Sie es gemäß den Anweisungen im obigen Schritt aus und überprüfen Sie, ob eine leere Canvas-Seite angezeigt wird. Es sollte sich unter https://127.0.0.1:1880 befinden.
  4. Sie müssen nun einige zusätzliche Knoten installieren (so nennt Node-RED seine Erweiterungen oder Module), die in diesem Projekt verwendet werden. Bitte folgen Sie den Anweisungen hier und hier und installieren Sie diese beiden Module.
  5. Nachdem die Nodes installiert sind, starten Sie den Node-Red-Server neu (einfach den Dienst beenden und neu starten sollte den Zweck erfüllen). Jetzt sollten beide Knoten in Ihrem Flow verfügbar sein.
  6. Laden Sie den Node-RED-Flow dieses Projekts von hier herunter und befolgen Sie die Anweisungen hier, um ihn in Ihre Node-RED-Installation zu importieren.
  7. Stellen Sie sicher, dass Sie das Bild des Flows wie oben auf Ihrem Bildschirm sehen können.
  8. Erinnern Sie sich an die ngrok-URL aus dem letzten Schritt? Geben Sie es in den Knoten Build Push Notification ein. Auf diese Weise können wir einen Live-Link des Dashboards (das auf unserem lokalen Computer ausgeführt wird) auf jedem Gerät sehen, auf dem wir Benachrichtigungen erhalten.

Erklärung des Flusses

Beachten Sie, dass der Fluss in zwei Teile unterteilt ist – der obere ist die Hauptlogik und der untere die Komponentenlogik.

Die Hauptlogik sorgt dafür, dass Sie feststellen, ob Sie das Haus verlassen haben (indem Sie eine GET-Anfrage von Integromat im Integromat WiFi Leave Endpoint-Knoten erhalten), eine Erfolgsantwort zurücksenden (damit Integromat nicht hängt, innerhalb der Send Success Message To Integromat) und dann eine Überprüfung aller Sensoren und Aktivatoren durchführen, um ihren aktuellen Status zu überprüfen (dies geschieht innerhalb des Funktionsknotens Push-Benachrichtigung erstellen, wobei der globale Kontextspeicher verwendet wird, um die Informationen abzurufen). Wenn diese Überprüfung erkennt, dass etwas aktiviert oder geöffnet ist, löst sie eine PushBullet-Push-Benachrichtigung aus (im obersten Knoten zum Senden von Push-Benachrichtigungen). Der unterste Knoten zum Senden von Push-Benachrichtigungen kümmert sich um das Senden von verspäteten Push-Benachrichtigungen (für die Raumheizung - siehe seinen Schritt für weitere Informationen zur Logik dahinter). Beachten Sie, dass es dort auch einen Debug-Knoten (genannt Get Request) gibt, der alle eingehenden Anforderungen protokolliert, damit wir alle Probleme auf der Seite von Integromat erkennen können.

Der logische Fluss der Komponente sorgt dafür, dass der globale Kontextspeicher mit dem Status jedes Aktivators/Sensors aktualisiert wird, damit wir entscheiden können, welche (falls vorhanden) Informationen wir in unserer Push-Benachrichtigung senden müssen. Beachten Sie, dass es zwei verschiedene Varianten dieser Flows gibt:

Aktivator-Flows (Schalter drücken/Tür/Smart Outlet) – Dies sind Flows, die das Dashboard aktualisieren müssen, nachdem ein Schalter im Dashboard umgelegt wurde + einige Aktivitäten in der realen Welt auslösen. Konkret warten beide auf eine Aktion auf dem Dashboard (in den Switch-Knoten), spiegeln dann den Zustand in den State Logic-Funktionsknoten um und aktualisieren das Dashboard entsprechend dem umgelegten Schalter (schalten Sie die LED im ein/aus). Status-LED-Knoten und ändern Sie den Text in den Statusanzeige-Knoten). Darüber hinaus wird nach dem Umlegen des Schalters eine MQTT-Nachricht an die WeMos-Controller gesendet, die die Aktivatoren steuern (unter Verwendung der MQTT-out-Aktivatorknoten), um eine Aktion in der physischen Welt zu erzeugen (dh eine Tür öffnen/schließen oder den Smart deaktivieren/aktivieren). Auslauf).

Sensorflüsse (Licht/Fenster/Raumheizung) – Dies sind Flüsse, die das Dashboard aktualisieren müssen, nachdem eine Sensornachricht über MQTT eingegangen ist. Insbesondere warten beide auf den Eingang einer MQTT-Nachricht (unter Verwendung der MQTT-in-Sensorknoten), parsen dann die Informationen und spiegeln den Zustand innerhalb der Zustandslogik-Funktionsknoten. Danach aktualisieren sie das Dashboard entsprechend der eingehenden Nachricht (schalten Sie die LED in den Status-LED-Knoten ein/aus und ändern Sie den Text in den Statusanzeige-Knoten).

Sehen Sie die mit jeder Komponente verbundenen Injektorknoten? Diese sorgen dafür, dass beim ersten Hochfahren des Dashboards vernünftige Standardeinstellungen bereitgestellt werden, um sicherzustellen, dass beim ersten Laden keine lustigen Dinge passieren.

Hinweis: Node-RED hat zwei "Modi": Canvas und UI. Canvas ist der Ort, an dem Sie die Knoten erstellen und bearbeiten (unter https://127.0.0.1:1880 oder https://YOUR_NGROK_ID.ngrok.io) und auf der Benutzeroberfläche sehen Sie Ihre Dashboards (unter https://127.0.0.1.).:1880/ui oder

Schritt 4: Integromat

Integromat
Integromat
Integromat
Integromat
Integromat
Integromat

Anmeldung

Integromat, selbst bezeichnet als "Kleber des Internets", ist ein Dienst, der verschiedene Softwarekomponenten auf interessante Weise miteinander verbindet. In unserem Fall verwenden wir die Android-App, um zu überprüfen, wann Sie sich vom WLAN Ihres Hauses getrennt haben, und lösen dann eine HTTP-Anfrage an unseren Node-Red-Server aus. Diese Anforderung löst den gesamten im vorherigen Schritt dargestellten Ablauf aus.

  1. Melden Sie sich hier für ein Integromat-Konto an.
  2. Laden Sie die Android-App hier herunter.
  3. Öffnen Sie in der Integromat-Webkonsole (die Sie nach der Anmeldung bei Integromat sehen sollten) links in der Mitte die Registerkarte Geräte.
  4. Fügen Sie Ihr Gerät hinzu, indem Sie oben links auf "Gerät hinzufügen" klicken und den gezeigten Schritten folgen.
  5. Nachdem Sie die App mit der Webkonsole autorisiert haben, öffnen Sie sie und gehen Sie unten rechts in die Einstellungen.
  6. Klicken Sie auf WLAN und aktivieren Sie dann (unter Ereignisse) das Kontrollkästchen für das Ereignis WLAN getrennt. Dadurch kann die App sehen, wenn Ihr Telefon von einem WLAN-Netzwerk getrennt wurde.

Unser Szenario erstellen

Handlungsabläufe in Integromat werden als Szenarien bezeichnet. Wir werden ein Szenario erstellen, das darauf wartet, dass ein beliebiges WiFi-Netzwerk getrennt wird, und dann nur diejenigen filtert, die dem WiFi-Netzwerk unseres Heims entsprechen.

  1. Siehe das Bild oben für die Szenariobeschreibung.
  2. Erstellen Sie jeden der Knoten ("Blasen"), indem Sie auf das untere "+"-Zeichen neben Favoriten klicken und die drei erforderlichen Knoten hinzufügen - Android (WiFi Disconnection), JSON (Create JSON) und HTTP (Make a Request).
  3. Verbinden Sie den Android-Knoten mit dem JSON-Knoten und den JSON-Knoten mit dem
  4. Konfigurieren Sie den Filter zwischen den Android- und den JSON-Knoten gemäß der obigen Abbildung.
  5. Konfigurieren Sie jeden Knoten gemäß den obigen Bildern. Beachten Sie die Verwendung der im vorherigen Schritt erstellten ngrok-URL für den HTTP-Knoten. Wenn Ihre ngrok-URL https://ac72hs.ngrok.io lautet, dann lautet Ihre ngrok-ID ac72hs.

Schritt 5: Mücke

Mücke
Mücke

Da Node-RED keinen eigenen MQTT-Broker hat und wir mit unseren Sensoren und Aktivatoren über MQTT kommunizieren müssen, verwenden wir einen dedizierten MQTT-Broker. Da Node-RED Mosquitto empfiehlt, verwenden wir dieses. Hier finden Sie einige Informationen zu MQTT und warum es häufig in IoT-Projekten verwendet wird.

Installation & Konfiguration

  1. Laden Sie Mosquitto von hier herunter und installieren Sie es entsprechend Ihrem Betriebssystem.
  2. Normalerweise müssen Sie die Anweisungen hier befolgen, um Node-RED mit Mosquitto zu verbinden. Wenn Sie jedoch unseren Flow verwendet haben, ist dieser bereits für Sie vorkonfiguriert. Solange Sie den Flow und Mosquitrro richtig installieren und Mosquitto auf Port 1883 (auf dem es standardmäßig läuft) läuft, sollte es sofort funktionieren.
  3. Beachten Sie, dass dies bedeutet, dass der MQTT-Broker und Ihr Node-RED-Server auf demselben Computer laufen. Dies ist nützlich, um die Kommunikation innerhalb des Systems zu vereinfachen. Weitere Informationen finden Sie im Hinweis unten.

Hinweis zur lokalen Vernetzung

Damit Ihre Geräte mit Node-RED ordnungsgemäß funktionieren, benötigen Sie Zugriff auf den Broker. Wir könnten zwar einen Proxy definieren und diesen verwenden, um mit Mosquitto zu kommunizieren, aber für akute Komplikationen schlagen wir eine einfache Lösung vor: Stellen Sie sicher, dass Ihr Computer (mit Node-RED und Mosquitto) und Ihre ESP8266-Boards mit demselben WLAN verbunden sind. Auf diese Weise können Ihre Geräte ohne Zwischenhändler direkt mit Ihrem Broker kommunizieren.

Man könnte sich fragen, warum man dafür nicht ngrok verwendet, genauso wie wir es verwenden, um das Dashboard von einem anderen Gerät aus zu durchsuchen. Die einfache Antwort ist, dass Sie das können - aber ngrok ist (in der kostenlosen Version) auf einen Tunnel von jedem Benutzer beschränkt. Dies bedeutet, dass Sie nur einen Port zur Außenwelt öffnen können, der in unserem Fall zum Freilegen von Node-RED verwendet wird. Stattdessen verwenden wir lokale Netzwerke, um dies zu umgehen.

Dies bedeutet, dass Sie in jeder Skizze die IP-Adresse des Brokers ändern müssen, damit sie der IP-Adresse Ihres Computers im lokalen Netzwerk entspricht. Auf diese Adresse können Sie zugreifen, indem Sie ipconfig (unter Windows) und ifconfig (unter Mac / Linux) ausführen und nach der entsprechenden WiFi-Schnittstelle suchen. Es sollte unter inet-Adresse aufgeführt sein.

Es kann jedoch sein, dass Sie unterwegs auf einige MQTT-Probleme stoßen. Aus diesem Grund ist es nützlich, den gesamten ein- und ausgehenden MQTT-Datenverkehr zu überwachen.

Überwachung des MQTT-Verkehrs

Während Mosquitto diese Funktionalität out-of-the-box mit mosuitto_sub bereitstellt, könnte für die GUI-orientierten Leute da draußen ein Client mit einer grafischen Oberfläche einfacher zu verwenden sein. MQTTfx ist ein großartiges Tool, das wir während der gesamten Arbeit an diesem Projekt ausgiebig verwendet haben, und wir empfehlen es von ganzem Herzen. Danke Jens Deters für dieses tolle Tool!

Schritt 6: Pushbullet

Pushbullet
Pushbullet
Pushbullet
Pushbullet

Pushbullet ist ein Push-Benachrichtigungsdienst. Es ermöglicht Ihnen, Ihr Gerät für den Dienst zu abonnieren und dann basierend auf einigen möglichen Integrationen Benachrichtigungen an dieses zu senden. Wir werden es verwenden, um unser Gerät zu benachrichtigen, wenn eines der Dinge zu Hause angelassen oder geöffnet war, und fügen einen Link zum Dashboard hinzu, damit wir die Dinge schließen oder ausschalten können, die wir vor dem Verlassen des Hauses vergessen haben.

Anmeldung & Konfiguration

  1. Melden Sie sich hier mit Ihrem Google-Konto für ein Pushbullet-Konto an.
  2. Laden Sie hier die Pushbullet-Android-App herunter.
  3. Nachdem Sie sich bei Pusbullet angemeldet haben, klicken Sie hier und fügen Sie Ihr Gerät über die Schaltfläche links hinzu.
  4. Gehen Sie dann hierher und wählen Sie Zugriffstoken erstellen. Notieren Sie sich dieses Token, wir benötigen es im nächsten Schritt.
  5. Gehen Sie zu Node-RED und klicken Sie auf den Knoten Push-Benachrichtigung senden.
  6. Wählen Sie in der Seitenleiste (siehe Bild) "PushBullet Config" und dann das Stiftsymbol.
  7. Fügen Sie das Access Token aus Schritt 4 in das Feld "API Key" ein.
  8. Sie sollten jetzt in der Lage sein, Push-Benachrichtigungen auf Ihrem Telefon zu erhalten.

Schritt 7: Arduino-IDE

Arduino-IDE
Arduino-IDE

Wir verwenden ESP8266-Boards in diesem Tutorial, um die verschiedenen von uns verwendeten Hardware zu steuern. Um unsere Software auf die Boards hochzuladen, müssen wir sie mit einem USB-Kabel flashen. Der Vorgang ist ganz einfach: Sie schließen das Board an Ihren Computer an und drücken dann einen Knopf. Um dorthin zu gelangen, müssen wir jedoch einige Voreinstellungen vornehmen.

Installation & Konfiguration

  1. Folgen Sie der Anleitung hier, um die Arduino IDE zu installieren.
  2. Folgen Sie der Anleitung hier, um die relevanten "Treiber" für die ESP8266-Boards in Ihrer Arduino-IDE zu installieren.
  3. Stellen Sie sicher, dass Sie ein geeignetes USB-Kabel verwenden (kein Stromkabel, kein Datenkabel), wenn Sie die Skizzen (die.ino-Dateien) auf Ihre Boards hochladen.

Hochladen von Skizzen auf Boards

In den nächsten Schritten - die sich mit der Anbindung der Hardware an unsere bestehende Software-Schnittstelle beschäftigen - sagen wir einfach "Skizze auf das Board hochladen". Damit sich jeder der folgenden Schritte mehr auf die Hardware und weniger auf die Software bezieht, beschreiben wir hier einmal den Upload-Ablauf:

  1. Verbinden Sie das Board über das USB-Kabel mit Ihrem Computer.
  2. Öffnen Sie die Arudiono-IDE.
  3. Öffnen Sie die heruntergeladene Skizze für den entsprechenden Schritt.
  4. Wählen Sie im Menü "Extras" das entsprechende Board unter der Option "Board" aus.
  5. Stellen Sie im selben Menü sicher, dass die Option "Port" den Port auswählt, mit dem Ihr Board verbunden ist. es sollte dies standardmäßig tun, aber wenn nicht, stellen Sie einfach sicher, dass dies der Fall ist. Wenn Sie sich nicht sicher sind, welcher Port an Ihrem Computer welcher ist, lesen Sie den nächsten Schritt.
  6. Laden Sie die Skizze auf das Board hoch, indem Sie auf die Pfeilschaltfläche oben rechts auf dem Bildschirm klicken (rechts neben dem Häkchen-Symbol). Dadurch wird die Skizze kompiliert und versucht, die Skizze auf das Board hochzuladen.
  7. Wenn der folgende Schritt fehlgeschlagen ist, versuchen Sie, einen anderen Port oder ein anderes Board im Tools-Menü auszuwählen.
  8. Wenn Sie immer noch nicht weiterkommen, sehen Sie sich diese Quora-Antwort für Folgeschritte an.

Schritt 8: Das Dashboard

Das Dashboard
Das Dashboard

Das obige Bild zeigt, wie das endgültige Dashboard aussehen wird. Beachten Sie die Schalter? Sie aktivieren verschiedene Hardwarekomponenten, die wir in den nächsten Schritten einrichten werden. Die LEDs sind Statusanzeigen, die sich ändern, wenn ein Sensor eine Änderung wahrnimmt oder wenn wir die Schalter umlegen.

Schritt 9: Lichtsensor

Lichtsensor
Lichtsensor
Lichtsensor
Lichtsensor
Lichtsensor
Lichtsensor

Mit diesem Lichtsensor können Sie erkennen, ob Sie in einem der Räume Ihres Hauses das Licht an oder aus gelassen haben. Wenn es richtig in einer Schachtel verpackt und nahe an das Licht gestellt wird, kann es nicht größer als zwei aneinander geklebte Streichholzschachteln sein.

Montage + Konfiguration

  1. Verdrahten Sie die Schaltung gemäß dem mitgelieferten Fritzing-Schema.
  2. Öffnen Sie die Skizze und ändern Sie die folgenden Variablen:

    • mqtt_server - Die lokale IP-Adresse Ihres Computers (als Mosquitto, der MQTT-Broker)
    • ssid - Der Name des WLAN-Netzwerks, mit dem Ihr Computer verbunden ist und mit dem Ihr Board verbunden werden soll
    • password - Das Passwort des besagten WiFi-Netzwerks
  3. Laden Sie die mitgelieferte Skizze auf Ihr Board hoch.
  4. Testen Sie es auf dem Dashboard!

Dashboard Sehen Sie sich die LED der Registerkarte "Licht" an - sie zeigt an, ob das Licht ein- oder ausgeschaltet ist.

Schritt 10: Smart Outlet-Aktivator

Smart Outlet-Aktivator
Smart Outlet-Aktivator
Smart Outlet-Aktivator
Smart Outlet-Aktivator
Smart Outlet-Aktivator
Smart Outlet-Aktivator

Das Smart Outlet nimmt eine normale Steckdosenleiste (mit einem anständigen Verlängerungskabel) und verwandelt sie in ein Smart Object - nämlich ein WLAN-fähiges Relais kümmert sich um das Ein- und Ausschalten per Knopfdruck vom Node-RED Armaturenbrett. Wenn Sie vergessen haben, etwas an der Steckdose auszuschalten, können Sie es auf diese Weise manuell ausschalten!

Montage + Konfiguration

  1. Schneiden Sie das Netzkabel in der Mitte durch und isolieren Sie die Drähte.
  2. Stecken Sie die abisolierten Adern nach dem Fritzing-Schema in die Schraubklemme.
  3. Öffnen Sie die Skizze und ändern Sie die folgenden Variablen:
  4. mqtt_server - Die lokale IP-Adresse Ihres Computers (als Mosquitto, der MQTT-Broker)
  5. ssid - Der Name des WLAN-Netzwerks, mit dem Ihr Computer verbunden ist und mit dem Ihr Board verbunden werden soll
  6. password - Das Passwort des besagten WiFi-Netzwerks
  7. Laden Sie die Skizze auf die Tafel hoch.
  8. Verbinden Sie den Relaisschirm mit der Platine.
  9. Bauen Sie die Schaltung nach dem Fritzing-Schema zusammen.
  10. Testen Sie es auf dem Dashboard!

Bonuspunkte - Gehäuse

  1. Wenn möglich, laserschneiden Sie das Gehäuse mit dem beigefügten SmartOutletCasing-Bild. Wenn Sie wenig Laserschneider haben, nehmen Sie einen Karton, kleben Sie das Bild auf eine Seite und schneiden Sie die Stücke aus.
  2. Schneiden Sie zwei Löcher in die Seite der Box und schieben Sie die Steckdosenleiste wie im beigefügten Bild ein.
  3. Binden Sie die Enden des Streifens in der Box ab, um sicherzustellen, dass der Stromkreis nicht durch die Löcher gezogen wird.

Armaturenbrett

Sehen Sie sich die LED der Registerkarte "Smart Outlet" an - sie zeigt an, ob das Smart Outlet ein- oder ausgeschaltet ist. Schalten Sie außerdem den Schalter ein und aus, um Spaß zu haben und zu profitieren!

Schritt 11: Türaktivator

Türbetätiger
Türbetätiger
Türbetätiger
Türbetätiger
Türbetätiger
Türbetätiger

Dieser schöne Mechanismus dreht einen Schlüssel hin und her, sodass wir eine Tür ver- und entriegeln können. Insbesondere, wenn Sie Ihre Tür beim Verlassen Ihres Hauses unverschlossen gelassen haben, können Sie sie aus der Ferne verriegeln!:)

Montage + Konfiguration

  1. Öffnen Sie die Skizze und ändern Sie die folgenden Variablen:
  2. mqtt_server - Die lokale IP-Adresse Ihres Computers (als Mosquitto, der MQTT-Broker)
  3. ssid - Der Name des WLAN-Netzwerks, mit dem Ihr Computer verbunden ist und mit dem Ihr Board verbunden werden soll
  4. password - Das Passwort des besagten WiFi-Netzwerks
  5. Laden Sie die Skizze auf das ESP8266-Board hoch.
  6. Bauen Sie die Schaltung nach dem Schaltplan zusammen. Beachten Sie, dass wir eine externe Stromquelle verwendet haben, um den (relativ starken) Gleichstrommotor zu steuern. Dies erforderte eine L298-N HBridge und die externe Stromquelle. Wir benötigten kein Löten, da sowohl die Buchsenbuchse als auch die HBridge schöne Schraubklemmen hatten, die wir verwenden konnten - wir haben ein Ende einiger Überbrückungskabel für diese Verbindungen abisoliert. Mögen sie in Frieden ruhen.
  7. Testen Sie es auf dem Dashboard!

Bonuspunkte - Gehäuse

Wir haben ein bestehendes Design von Jack Lew verwendet. Wenn Sie Zugang zu einem 3D-Drucker haben, ist es ein tolles Gehäuse, das Sie an Ihre Tür kleben und mit Schrauben oder Heißkleber befestigen können.

Dashboard Sehen Sie sich die LED der Registerkarte "Tür" an - sie zeigt an, ob die Tür geöffnet oder geschlossen ist. Schalten Sie außerdem den Schalter ein und aus, um Spaß zu haben und zu profitieren!

Schritt 12: Fenstersensor

Fenstersensor
Fenstersensor
Fenstersensor
Fenstersensor
Fenstersensor
Fenstersensor

Lass die Katze nicht raus! Dieser Sensor verwendet ein Reed-Relais, um zu überprüfen, ob ein Fenster geöffnet oder geschlossen ist. Beachten Sie, dass wir ein Fenster nur als Beispiel gewählt haben - es kann für viele andere Dinge verwendet werden, einschließlich der Überprüfung, ob eine Tür geöffnet ist oder nicht, einschließlich Haus-, Zimmer- und Kühlschranktüren.

Montage & Konfiguration

  1. Bauen Sie die Schaltung gemäß dem obigen Fritzing-Schema zusammen.
  2. Öffnen Sie die Skizze und ändern Sie die folgenden Variablen:
  3. mqtt_server - Die lokale IP-Adresse Ihres Computers (als Mosquitto, der MQTT-Broker)
  4. ssid - Der Name des WLAN-Netzwerks, mit dem Ihr Computer verbunden ist und mit dem Ihr Board verbunden werden soll
  5. password - Das Passwort des besagten WiFi-Netzwerks
  6. Laden Sie Ihre Skizze auf die Tafel hoch.
  7. Befestigen Sie einen Teil des Reed-Relais an der Fensterbank und einen anderen am Fenster selbst (oder an welcher Öffnung Sie sich entschieden haben, den Sensor anzubringen).
  8. Testen Sie es auf dem Dashboard!

Armaturenbrett

Schauen Sie sich die LED der Registerkarte "Fenster" an - sie zeigt an, ob das Fenster geöffnet oder geschlossen ist.

Schritt 13: Raumheizungssensor

Raumheizungssensor
Raumheizungssensor
Raumheizungssensor
Raumheizungssensor
Raumheizungssensor
Raumheizungssensor

Wenn Sie eine Raumheizung eingeschaltet lassen, besteht garantierte Brandgefahr! Bleiben Sie sicher und überwachen Sie Ihre Raumheizung aus der Ferne, indem Sie diese Schaltung verwenden. Insbesondere überwacht der Wärmesensor im Stromkreis die Wärme über einen längeren Zeitraum – fest codiert auf 5 Minuten für eine vernünftige Standardeinstellung – und dampft nach dieser Zeit immer noch, schaltet die LED im Armaturenbrett um. Dies geschieht, um zu verhindern, dass Wärmeverluste (wie nach dem Ausschalten der Raumheizung) die LED versehentlich einschalten.

Montage & Konfiguration

  1. Bauen Sie die Schaltung gemäß dem beigefügten Fritzing-Schema zusammen.
  2. Öffnen Sie die Skizze und ändern Sie die folgenden Variablen:
  3. mqtt_server - Die lokale IP-Adresse Ihres Computers (als Mosquitto, der MQTT-Broker)
  4. ssid - Der Name des WLAN-Netzwerks, mit dem Ihr Computer verbunden ist und mit dem Ihr Board verbunden werden soll
  5. password - Das Passwort des besagten WiFi-Netzwerks
  6. Laden Sie die angehängte Skizze auf Ihr Board hoch.
  7. In die Nähe einer Raumheizung stellen, 5 Minuten warten und das Armaturenbrett überprüfen!

Armaturenbrett

Sehen Sie sich die LED der Registerkarte "Raumheizung" an - sie zeigt an, ob die Raumheizung ein- oder ausgeschaltet ist.

Schritt 14: Schalter drücken Aktivator

Schalter drücken Aktivator
Schalter drücken Aktivator
Schalter drücken Aktivator
Schalter drücken Aktivator

Dies ist eine sehr einfache Servo-Engine, die einen physischen Schalter ein- oder ausschalten kann (einen Lichtschalter, einen Wasserkocherschalter, einen Steckdosenleistenschalter usw.). Wenn Sie einen der schaltergesteuerten Gegenstände in Ihrem Haus angelassen haben - zum Beispiel ein Licht oder einen Wasserkocher - können Sie ihn aus der Ferne ausschalten.

Montage & Konfiguration

  1. Öffnen Sie die Skizze und ändern Sie die folgenden Variablen:
  2. mqtt_server - Die lokale IP-Adresse Ihres Computers (als Mosquitto, der MQTT-Broker)
  3. ssid - Der Name des WLAN-Netzwerks, mit dem Ihr Computer verbunden ist und mit dem Ihr Board verbunden werden soll
  4. password - Das Passwort des besagten WiFi-Netzwerks
  5. Laden Sie die Skizze auf Ihr Board hoch.
  6. Bauen Sie die Schaltung nach dem Fritzing-Schema zusammen.
  7. Befestigen Sie den Servo mit Heißkleber oder einem geeigneten Gehäuse, das Sie selbst hergestellt haben, am entsprechenden Schalter. Schicken Sie uns ein Bild, wenn Sie eines gemacht haben!
  8. Testen Sie das Dashboard!

Armaturenbrett

Schauen Sie sich die LED der Registerkarte "Schalter drücken" an - sie zeigt an, ob der Schalter ein- oder ausgeschaltet ist. Schalten Sie außerdem den Schalter ein und aus, um Spaß zu haben und zu profitieren!

Empfohlen: