Inhaltsverzeichnis:

Verbinden Sie Ihr Arduino mit externen Diensten - Gunook
Verbinden Sie Ihr Arduino mit externen Diensten - Gunook

Video: Verbinden Sie Ihr Arduino mit externen Diensten - Gunook

Video: Verbinden Sie Ihr Arduino mit externen Diensten - Gunook
Video: Relais anschließen und ansteuern mit einem Arduino 2024, Juli
Anonim
Verbinden Sie Ihr Arduino mit externen Diensten
Verbinden Sie Ihr Arduino mit externen Diensten

Hallo! Dieses Tutorial zeigt Ihnen, wie Sie Ihr verbundenes Arduino- oder IOT-Gerät Ihrer Wahl mit einem externen Dienst verbinden. Für dieses Tutorial arbeiten wir mit Easy Window (einem fiktiven, aber programmierbaren Smart Window), If This Then That und Adafruit IO.

Wir werden If This Then That (ab jetzt IFTTT) verwenden, um unsere Easy Window-Vorhänge zu öffnen, wenn es draußen sonnig ist.

Schritt 1: Anforderungen

Anforderungen
Anforderungen

Dieses Tutorial erwartet, dass Sie bereits wissen, wie Sie Ihr Arduino-Board mit Adafruit verbinden und einen Feed einrichten. Falls Sie eine kurze Erinnerung daran benötigen, können Sie diesem Tutorial (auf Niederländisch) folgen.

- Ihr Arduino-Board Ihrer Wahl. Es muss WLAN aktiviert sein.

- Ein Micro-USB-Kabel

- Ein Computer mit installierter Arduino IDE

- Ein Konto bei Adafruit IO (Anmeldelink)

- Ein Konto bei If This Then That (Anmeldelink)

Schritt 2: Einrichten Ihres Adafruit IO-Feeds

Einrichten Ihres Adafruit IO-Feeds
Einrichten Ihres Adafruit IO-Feeds

Lassen Sie uns den Adafruit IO-Feed einrichten, an den wir unsere Daten senden müssen:

  1. Melden Sie sich bei Adafruit IO an und klicken Sie in der Menüleiste oben links auf "Feeds".
  2. Klicken Sie auf "Aktionen" und dann auf "Neuen Feed erstellen". Wir nennen es "WindowCurtains", aber Sie können es beliebig benennen.
  3. Klicken Sie auf "Erstellen" und fertig!

Schritt 3: Einrichten des If This Then That Applet

Einrichten des If This Then That Applets
Einrichten des If This Then That Applets
Einrichten des If This Then That Applets
Einrichten des If This Then That Applets
Einrichten des If This Then That Applets
Einrichten des If This Then That Applets

Wir werden IFTTT verwenden, um unsere Easy Window-Vorhänge zu öffnen, wenn es draußen sonnig wird. In diesem Schritt wählen wir eine Triggerbedingung aus und verbinden sie mit Adafruit IO, um Daten an unseren WindowCurtains-Feed zu senden.

Sobald Sie Ihr IFTTT-Konto bereit haben, können Sie Ihr erstes Applet erstellen.

  1. Gehen Sie auf der IFTTT-Website in die obere rechte Ecke, klicken Sie auf Ihren Benutzernamen und wählen Sie dann "Neues Applet".
  2. Jetzt müssen wir unseren Auslöser auswählen. Klicken Sie auf die hervorgehobene Schaltfläche "+this", suchen Sie nach Weather Underground und wählen Sie dann den Dienst aus.
  3. Suchen Sie nach der Kachel "Aktueller Zustand ändert sich in", wählen Sie sie aus und wählen Sie "Löschen" aus dem Dropdown-Menü.

Mit unserem Trigger-Setup können wir jetzt unseren Aktionsservice auswählen.

  1. Suchen Sie nach Adafruit und wählen Sie den Dienst aus.
  2. Wählen Sie "Daten an Adafruit IO senden".
  3. Wählen Sie den Feed aus, an den Sie Daten senden möchten. Dies sollte diejenige sein, die Sie im vorherigen Schritt erstellt haben.
  4. Geben Sie im Feld "Zu speichernde Daten" "Öffnen" ein. Dies sind die Daten, die an den Adafruit-Feed gesendet werden.
  5. Klicken Sie auf "Aktion erstellen", überprüfen Sie Ihre Bedingungen auf dem nächsten Bildschirm und klicken Sie auf "Fertig stellen", wenn Sie fertig sind.

Schritt 4: Verbinden unseres IOT-Geräts mit Adafruit IO und WiFi

Verbinden unseres IOT-Geräts mit Adafruit IO und WiFi
Verbinden unseres IOT-Geräts mit Adafruit IO und WiFi

Nachdem wir nun den Adafruit IO-Feed und das IFTTT-Applet eingerichtet haben, werden wir uns ansehen, wie wir diese Dienste mit unserem IOT-Gerät kommunizieren lassen können.

  1. Öffnen Sie die Arduino-IDE.
  2. Gehen Sie zu Datei > Beispiele > Adafruit IO Arduino > adafruitio_14_neopixel
  3. Gehen Sie zum zweiten Tab namens "config.h"
  4. Unter dem ersten Kommentarbereich namens "Adafruit IO Config" finden Sie diese Codezeilen:

#define IO_USERNAME "Ihr_Benutzername"

#define IO_KEY "Ihr_Schlüssel"

Ersetzen Sie "your_username" und "your_key" durch Ihren Adafruit IO-Benutzernamen und AIO-Schlüssel und lassen Sie die Anführungszeichen.

Unter dem zweiten Kommentarabschnitt sollten diese beiden Codezeilen stehen:

#define WIFI_SSID "your_ssid"#define WIFI_PASS "your_pass"

Ersetzen Sie "your_ssid" und "your_pass" durch die WLAN-Anmeldeinformationen Ihres Routers und lassen Sie die Anführungszeichen.

Wichtig: Ihr Arduino funktioniert nur in 2,4 GHz-Netzwerken. Um zu überprüfen, ob Ihr Netzwerk mit der richtigen Frequenz arbeitet, gehen Sie zu den WLAN-Einstellungen Ihres Computers > wählen Sie Ihr Netzwerk aus > Eigenschaften. Suchen Sie nach etwas in der Art von "Netzwerkband" und stellen Sie sicher, dass es 2,4 GHz ist. Unter Windows 10 sieht es wie im Screenshot oben aus.

Schritt 5: Unsere Hände mit Arduino-Code schmutzig machen

Mit Arduino-Code die Hände schmutzig machen
Mit Arduino-Code die Hände schmutzig machen

Suchen Sie in derselben adafruit_14_neopixel-Skizze wie im vorherigen Schritt alle Zeilen mit "color" und ersetzen Sie sie durch "WindowCurtains". Dann mach das gleiche mit "neopixel" und ändere es mit "EasyWindow"

Unter dem zweiten Kommentarabschnitt mit dem Namen "Beispiel beginnt hier" ersetzen Sie

#include "Adafruit_NeoPixel.h"

#define FENSTER_PIN 5

#define PIXEL_COUNT 5

mit

#include "EasyWindow.h"

#define FENSTER_PIN 5

Am Ende der handleMessage void schreiben wir eine if-Anweisung, die unsere Easy Window-Vorhänge öffnet, wenn diese Bedingungen erfüllt sind:

if (WindowCurtain.message == Öffnen) { window.open(); } Ihr endgültiger Code sollte so aussehen

// Adafruit IO RGB-LED-Ausgabebeispiel // // Adafruit investiert Zeit und Ressourcen, um diesen Open-Source-Code bereitzustellen. // Bitte unterstützen Sie Adafruit und Open-Source-Hardware, indem Sie // Produkte von Adafruit kaufen! // // Geschrieben von Todd Treece für Adafruit Industries // Copyright (c) 2016-2017 Adafruit Industries // Lizenziert unter der MIT-Lizenz. // // Der gesamte obige Text muss in jede Neuverteilung aufgenommen werden.

/************************** Aufbau ********************** ************

/ Bearbeiten Sie die Registerkarte config.h und geben Sie Ihre Adafruit IO-Anmeldeinformationen ein

// und jede zusätzliche Konfiguration, die für WiFi-, Mobilfunk-, // oder Ethernet-Clients erforderlich ist. #include "config.h"

/************************ Beispiel beginnt hier ********************* *********/

#include "EasyWindow.h"

#define FENSTER_PIN 5

// den 'WindowCurtain'-Feed einrichten

AdafruitIO_Feed *WindowCurtain = io.feed("WindowCurtain");

Leere Einrichtung () {

// die serielle Verbindung starten

Serial.begin(115200);

// warten, bis der serielle Monitor geöffnet wird

während (! Seriell);

// mit io.adafruit.com verbinden

Serial.print ("Verbindung mit Adafruit IO"); io.connect();

// Einrichten eines Nachrichtenhandlers für den Feed 'WindowCurtain'.

// die handleMessage-Funktion (unten definiert) // wird immer dann aufgerufen, wenn eine Nachricht // von adafruit io empfangen wird. WindowCurtain->onMessage(handleMessage);

// auf eine Verbindung warten

Während (io.status () < AIO_CONNECTED) { Serial.print ("."); Verzögerung (500); }

// wir sind verbunden

Serial.println(); Serial.println (io.statusText()); Fenstervorhang->get();

// Einfache Fensterinitiation

fenster.begin(); }

Leere Schleife () {

// io.run(); ist für alle Skizzen erforderlich.

// Sie sollte immer am Anfang Ihrer // Schleife stehen. es hält den Client mit // io.adafruit.com verbunden und verarbeitet alle eingehenden Daten. io.run();

}

// diese Funktion wird immer dann aufgerufen, wenn eine 'WindowCurtain'-Meldung

// wird von Adafruit IO empfangen. es wurde // dem WindowCurtain-Feed in der Funktion setup() oben angehängt. void handleMessage(AdafruitIO_Data *data) {

// RGB-Werte und Hex-Wert drucken

Serial.println ("Empfangener Befehl: "); Serial.println (Daten-> Wert ());

long WindowCurtains = data->toEasyWindow();

if (WindowCurtain.message == Open) {

fenster.open(); } }

Schritt 6: Laden Sie Ihren Code hoch und testen Sie ihn

Laden Sie Ihren Code hoch und testen Sie ihn
Laden Sie Ihren Code hoch und testen Sie ihn

Sie können jetzt Ihren Code auf Ihr Arduino-Board hochladen. Verbinden Sie es mit dem USB-Kabel mit Ihrem Computer und drücken Sie die Schaltfläche "Upload" in der oberen linken Ecke der Arduino IDE (sie sieht aus wie ein nach rechts zeigender Pfeil).

Wenn alles gut geht, sollte Ihr Code ohne Probleme auf Ihr Board hochgeladen werden. Sie können den Verbindungsstatus im seriellen Monitor der IDE unter Tools > Serial Monitor überprüfen. Wenn Ihr Gerät verbunden ist, erhalten Sie die Meldung "Verbunden!" und wenn es draußen klar ist, sendet IFTTT eine „Open“-Nachricht an den „WindowCurtains“-Feed, wodurch Easy Window die Vorhänge öffnet. Dies sollte auch im seriellen Monitor mit "Received command: Open" gespiegelt werden.

Herzliche Glückwünsche! Sie haben das Ende des Tutorials erreicht und gelernt, wie Sie Ihr Arduino IOT-Gerät mit IFTTT verbinden und bestimmte Bedingungen auslösen.

Empfohlen: