ESP32 - IFTTT

Dieses Tutorial zeigt dir, wie man den ESP32 mit IFTTT verwendet. Die folgenden Hauptinhalte werden vorgestellt:

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×(Optional) DC-Stromanschluss
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

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)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

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.

ESP32 IFTTT

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:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY
  • Der Auslöser mit einer Variable:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25
  • Der Trigger mit zwei Variablen:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25&value2=19
  • Der Auslöser mit drei Variablen:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25&value2=19&value3=6

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:

  1. ESP32 sendet eine HTTP/HTTPS-Anfrage an den IFTTT Webhooks-Dienst
  2. Webhooks-Dienst extrahiert die Daten aus der HTTP-Anfrage
  3. Webhooks-Dienst löst einen weiteren IFTTT-Dienst aus und übergibt dabei Daten an den Trigger.
  4. 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.

IFTTT Alexa: wie es funktioniert

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.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!