Arduino - IFTTT
In diesem Tutorial werden wir lernen, wie man Arduino mit IFTTT verwendet. Im Detail werden wir lernen:
- Was ist IFTTT?
- Wie Arduino und IFTTT miteinander funktionieren
- Wie externe Dienste (Google Assistant, Alexa ...) Arduino über IFTTT steuern
- Wie Arduino über IFTTT externe Dienste auslöst bzw. Daten an sie sendet (E-Mail, SMS, Sprachanruf ...)
IFTTT macht Arduino möglich:
- Arduino sendet eine Benachrichtigung an dein Smartphone
- Arduino sendet eine E-Mail
- Arduino sendet eine SMS-Nachricht
- Google Assistant steuert Arduino
- Amazon Echo (Alexa) steuert Arduino
- Plane einen Zeitplan für Arduino über Google Kalender
Und viel, viel mehr als jene.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Was ist IFTTT?
IFTTT ist ein kostenloser Webdienst, der verschiedene Webdienste miteinander verbindet. Zum Beispiel:
- Wenn Sie Ihr Facebook-Konto über IFTTT mit Dropbox verbinden, kann IFTTT das Foto automatisch in Dropbox speichern, jedes Mal, wenn Sie ein Foto auf Facebook posten.
- Wenn Sie Ihr Amazon Alexa über IFTTT mit Ihrem E-Mail-Konto verbinden, kann IFTTT Ihnen automatisch eine E-Mail senden, sobald Sie Alexa fragen, was auf Ihrer Einkaufsliste steht.
Es gibt vier wichtige Konzepte bei IFTTT: Applet, Dienst, Auslöser und Aktion.
- IFTTT besteht aus Applets.
- Der Applet besteht typischerweise aus zwei IFTTT-Diensten. Ein Dienst fungiert als Auslöser und der andere fungiert als Aktion. IFTTT-Dienste in einem Applet sind miteinander verbunden.
- IFTTT-Dienst (z. B. Twitter, Dropbox, Evernote, Facebook, E-Mail, Amazon Alexa und Google Assistant...) tut entweder:
- Die Anfrage von außen empfangen und dann andere IFTTT-Dienste im selben Applet auslösen (fungiert als Auslöser)
- Von anderen IFTTT-Diensten im selben Applet ausgelöst werden und dann etwas mit externen Diensten tun (fungiert als Aktion)
- Ein Applet kann aus drei oder mehr IFTTT-Diensten bestehen. Es liegt außerhalb des Rahmens dieses Tutorials.
- Bitte verwechseln Sie nicht den in IFTTT verwendeten Dienst mit dem externen Dienst. Sie können denselben Namen tragen. Zum Beispiel ist Alexa ein Sprachdienst, der von Amazon entwickelt und betrieben wird; IFTTT hat ebenfalls einen Dienst namens Alexa, der mit Amazon Alexa interagiert. Daher nennen wir den Dienst in IFTTT IFTTT-Dienst, und der Nicht-IFTTT-Dienst ist der externe Dienst.
- von der IFTTT-Firma: Sie müssen es einfach aktivieren, um es zu verwenden
- vom Drittanbieter: Sie müssen es einfach aktivieren, um es zu verwenden
- von Ihnen selbst: Sie können Ihr eigenes Applet erstellen und es zur Verwendung aktivieren. Es ist sehr einfach, Applets zu erstellen.
※ Notiz:
Das Applet wird erstellt:
Um mit Arduino zu arbeiten, musst du selbst ein Applet erstellen. Mach dir keine Sorgen, es ist sehr einfach, ein Applet zu erstellen.
IFTTT steht für "If This Then That". Es bedeutet, wenn ein Dienst ausgelöst wird, führen andere IFTTT-Dienste die Aktion aus.
Voraussetzung
Erstellen Sie ein IFTTT-Konto. Es ist kostenlos und ganz einfach zu erstellen.
Wie Arduino und IFTTT miteinander funktionieren
Im Allgemeinen interagiert Arduino mit IFTTT, IFTTT interagiert mit den externen Diensten und umgekehrt.

Weitere Details, Arduino interagiert mit einem Applet in IFTTT, das Applet interagiert mit externen Diensten, und umgekehrt.
Im Detail interagiert Arduino mit dem Webhooks-Service Service in IFTTT, der Webhooks-Service löst andere Service in IFTTT aus, der andere Service in IFTTT interagiert mit externen Diensten, und umgekehrt. Nachfolgendes ist ein Beispiel dafür, wie Arduino mit dem Amazon Echo Dot interagiert.

Zusammenfassung
In general | Arduino | ↔ | IFTTT | ↔ | Outside services |
More detail | Arduino | ↔ | Applet in IFTTT | ↔ | Outside services |
In depth | Arduino | ↔ | (Webhooks ↔ Other service) in IFTTT | ↔ | Outside services |
Wir müssen ein Applet von Webhooks erstellen und einen weiteren Dienst. Je nach Anwendungsfall können Webhooks als Auslöser oder als Aktion fungieren.
Es gibt zwei Kategorien von Anwendungsfällen:
- Ein weiterer Dienst steuert Arduino über IFTTT (z. B. Google Assistant, Amazon Alexa steuern Arduino)
- Arduino sendet Daten an einen anderen IFTTT-Dienst über IFTTT (z. B. Benachrichtigung an dein Telefon senden, einen Tweet auf Twitter posten)
Lassen Sie uns jeden Punkt einzeln im Detail ansehen.
Wie externe Dienste Arduino über IFTTT steuern
Wie oben erwähnt, umfasst ein IFTTT Applets normalerweise zwei IFTTT-Dienste: Einer fungiert als Auslöser und der andere fungiert als Aktion. In diesem Fall fungiert Webhooks als Auslöser.
In der Interaktion zwischen Arduino und Webhooks fungiert Arduino als Webserver, Webhooks von IFTTT fungieren als Webclient.
Der Arbeitsablauf:
- Ein Dienst löst ein Ereignis beim entsprechenden Dienst auf IFTTT aus
- Der entsprechende Dienst auf IFTTT extrahiert die Daten aus dem Ereignis, sofern vorhanden
- Der entsprechende Dienst auf IFTTT löst Webhooks von IFTTT aus (einschließlich der Daten, sofern vorhanden)
- Die Webhooks von IFTTT führen die Aktion aus, indem sie eine HTTP-Anfrage an Arduino senden (einschließlich der Daten, sofern vorhanden)
- Arduino extrahiert die Daten aus der HTTP-Anfrage und macht etwas.
Das unten gezeigte Bild zeigt, wie der Amazon Echo den Arduino über IFTTT steuert.

So verwenden Sie IFTTT mit Arduino
- Bei IFTTT anmelden
- Erstellen Sie ein Applet, das einen gewünschten Dienst (z. B. Google Assistant, Amazon Alexa, Google Kalender ...) mit Webhooks verbindet. Webhooks dienen als Aktion und ein anderer Dienst dient als Auslöser.
- Schreiben Sie Arduino-Code, um HTTP-Anfragen von Webhooks zu verarbeiten.
Wenn Sie das Applet erstellen, wird die IP-Adresse des Arduino in die Applet-Einstellungen eingegeben. Wenn ein Ereignis ausgelöst wird, sendet IFTTT eine HTTP-Anfrage an das Arduino über die eingegebene IP-Adresse.
Die detaillierte Schritt-für-Schritt-Anleitung wird in bestimmten Tutorials präsentiert.
Beispielcode
Schritt-für-Schritt-Anleitungen und Beispielcodes eines weiteren Dienstes, der Arduino über IFTTT steuert, sind in den folgenden Tutorials verfügbar:
Wie Arduino über IFTTT einen externen Dienst auslöst und Daten sendet
Wie oben erwähnt, umfassen IFTTT Applets normalerweise zwei IFTTT-Dienste: Einer fungiert als Auslöser und der andere als Aktion. In diesem Fall fungiert Webhooks als Aktion.
In der Interaktion zwischen Arduino und Webhooks fungiert Arduino als Web-Client, Webhooks von IFTTT fungieren als Webserver.
Der Arbeitsablauf:
- Arduino macht eine HTTP- oder HTTPS-Anfrage an die Webhooks von IFTTT.
- Webhooks extrahieren die Daten aus der HTTP-Anforderung, falls vorhanden.
- Webhooks von IFTTT lösen einen weiteren Service von IFTTT aus (einschließlich Daten, falls vorhanden).
- Ein weiterer Service von IFTTT führt die Aktion aus.
Das untenstehende Bild zeigt, wie Arduino eine E-Mail über IFTTT sendet.

Wie man
Was wir tun müssen
- Bei IFTTT anmelden
- Erstelle ein Applet, das Webhooks mit einem gewünschten Dienst verbindet (z. B. E-Mail, Twitter, VoIP ...). Webhooks fungieren als der Trigger und ein anderer Dienst fungiert als die Aktion
- Gehe zur Dokumentationsseite von Webhooks, um den Webhooks-Schlüssel zu erhalten.
- Schreibe Arduino-Code, um eine HTTP-POST- oder HTTP-GET-Anfrage an Webhooks zu senden.
Um zu lernen wie man eine HTTP-Anfrage mit Arduino sendet.
Was wir in die HTTP-Anfrage aufnehmen müssen
- Webhooks-Schlüssel: Einzigartiger und geheimer Schlüssel zur Identifizierung Ihrer Webhooks. Ein Konto hat nur einen Schlüssel. Sie können sich in Ihr Konto einloggen und ihn von der IFTTT-Website kopieren.
- Ereignisname: Der Name zur Identifizierung des Ereignisses. Der Ereignisname wird von Ihnen festgelegt, wenn Sie das Applet erstellen. Ein Konto kann mehrere Ereignisnamen erstellen.
- (Optional) Daten: Sie können die Sensordaten an IFTTT senden.
Webhook-Schlüssel und Ereignisname sind Teile der URL. Daten sind optional und werden in der Abfragezeichenfolge übermittelt. Wie im HTTP-Tutorial erwähnt, ist die Abfragezeichenfolge ein Teil der URL bei GET-Anfragen und ist der HTTP-Body bei POST-Anfragen.
Der Abfrage-String erlaubt höchstens drei Variablen mit den festen Namen: value1, value2, value3.
HTTP-GET-Anforderungsformat:
- Sende den Auslöser ohne Daten: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY
- Sende den Auslöser mit einer Variable: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10
- Sende den Auslöser mit zwei Variablen: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21
- Sende den Auslöser mit drei Variablen: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21&value3=25
Ersetze EVENT-NAME, YOUR-KEY und die Werte im oben genannten Format.
Wie man Daten von Arduino an IFTTT sendet
Um Daten vom Arduino an einen anderen IFTTT-Dienst (z. B. E-Mail, Facebook) zu senden, müssen wir Folgendes tun:
- In Arduino: Daten in die HTTP-Anfrage einfügen
- In Applet: die Einstellung ändern, um Daten aus der HTTP-Anfrage zu extrahieren.
Es gibt 5 Variablen, die wir in den Einstellungen von IFTTT Applet verwenden können:
{{EventName}} | Extracted from HTTP request |
---|---|
{{OccurredAt}} | System time when event occurs |
{{Value1}} | Extracted from the variable value1 of query string in HTTP request |
{{Value2}} | Extracted from the variable value2 of query string in HTTP request |
{{Value3}} | Extracted from the variable value3 of query string in HTTP request |
Die detaillierte Schritt-für-Schritt-Anleitung wird in bestimmten Tutorials präsentiert.
Beispielcode
Schritt-für-Schritt-Anleitungen und Beispielcodes, wie Arduino Daten an einen anderen IFTTT-Dienst über IFTTT sendet, sind in den folgenden Tutorials verfügbar:
Zusätzliches Wissen
Wenn ein Arduino eine HTTP-Anfrage an die Webhooks von IFTTT sendet, wie unterscheidet IFTTT die Anfrage von meinem Arduino oder dem Arduino eines anderen?
⇒ Ihre HTTP-Anfrage enthält Ihren Webhooks-Schlüssel. Jedes Konto hat einen einzigen Webhooks-Schlüssel. IFTTT verwendet den Webhooks-Schlüssel, um Sie zu identifizieren.
⇒ Sie können mehrere Applets erstellen. Jedes Applet entspricht einem Auslöser.
Wie kann Arduino mehr als drei Variablen an IFTTT senden?
Sie können einige Daten in einer einzigen Variable der Abfragezeichenfolge mit dem von Ihnen festgelegten Trennzeichen zusammenführen. Zum Beispiel: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21&value3=25-32