- Voraussetzungen:
- Arbeitskonzept:
- Arduino IDE-Programm für ESP8266:
- Schaltplan und Hardware:
- Portweiterleitung Ihrer ESP8266-IP:
- Installieren der Moni Android-Anwendung:
- Erstellen von Applets mit dem IFTTT-Dienst:
- Testen des Projekts:
Willkommen zu einem weiteren spannenden Projekt, in dem wir ein sprachgesteuertes Hausautomationssystem mit dem Wi-Fi-Modul ESP8266 bauen , mit dem Sie Ihre Heim-AC-Geräte mit Ihrer Stimme über eine Android-App von überall auf der Welt aus steuern können. Ja, Ihr Traum, Ihre Lasten (Licht / Lüfter) durch einfaches Verwenden eines Sprachbefehls ein- oder auszuschalten, wird am Ende dieses Projekts wahr. Dieses Projekt ist die Variante unseres vorherigen Projekts Smart Junction Box für die Heimautomation, bei dem wir die Haushaltsgeräte mithilfe des Webservers über das Netzwerk gesteuert haben.
Dieses IOT-basierte sprachgesteuerte Hausautomationsprojekt ist sehr einfach zu erstellen und kostet Sie nicht viel, da Sie keine teuren Sprachmodule kaufen müssen. Das gesamte Projekt hat ungefähr 500 INR (8 USD) gekostet, um es zu bauen. Auch dies ist ein von Mikrocontrollern unabhängiges Projekt, was bedeutet, dass Sie keine MCU / MP wie Arduino oder Raspberry Pi benötigen. Das gesamte Projekt läuft auf dem ESP8266-Modul. Erfahren Sie hier mehr über ESP8266. Also, lass uns anfangen zu reden…
Zuvor haben wir viele Arten von Hausautomationen mit verschiedenen Technologien behandelt, wie zum Beispiel:
- DTMF-basierte Hausautomation
- GSM-basierte Hausautomation mit Arduino
- PC-gesteuerte Hausautomation mit Arduino
- Bluetooth-gesteuerte Heimautomation mit 8051
- IR-ferngesteuerte Hausautomation mit Arduino
- Hausautomationsprojekt mit MATLAB und Arduino
- HF-ferngesteuerte LEDs mit Raspberry Pi
- Smartphone-gesteuerte Hausautomation mit Arduino
Voraussetzungen:
Dieses Projekt ist eine Fortsetzung unseres vorherigen Projekts Smart Junction Box für die Heimautomation mit ESP8266, sodass der größte Teil des Hardwareteils bereits in diesem Lernprogramm behandelt wurde. Bitte lesen Sie dies, bevor Sie mit diesem fortfahren, da ich die in diesem Tutorial behandelten Informationen überspringen werde. Um einen kleinen Rückblick auf unser vorheriges Projekt zu geben, haben wir in diesem Lernprogramm eine Anschlussdose (Erweiterungskarte) geändert, die eine Perf-Karte aus zwei Relais und dem ESP8266-Modul trösten kann. Die beiden Relais (Wechselstromlasten) können mithilfe einer vom ESP8266 erstellten Webseite (als Webserver) umgeschaltet werden. In diesem Tutorial werde ich nur einige Funktionen hinzufügen, damit wir auch die Wechselstromlasten mithilfe des Sprachbefehls über das Smartphone steuern können.Wir werden in diesem Lernprogramm keinen Hardware-Teil behandeln. Die Hardware und der Code bleiben dieselben wie im vorherigen Lernprogramm.
Wenn Sie auch wissen, wie man www.IFTTT.com verwendet, haben Sie die Oberhand über dieses Projekt. Wenn Sie mit IFTTT nicht vertraut sind, werde ich Ihnen erklären, wie Sie es für dieses spezielle Tutorial verwenden, damit Sie es zum Laufen bringen können.
Arbeitskonzept:
Ich gehe davon aus, dass Sie das vorherige Tutorial gelesen haben. In diesem Fall sollten Sie jetzt wissen, wie Sie diese Anschlussdose erstellen und wie Sie die Lasten über Ihren Webbrowser aus der Ferne umschalten. Um dies zu ermöglichen, haben wir unsere dem ESP8266 zugewiesene IP-Adresse öffentlich zugänglich gemacht. Dies kann mit der „Portweiterleitungstechnik“ erfolgen. Installieren Sie dann eine mobile Anwendung namens „Moni“ auf Ihrem Android / IPhone-Mobilgerät. Diese Anwendung erkennt unsere Sprache und übermittelt die Informationen an die IFTT-Applets, die wiederum die Lasten über Maker-Web-Hooks steuern.
Es mag ein bisschen langweilig klingen, aber all diese Dinge wurden in diesem Tutorial klar erklärt und vertrauen mir mit wenigen Klicks, dass alles oben Genannte gemacht werden kann. Dieses Tutorial hilft Ihnen mit Hilfe von Bildern und Videos bestmöglich. Am Ende dieses Tutorials können Sie Ihre Haushaltsgeräte von überall auf der Welt über Ihre Stimme ein- oder ausschalten. Überprüfen Sie den vollständigen Code und das Demo-Video am Ende des Tutorials.
Überprüfen Sie auch die sprachgesteuerten Lichter mit Raspberry Pi und die Spracheingabe auf dem 16x2-LCD.
Arduino IDE-Programm für ESP8266:
Genau wie im vorherigen Projekt werden wir unser ESP8266-Modul mit Hilfe der Arduino IDE programmieren. Das Programm wurde geringfügig geändert. Diese Änderung wird vorgenommen, damit Ihr ESP8266 bei jedem Herstellen einer Verbindung mit dem Router eine Verbindung zu einer konstanten IP-Adresse herstellt. Das Programm ist bis auf diese vier Zeilen genau das gleiche wie der vorherige Code
// Erhalte jedes Mal eine konstante IP, wenn IPAddress ip (192, 168, 0, 104); // Dies sollte die IP meines IPAddress-Gateways meines ESP-Moduls sein (192, 168, 0, 1); // setze das Gateway so, dass es zu deinem Netzwerk passt. Das meiste Gateway ist standardmäßig das gleiche. Serial.print (F ("Statische IP einstellen auf:")); Serial.println (ip); IPAddress-Subnetz (255, 255, 255, 0); // Subnetzmaske so einstellen, dass sie zu Ihrem Netzwerk passt WiFi.config (IP, Gateway, Subnetz);
Hier anstelle von IPAddress ip (192, 168, 0, 104); Geben Sie die gewünschte IP-Adresse ein. In diesem Fall ist mein ESP ständig mit 192.168.0.104 verbunden und ich kann einfach über diese IP in meinem Browser darauf zugreifen. Der vollständige Code am Ende dieses Tutorials.
Schaltplan und Hardware:
Schaltpläne und Hardware für diese IoT-basierten sprachgesteuerten Haushaltsgeräte sind dieselben wie in unserem vorherigen Smart Junction-Projekt, und ich habe den Schaltplan dort so freundlich erklärt. Hier sehen Sie das vollständige Schema als Referenz:
Portweiterleitung Ihrer ESP8266-IP:
Der erste Schritt besteht darin, die Portweiterleitung in Ihrem Router (Modem) zu aktivieren, damit Sie von überall auf der Welt auf Ihr ESP zugreifen können, indem Sie einfach Ihre öffentliche IP eingeben. Immer wenn unser ESP8266 eine Verbindung zu unserem Heim- / Büro-Router herstellt, erhält er eine eindeutige IP-Adresse. Diese IP-Adresse wird verwendet, um über einen Webbrowser auf den ESP8266 zuzugreifen. Diese IP-Adresse ist in Ihrem Heim- / Büronetzwerk eingeschränkt, sodass Sie nicht global darauf zugreifen können. Der Zugriff ist nur für Geräte möglich, die an Ihren Router angeschlossen sind. Die Portweiterleitung ist die Technik, mit der wir diese Webseite global laden können. Nach der Portweiterleitung können Sie Ihre öffentliche IP-Adresse verwenden, um von überall auf der Welt auf diese Webseite zuzugreifen. Klingt cool, richtig !! Mal sehen, wie wir das schaffen können. Dazu wissen Sie vorher Folgendes.
1. Der Herstellername und die IP-Adresse Ihres Routers. Dies kann leicht durch einen Blick auf den Router gefunden werden. Die IP-Adresse wird auch auf einem Aufkleber angegeben. Wenn nicht Google, um Ihre Router-IP zu kennen.
2. Der Benutzername und das Passwort der Anmeldeseite Ihres Routers. Die meisten Router haben den Benutzernamen "admin" und das Passwort "admin".
3. Die Ihrem ESP8266-Modul zugewiesene IP-Adresse. Dies ist die Adresse, unter der Sie auf die Webseite des ESP-Moduls zugreifen.
4. Die IP-Adresse Ihres Internetdienstanbieters (öffentliche IP-Adresse). Dies kann durch einfaches Goggling "Was ist meine IP" gefunden werden.
Sobald Sie alles in der Hand haben, können Sie die folgenden Schritte zur Portweiterleitung ausführen. Wenn Sie nicht in der Lage sind, etwas zu finden, verwenden Sie den Kommentarbereich unten. Ich werde dir helfen.
Schritt 1: Melden Sie sich unter Verwendung der IP-Adresse Ihres Routers auf der Seite des Web-Management-Dienstprogramms Ihres Routers an. In der Regel ist dies 192.168.1.1. Mein Bildschirm sieht unten so aus
Schritt 2: Geben Sie standardmäßig den Benutzernamen "admin" und standardmäßig das Kennwort "admin" ein und klicken Sie auf "Anmelden". Sie werden zur Hilfsprogrammseite weitergeleitet, die ungefähr so aussieht.
Die meisten Informationen, die Sie hier sehen, sind sehr vertraulich. Geben Sie sie daher nicht an Unbekannte weiter, da Sie sonst Ihre Internetsicherheit gefährden könnten.
Schritt 3: Wie oben gezeigt, werden auf Ihrer Seite links unten alle Optionen aufgelistet. Unser Ziel ist es, einen Namen mit dem Namen "Virtuelle Server" zu finden. Ich habe meine unter der Weiterleitungsoption aufgeführt. Die meisten Router haben wird sie als die 6, 7 oder 8 aufgeführt th Option (meist unter DHCP - Einstellung). Finde es und klicke darauf
Schritt 4: Jetzt müssen Sie die dem ESP-Modul zugewiesene IP-Adresse und die Portnummer eingeben, um unsere IP weiterzuleiten. In meinem Fall muss ich auf Neu hinzufügen klicken und diese Details eingeben. Es könnte für Sie etwas anders sein. Die IP-Adresse ist diejenige, mit der Sie auf die Webseite Ihres ESP-Moduls zugreifen. Die Portnummer kann von Ihrer Wahl sein, aber lassen Sie uns der Einfachheit halber "80" verwenden. Die meinem ESP8266-Modul zugewiesene IP-Adresse lautet 192.168.0.104, und daher sieht meine Weiterleitung wie folgt aus:
Schritt 5: Jetzt müssen wir unsere öffentliche IP-Adresse kennen. Sie finden dies meine Schutzbrille für "Was ist meine IP". Ihre ISP-IP sollte streng vertraulich behandelt werden. Für dieses Tutorial nehmen wir an, dass meine IP-Adresse 987: 654: 321: 123 lautet. Ich werde diese Adresse für den Rest meines Tutorials als ISP-IP verwenden.
Hinweis: Ihr ISP hat Ihnen möglicherweise eine statische / dynamische IP-Adresse bereitgestellt. Wenn es sich um eine dynamische IP-Adresse handelt, ändert sich Ihre IP-Adresse bei jedem Neustart des Modems / Routers. In diesem Fall müssen Sie so etwas wie DynDNS verwenden. Dies ist jedoch nicht Gegenstand dieses Lernprogramms. Selbst wenn es sich um eine dynamische IP handelt, funktioniert sie für Sie, solange Sie Ihren Router nicht zurücksetzen.
Wenn unsere Portweiterleitung erfolgreich ist, können wir dies überprüfen, indem Sie den ISP IP: portname (987: 654: 321: 123: 80) in unseren Browser eingeben und prüfen, ob die ESP-Webseite geladen wird. Wenn alles wie erwartet verläuft, sollten Sie jetzt in der Lage sein, die Lasten von überall auf der Welt mithilfe Ihrer ISP-IP-Adresse umzuschalten.
Installieren der Moni Android-Anwendung:
Moni ist eine Anwendung, die für Android, Windows, iTunes und sogar Skype verfügbar ist. Sie können diese Anwendung auf Ihr Handy herunterladen. Moni.ai bietet weit mehr Funktionen als nur die Beantwortung Ihrer Sprachbefehle. Es ist äußerst entwicklerfreundlich und Sie können Konversationen schnell visuell definieren und eine Verbindung zu Diensten herstellen. Moni.ai verwendet eine Anwendung namens Node-Red, mit der Sie auf einfache Weise einen Sprachkanal erstellen und ein eigenes Chabot (AI) -System für Ihr Unternehmen / Ihre Projekte erstellen und mit Ihrer natürlichen Sprache automatisieren können. Das Beste ist, dass Moni für den nichtkommerziellen Gebrauch völlig kostenlos ist.
Ich benutze ein Android-Handy und lade daher Moni direkt aus dem Google Play Store herunter. Nach der Installation erstellen Sie Ihr kostenloses Konto und melden Sie sich an. Ihre App sollte ungefähr so aussehen:
Sie können dies wie jeden anderen virtuellen Assistenten verwenden, z. B. nach Wetter, Zeit usw. fragen. Zusätzlich kann er auf Ihre von Ihrem Ifttt-Dienst erstellten Applets reagieren. Lassen Sie uns sehen, wie Sie jetzt Applets für Ihre Anwendung erstellen.
Erstellen von Applets mit dem IFTTT-Dienst:
Wir sind einen Schritt von der Fertigstellung dieses Projekts entfernt. Der letzte Schritt besteht darin, die Applets auf der IFTTT-Website zu erstellen. Hier weisen wir unseren Moni an, verschiedene Sprachbefehle zur Steuerung verschiedener Haushaltsgeräte zu Hause auszuführen.
Ich verwende diese sprachgesteuerte Anschlussbox, um meine Aquarienlasten (Licht / Filter) umzuschalten, wie im folgenden Video gezeigt. Daher passe ich das Applet für diese Anforderung an. Sie können es für Ihren Zweck anpassen. Folgen Sie den unteren Schritten:
Schritt 1: Besuchen Sie www.IFTTT.com und melden Sie sich mit Ihrem Konto an. Wenn neu, dann Anmelden.
Schritt 2: Klicken Sie nun auf "Suchen" und geben Sie Make Webhooks ein. Wählen Sie es aus und klicken Sie auf "Verbinden". Befolgen Sie die Schritte, um eine Verbindung herzustellen.
Schritt 3: Klicken Sie nun erneut auf "Suchen" und geben Sie Moni ein. Wählen Sie Moni und klicken Sie auf "Verbinden". Melden Sie sich mit Ihrem IFTTT-Konto an, um die Verbindung zu aktivieren.
Schritt 4: Wir haben eine Verbindung zu den Diensten "Maker Webhooks" und "Moni" hergestellt. Jetzt können Sie mit diesen Diensten ein Applet erstellen. Klicken Sie auf Meine Applets und dann auf "Neues Applet". Sie sollten so etwas sehen:
In diesem Bildschirm müssen Sie auf "dies" klicken und "Moni" auswählen. Klicken Sie dann auf "Moni bitten, eine Aktion auszuführen", um zum folgenden Bildschirm zu gelangen.
Schritt 5: Füllen Sie die Details so aus, wie ich das obige Bild ausgefüllt habe. Hier ist meine Aufgabe, meine Aquarienbeleuchtung (Last 1) einzuschalten, wenn ich "Aquarienbeleuchtung einschalten" sage. Klicken Sie dann auf "Trigger erstellen".
Schritt 6: Sie kehren zum Bildschirm „WENN DAS ALS DAS“ zurück. Klicken Sie nun auf "das" und geben Sie "Maker Webhooks" ein und wählen Sie es aus. Klicken Sie dann auf "Webanforderung stellen". Sie werden zum folgenden Bildschirm weitergeleitet
Dies ist ein wichtiger Schritt, bei dem Sie am wahrscheinlichsten Fehler machen. Geben Sie auf dieser Seite einfach die URL ein, die Sie laden möchten. In meinem Fall möchte ich die an Switch1 angeschlossene Last einschalten, daher wird die Zeile http: // 987: 654: 321: 123 / switch1 verwendet. Sie müssen meine IP durch Ihre öffentliche IP-Adresse ersetzen. Dies funktioniert nur, wenn Sie meinen Code im vorherigen Tutorial verwendet haben. Die vollständige Liste der URLs zum Umschalten der Lasten finden Sie unten.
URL |
Schlüsselwort aus dem Programm |
Aktion |
http: // 987: 654: 321: 123 / switch1On |
Switch1On |
GPIO_0 wird hoch gemacht, wodurch Last 1 eingeschaltet wird |
http: // 987: 654: 321: 123 / switch1Off |
Switch1Off |
GPIO_0 wird niedrig gemacht, wodurch Last 1 ausgeschaltet wird |
http: // 987: 654: 321: 123 / switch2On |
Switch2On |
GPIO_2 wird hoch gemacht, wodurch Last 2 eingeschaltet wird |
http: // 987: 654: 321: 123 / switch2Off |
Switch2Off |
GPIO_2 wird niedrig gemacht, wodurch Last 1 ausgeschaltet wird |
Nachdem Sie die gewünschte URL eingegeben haben, klicken Sie auf "Aktion erstellen". Klicken Sie dann auf Fertig stellen. Ebenso können Sie 4 Applets erstellen, um beide Lasten in unserer Anschlussbox ein- und auszuschalten.
Das heißt, Ihr Applet ist einsatzbereit und sollte wie unten gezeigt unter „Meine Applets“ angezeigt werden.
Zeit, unseren Code zu testen…….
Testen des Projekts:
Endlich sind wir mit unserem Projekt fertig. Lass es uns testen. Schalten Sie es ein und öffnen Sie die Moni-Anwendung in Ihrem Mobiltelefon. Klicken Sie auf das Mikrofonsymbol und sagen Sie den Befehl. In meinem Fall ist es "Aquarium Lights einschalten" und es sollte die Antwort mit einem "OK" einschalten und die Lichter einschalten. Überprüfen Sie den vollständigen Code und das Demo-Video unten.
Ich hoffe, Ihnen hat das Projekt gefallen und Sie haben es zum Laufen gebracht. Wenn Sie irgendwo festsitzen, verwenden Sie den Kommentarbereich unten und ich werde Ihnen sicherlich helfen. Wir sehen uns bis dahin mit einem weiteren interessanten Projekt. Bleiben Sie dran.
Überprüfen Sie auch unsere anderen IoT-basierten Projekte hier.