ESP32 - IFTTT
Dieses Tutorial zeigt dir, wie man den ESP32 mit IFTTT verwendet. Die folgenden Hauptinhalte werden vorgestellt:
- Was ist IFTTT?
- Wie man den ESP32 verwendet, um mit IFTTT zu interagieren, und umgekehrt
- Wie man den ESP32 verwendet, um über IFTTT andere Dienste (z. B. E-Mail, SMS, VoIP-Anrufe) auszulösen oder Daten an sie zu senden
- Wie man den ESP32 von anderen Diensten aus per IFTTT fernsteuert (z. B. Alexa, Siri, Google Assistant ...)
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 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 Dienste (z. B. Twitter, Facebook, Wetterdienst, E-Mail ...) miteinander verbindet. Zum Beispiel:
- IFFTT kann Ihnen helfen, Bilder automatisch in Dropbox zu speichern, die Sie auf Facebook posten.
- IFFTT kann Ihnen automatisch eine E-Mail senden, wenn es morgen regnet.
IFTTT steht für If This Then That. Es bedeutet, dass, wenn ein Dienst ausgelöst wird, führen andere IFTTT-Dienste die Aktion aus.
Aus Sicht des ESP32 ist IFTTT eine Brücke zwischen dem ESP32 und anderen Diensten. Mit IFTTT kann das ESP32 einige schwierige Dinge einfach erledigen. Zum Beispiel:
- ESP32 sendet die Benachrichtigung an das Smartphone
- ESP32 sendet die E-Mail und die SMS-Nachricht
- Google Assistant und Alexa steuern den ESP32
- Planung des ESP32 über Google Kalender
Wenn Sie sich mit IFTTT beschäftigen, müssen Sie vier wichtige Begriffe bei IFTTT kennen: Applet, Dienst, Auslöser und Aktion.
- IFTTT besteht aus Applets.
- Das Applet besteht typischerweise aus zwei IFTTT-Diensten (z. B. Evernote, Facebook, Weather Service, E-Mail...):
- Ein Dienst wird als ein Auslöser bezeichnet
- Ein Dienst wird als eine Aktion bezeichnet
- ⇒ Wenn am Auslöser etwas passiert, wird die Aktion ausgeführt
- Einige Dienste können als Auslöser dienen. Einige Dienste können als Aktion dienen. Einige Dienste können sowohl Auslöser als auch Aktion dienen:
Ein Applet kann erstellt werden:
- von der IFTTT-Firma: Um diese Art von Applet zu verwenden, müssen Sie es nur aktivieren.
- von der dritten Partei: Um diese Art von Applet zu verwenden, müssen Sie es nur aktivieren.
- von Ihnen selbst: Um diese Art von Applet zu verwenden, müssen Sie zuerst Ihr eigenes Applet erstellen und es dann aktivieren.
Um den IFTTT Applet mit dem ESP32 zu verwenden, müssen Sie ein Applet von Ihnen selbst erstellen. Machen Sie sich keine Sorgen, es ist ganz einfach.
Das Applet, das von dir selbst für ESP32 erstellt wurde, besteht aus:
- Webhooks Dienst: dieser Dienst interagiert direkt mit dem ESP32
- Ein weiterer Dienst: jeder Dienst, den Sie verwenden möchten (z. B. Twitter, Facebook, Wetterdienst, E-Mail ...)
Es gibt zwei Anwendungsfälle:
- ESP32 löst IFTTT aus: Der ESP32 löst IFTTT aus, um etwas zu tun. Zum Beispiel löst der ESP32 IFTTT aus, eine E-Mail zu senden
- IFTTT löst ESP32 aus: Ein externer Dienst löst IFTTT aus, und dann löst IFTTT den ESP32 aus, um etwas zu tun. Zum Beispiel sagt Alexa dem ESP32, das Licht einzuschalten
Wir werden beide Fälle der Reihe nach lernen.

Wie ESP32 IFTTT auslöst
Wir müssen ein IFTTT Applet erstellen, das:
- Der Webhooks-Dienst fungiert als Auslöser
- Der andere Dienst (z. B. E-Mail) fungiert als Aktion
Nachdem Sie einen IFTTT Applet für ESP32 erstellt haben:
- Der ESP32 interagiert mit dem Webhooks Dienst in IFTTT, indem er eine HTTP/HTTPS-Anfrage an den Webhooks Dienst sendet.
- Der Webhooks Dienst löst in IFTTT automatisch einen anderen Dienst aus.
- Der andere Dienst in IFTTT führt eine Aktion aus (z. B. E-Mail senden).
Wie man den ESP32 dazu bringt, IFTTT auszulösen
- Erstelle ein IFTTT-Konto
- Melde dich bei IFTTT an
- Erstelle ein Applet, das Webhooks mit dem gewünschten Dienst verbindet (z. B. E-Mail, Twitter, VoIP ...)
- Gehe zur Webhooks-Dokumentationsseite, um den Webhooks-Schlüssel zu erhalten.
- Schreibe ESP32-Code, um HTTP-POST- oder HTTP-GET-Anfragen an Webhooks zu senden.
Um zu lernen wie man eine HTTP-Anfrage mit dem ESP32 stellt.
Was wir in die HTTP-Anfrage aufnehmen müssen.
- Webhooks-Schlüssel: von IFTTT bereitgestellt. Es ist ein eindeutiger und geheimer Schlüssel zur Identifizierung Ihrer Webhooks. Sie können diesen Schlüssel finden, indem Sie sich bei der IFTTT-Website anmelden.
- Event-Name: von Ihnen festgelegt, wenn Sie das Applet erstellen. Es ist der Name zur Identifizierung des Ereignisses.
- (Optional) Daten: Der ESP32 kann die Daten in die an IFTTT gesendete HTTP-Anfrage einbeziehen.
Der Webhook-Schlüssel und der Ereignisname sind Teile der URL. Daten sind optional und in der Abfragezeichenfolge enthalten. Der IFTTT-Webhook erlaubt eine Abfragezeichenfolge mit bis zu drei Variablen mit den festen Namen: value1, value2, value3.
Die URL-Formate der HTTP-GET-Anfrage:
- Der Auslöser ohne Daten:
- Der Auslöser mit einer Variable:
- Der Trigger mit zwei Variablen:
- Der Auslöser mit drei Variablen:
Ersetzen Sie EVENT_NAME und YOUR_KEY in den oben genannten Formaten.
Wie man Daten vom ESP32 an IFTTT sendet
Um Daten vom ESP32 an andere IFTTT-Dienste (z. B. E-Mail, Facebook) zu senden, müssen wir Folgendes tun:
- In ESP32: Daten in die HTTP-Anfrage einfügen
- In Applet: die Einstellung ändern, um Daten aus der HTTP-Anfrage zu extrahieren.
Der Arbeitsablauf:
- ESP32 sendet eine HTTP/HTTPS-Anfrage an den IFTTT Webhooks-Dienst
- Webhooks-Dienst extrahiert die Daten aus der HTTP-Anfrage
- Webhooks-Dienst löst einen weiteren IFTTT-Dienst aus und übergibt dabei Daten an den Trigger.
- Ein weiterer Dienst führt die Aktion aus
Es gibt fünf Variablen, die in der Webhooks-Konfiguration beim Erstellen des Applet angegeben werden können:
{{EventName}} | When specified this variable, the data will be extracted from HTTP request |
---|---|
{{OccurredAt}} | When specified this variable, the data will be the IFTTT system time |
{{Value1}} | When specified this variable, the data will be extracted from the variable value1 in the query string in HTTP request |
{{Value2}} | When specified this variable, the data will be extracted from the variable value2 in the query string in HTTP request |
{{Value3}} | When specified this variable, the data will be extracted from the variable value3 in the query string in HTTP request |
Die detaillierte Anleitung wird in speziellen Tutorials vorgestellt.
Beispielcode
Die Anleitungen und der Beispielcode für den ESP32, der Daten an andere IFTTT-Dienste sendet, sind in den untenstehenden Tutorials verfügbar:
Wie IFTTT den ESP32 auslöst
- Ein externer Dienst löst einen IFTTT Dienst aus
- Der IFTTT Dienst löst automatisch den Webhooks Dienst aus
- Der Webhooks Dienst sendet automatisch eine HTTP/HTTPS-Anfrage an den ESP32. In diesem Fall muss der ESP32 als Webserver fungieren, um die Anfrage vom IFTTT Webhooks Dienst zu verarbeiten.
Das Folgende ist ein Beispiel dafür, wie der ESP32 mit dem Amazon Echo Dot interagiert.

Wie man IFTTT dazu bringt, den ESP32 auszulösen
- Melden Sie sich bei The IFTTT an
- Erstellen Sie ein Applet, das eine Dienst (z. B. Google Assistant, Amazon Alexa, Google Calendar ...) mit dem Webhooks Dienst verbindet:
- Der andere Dienst ist der Auslöser
- Der Webhooks Dienst ist die Aktion
- Schreiben Sie ESP32-Code, um HTTP-Anfragen von Webhooks zu verarbeiten.
Beim Erstellen des Applet mit Webhooks Webhooks-Dienst ist ein Auslöser, der die Eingabe der IP-Adresse des ESP32 erfordert. Wenn ein Ereignis ausgelöst wird, sendet IFTTT eine HTTP-Anfrage an den ESP32 über die eingegebene IP-Adresse.
Die detaillierte Anleitung wird in bestimmten Tutorials vorgestellt.
Beispielcode
Die Anleitung und der Beispielcode dazu, wie IFTT den ESP32 auslöst, sind in den folgenden Tutorials verfügbar.