Inhaltsverzeichnis:

DIY Smart Home mit Google Assistant und Arduino - Gunook
DIY Smart Home mit Google Assistant und Arduino - Gunook

Video: DIY Smart Home mit Google Assistant und Arduino - Gunook

Video: DIY Smart Home mit Google Assistant und Arduino - Gunook
Video: Smart Home with Google Assistant & Alexa using NodeMCU ESP8266 (Manual + Voice) | IoT Projects 2021 2024, Juli
Anonim
Image
Image
DIY Smart Home mit Google Assistant und Arduino
DIY Smart Home mit Google Assistant und Arduino

Wer möchte kein Smart Home? Eines der schönsten Dinge, die Sie tun können, ist das Licht oder andere Geräte in Ihrem Haus per Sprachsteuerung zu schalten. Mit Hilfe der Google Home App und dem Google Assistant ist das wirklich ein Kinderspiel……

Sie brauchen dafür nicht viele Teile und es ist ein schönes Experiment, diese Sprachsteuerung mit einem intelligenten Lautsprecher, einem Arduino-Minicomputer und ein paar Schaltrelais selbst zu bauen. Sie können auch viele sehr günstige intelligente Lichter und Steckdosen kaufen, aber es macht viel mehr Spaß, es selbst zu machen. Ich werde Schritt für Schritt beschreiben, wie Sie dies tun können. Sie benötigen folgende Komponenten:

Lieferungen

1 Ein intelligenter Lautsprecher, zum Beispiel ein Google Nest Mini.

2 Ein Arduino MKR1000 Computer zum Umwandeln der Sprachbefehle in Schaltbefehle.

3 Ein oder mehrere 5-Volt-Schaltrelais, eines für jede Lampe, die Sie steuern möchten.

4 A USB-Netzteil für den Arduino MKR1000 mit Micro-USB-Stecker.

5 Hauptkabel (1,5 qmm) und Steckdosen zum sicheren Anschluss der Leuchten und anderer Geräte.

6 Ein Android-Smartphone für die Google Home-App.

Schritt 1: Der Befehlsprozess über das Internet

Der Befehlsprozess über das Internet
Der Befehlsprozess über das Internet

In diesem Bild können Sie Schritt für Schritt sehen, wie der gesamte Prozess funktioniert.

Das Ein- und Ausschalten über die Sprachbefehle läuft komplett über das Internet. Dafür werden drei (!) Cloud-Dienste benötigt… Sie müssen für jeden Cloud-Dienst ein Konto erstellen… Es ist etwas umständlich, aber es funktioniert!

Zuerst benötigen Sie die Google Home-App. Laden Sie es aus dem Playstore auf Ihr Android-Handy herunter und installieren Sie die App. Das Verstehen eigener Sprachbefehle mit Google Home funktioniert nur mit der englischen Sprache. Stellen Sie also die Sprache über Einstellungen / Weitere Einstellungen / Assistent / Sprachen auf Englisch ein und wählen Sie dann Englisch (USA).

Das Google Nest Mini hört den Sprachbefehl, zum Beispiel „Hey Google, schalte Licht Nummer eins ein“. Dieses analoge Audiosignal wird digitalisiert und an die Google Assistant Cloud gesendet. Es wird dann an die IFTTT-Cloud weitergeleitet, wo die Antwort erfolgt. IFTTT (If This Than That oder „If you do one thing the other thing matters“) ist eine Art Zwischenstation, die den Befehl analysiert, die Antwort gibt und die Aktionen an die nächste Cloud, das Adafruit IO, weiterleitet. Wenn der Befehl vollständig verstanden wurde, wird die Antwort von IFTTT digital an das Google Nest Mini zurückgegeben und dort in ein Audiosignal umgewandelt. Wird der Befehl nicht verstanden, gibt der Google Assistant eine weitere Antwort zurück, um deutlich zu machen, dass keine Schaltaktion erfolgt. Ein gut verstandener Befehl wird von IFTTT an die Adafruit-Website weitergeleitet. Adafruit ist ein Elektronikanbieter, der eine Website zum Speichern von Smart Switching-Daten unterhält. Sie nennen es „Feed“. IFTTT sendet den mit dem Befehl verknüpften Code (in unserem Fall „one_on“) an diesen Feed. Der Arduino MKR1000 ist so programmiert, dass er diese Website regelmäßig überprüft, die Daten im Feed ausliest und dann das entsprechende Schaltrelais ein- oder ausschaltet. Der Adafruit-Feed ist aus Sicherheitsgründen mit einem Kontonamen und einem eindeutigen Adafruit-IOKEY geschützt, der nur dem Kontoinhaber bekannt ist.

Schritt 2: Programmierung des Arduino MKR1000

Programmierung des Arduino MKR1000
Programmierung des Arduino MKR1000
Programmierung des Arduino MKR1000
Programmierung des Arduino MKR1000

Verwenden Sie die Standard-IDE von der Arduino-Website. Platzieren Sie die folgenden Bibliotheken in der IDE (über: tools / manage library): ArduinoJson und WiFi101.

Wenn Sie das MKR1000 noch nicht programmiert haben, müssen Sie dieses Board zunächst in der IDE zugänglich machen. Laden Sie die Board-Datei „Arduino SAMD-Boards“über das Menü Tools / Board / Board-Manager herunter, wonach Sie das MKR1000-Board auswählen können.

Die Skizze verwendet auch eine zusätzliche Datei, arduino_secrets.h.

Dies ist eine Textdatei, die Sie mit Notepad erstellen können. Diese Datei enthält die verwendeten Zugangscodes für das Wi-Fi-Netzwerk (Netzwerk-SSID und Passwort) und die Anmeldecodes der Adafruit IO-Webseite (Kontoname und IOKEY-Code). Speichern Sie diese Datei im arduino-Bibliotheksverzeichnis auf Ihrem PC mit dem Namen arduino_secrets.h in einem separaten Verzeichnis. Ersetzen Sie vor dem Speichern alle „xxx“durch Ihre eigenen Netzwerk- und Adafruit-Daten. Dies sollte in der Datei arduino_secrets.h sein:

#define SECRET_SSID „xxx“

#define SECRET_PASS „xxx“

#define IO_USERNAME „xxx“

#define IO_KEY „xxx“

Kopieren Sie die Arduino-Skizze unten und laden Sie sie über das Arduino IDE-Programm in den MKR1000.

Schritt 3: Das Adafruit-Feed

Das Adafruit-Feed
Das Adafruit-Feed

Erstellen Sie ein Konto unter www.io.adafruit.com. Adafruit ist ein Elektronikanbieter, der eine Website zum Speichern von Smart Switching-Daten unterhält.

Erstellen Sie einen ON_OFF-Feed, in dem die Befehle später gespeichert werden. Adafruit hat ein umfangreiches Tutorial, das Ihnen zeigt, wie das geht:

learn.adafruit.com/adafruit-io-basics-feeds/creating-a-feed

Am besten stellt man in der Futterhistorie den „Vorschub“auf AUS, man muss sich die Schaltbefehle nicht merken. (Die Einstellungen befinden sich auf der rechten Seite der Seite).

Schritt 4: Die IFTTT-Einstellungen

Die IFTTT-Einstellungen
Die IFTTT-Einstellungen
Die IFTTT-Einstellungen
Die IFTTT-Einstellungen
Die IFTTT-Einstellungen
Die IFTTT-Einstellungen
Die IFTTT-Einstellungen
Die IFTTT-Einstellungen

Erstellen Sie ein Konto unter www. IFTTT.com. Gehen Sie zu „Erkunden“(oben rechts) und wählen Sie dann „Ihre eigenen Applets von Grund auf neu erstellen“. Klicken Sie auf „DAS“und suchen Sie nach Google. Wählen Sie Google-Assistent. Wählen Sie dann die erste Option "Sagen Sie einen einfachen Satz". Geben Sie dann die gewünschte Befehlsbeschreibung und die zu gebende Antwort ein.

(In unserem Fall „alle Lichter einschalten“und „OK. Ich schalte alle Lichter ein. Achtung!“). Drücken Sie dann auf „Trigger erstellen“und im nächsten Bildschirm auf „DAS“. Wählen Sie dann Adafruit und klicken Sie auf „Daten an adafruit IO senden“. Im ersten Feld erscheint der ON-OFF-Feed und im zweiten Feld den gewünschten Code eingeben (hier als Beispiel „all-on“).

Klicken Sie abschließend auf „Aktion erstellen“und dann auf „Fertig stellen“.

Sie können auch jedes Mal, wenn ein Applet aktiv war, eine Nachricht auf Ihrem Telefon erhalten, um zu überprüfen, was für die Fehlerbehebung nützlich ist, aber wenn alles funktioniert, können Sie dies deaktivieren.

Will man mehrere Lichter oder andere Haushaltsgeräte steuern, muss man für jeden Befehl ein IFTTT-Applet erstellen und die im Adafruit-Feed hinterlegten Codes müssen mit den Codes in der Arduino-Skizze übereinstimmen.

Schritt 5: Testen Sie die Verbindungen und die Software

Testen Sie die Verbindungen und die Software
Testen Sie die Verbindungen und die Software

Um das System zu testen, können Sie einen Testaufbau mit LEDs anstelle von Relais vornehmen:

Schritt 6: Anschließen von Haushaltsgeräten

Anschließen von Haushaltsgeräten
Anschließen von Haushaltsgeräten
Anschließen von Haushaltsgeräten
Anschließen von Haushaltsgeräten

Um Haushaltsgeräte zu schalten, müssen Sie anstelle der Test-LEDs Schaltrelais an die Ports des Arduino MKR1000 anschließen. Verwenden Sie 1,5 mm2 Kabel auf der Seite der Hauptspannungsversorgung, um die Geräte und die Relaiskontakte sicher anzuschließen.

Empfohlen: