ESP32 - IFTTT

Deze handleiding instructeert u over het gebruik van ESP32 met IFTTT. De volgende hoofdonderwerpen worden behandeld:

Hardware benodigd

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×(optioneel) DC Power Jack
1×Breadboard (experimenteerprint)
1×Jumper draden
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Wat is IFTTT?

IFTTT is een gratis webservice die verschillende diensten (zoals Twitter, Facebook, Weerdienst, Email ...) met elkaar verbindt. Bijvoorbeeld:

  • IFTTT kan automatisch afbeeldingen die u op Facebook plaatst opslaan in Dropbox.
  • IFTTT kan automatisch een e-mail versturen als het morgen regent.

IFTTT staat voor If This Then That. Dit betekent dat als een dienst wordt geactiveerd, een andere IFTTT-dienst de actie uitvoert.

Vanuit het perspectief van de ESP32 is IFTTT een brug tussen ESP32 en andere diensten. Met IFTTT kan ESP32 een aantal lastige taken eenvoudig uitvoeren. Bijvoorbeeld:

  • ESP32 stuurt een notificatie naar de smartphone
  • ESP32 verstuurt e-mail of SMS-bericht
  • Google Assistant, Alexa bestuurt ESP32
  • Planning voor ESP32 via Google Agenda

Wanneer u IFTTT leert gebruiken, moet u vier belangrijke termen kennen binnen IFTTT: Applet, service, trigger en action.

  • IFTTT bestaat uit Applets.
  • De Applet bevat meestal twee IFTTT-services (bijv. Evernote, Facebook, Weerdienst, Email ...):
    • Eén service wordt een trigger genoemd
    • Eén service wordt een actie genoemd
  • Wanneer er iets gebeurt bij de trigger, wordt de actie uitgevoerd
  • Sommige services kunnen alleen trigger zijn, sommige alleen action, en sommige kunnen beide zijn.

Een Applet kan op drie manieren ontstaan:

  • door het bedrijf IFTTT zelf: U hoeft alleen maar de Applet te activeren
  • door derden: Ook hier hoeft u de Applet alleen maar te activeren
  • door uzelf: U moet zelf een Applet maken en daarna activeren

Voor het gebruik van een IFTTT Applet met ESP32 moet u een Applet zelf aanmaken. Maak u geen zorgen, het is heel eenvoudig.

De zelfgemaakte Applet voor ESP32 bestaat uit:

  • Webhooks service: deze service communiceert rechtstreeks met ESP32
  • Een andere service: elke gewenste dienst (bijv. Twitter, Facebook, Weerdienst, Email ...)

Er zijn twee gebruiksscenario's:

  • ESP32 activeert IFTTT: ESP32 activeert IFTTT om iets te doen. Bijvoorbeeld, ESP32 activeert IFTTT om een e-mail te verzenden
  • IFTTT activeert ESP32: Een externe dienst activeert IFTTT, die op zijn beurt ESP32 activeert om iets te doen. Bijvoorbeeld, Alexa zegt tegen ESP32 om een licht aan te zetten

We behandelen beide cases één voor één.

ESP32 IFTTT

Hoe ESP32 IFTTT activeert

We moeten een IFTTT Applet maken waarbij:

  • De Webhooks service fungeert als trigger
  • De andere service (bijv. Email) fungeert als actie

Na het maken van de IFTTT Applet voor ESP32:

  • ESP32 communiceert met de Webhooks service binnen IFTTT door HTTP/HTTPS-verzoeken te doen aan Webhooks
  • De Webhooks service activeert automatisch andere services binnen IFTTT
  • De andere service voert dan de actie uit (bijv. het versturen van een e-mail)

Hoe ESP32 IFTTT activeert

  • Maak een IFTTT-account aan
  • Log in op IFTTT
  • Maak een Applet die Webhooks verbindt met een gewenste service (bijv. E-mail, Twitter, VoIP ...)
  • Ga naar de documentatiepagina van Webhooks om uw Webhooks-sleutel te vinden
  • Schrijf ESP32-code om HTTP (POST of GET) verzoeken te maken naar Webhooks

Leer hoe je HTTP-verzoeken maakt met ESP32.

Wat moet worden meegestuurd in het HTTP verzoek:

  • Webhooks sleutel: uniek en geheim sleuteltje om uw Webhooks te identificeren. U vindt deze in uw IFTTT-account
  • Event name (gebeurtenisnaam): door uzelf gekozen bij het maken van de Applet. Het identificeert de gebeurtenis
  • (Optioneel) Data: ESP32 kan data meesturen in het HTTP verzoek naar IFTTT

De Webhooks sleutel en event name maken deel uit van de URL. Data is optioneel en wordt toegevoegd in de query string. De IFTTT Webhook accepteert maximaal 3 variabelen in de query string met vaste namen: value1, value2, value3.

Voorbeelden van HTTP GET-request URLs:

  • Trigger zonder data:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY
  • Trigger met één variabele:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25
  • Trigger met twee variabelen:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25&value2=19
  • Trigger met drie variabelen:
http://maker.ifttt.com/trigger/EVENT_NAME/with/key/YOUR_KEY?value1=25&value2=19&value3=6

Vervang EVENT_NAME en YOUR_KEY met uw eigen waarden in bovenstaande URL's.

Hoe data van ESP32 naar IFTTT te versturen

Om data van ESP32 naar een andere IFTTT-service (bijv. Email, Facebook) te sturen, moet u:

  • In ESP32: data toevoegen in het HTTP-verzoek
  • In de Applet: de instellingen aanpassen om de data uit het HTTP-verzoek te halen

Het werkproces:

  1. ESP32 maakt een HTTP/HTTPS verzoek naar de Webhooks service van IFTTT
  2. Webhooks service haalt data uit het HTTP-verzoek
  3. Webhooks service activeert een andere IFTTT service en stuurt data mee met de trigger
  4. De andere service voert de actie uit

Er zijn vijf variabelen die ingesteld kunnen worden in de Webhooks configuratie tijdens het aanmaken van de Applet:

{{EventName}} Hiermee wordt data uit het HTTP-verzoek gehaald
{{OccurredAt}} Hiermee wordt de IFTTT-systeemtijd gebruikt
{{Value1}} Houdt de data uit de variabele value1 uit de query string van het HTTP-verzoek vast
{{Value2}} Houdt de data uit de variabele value2 uit de query string van het HTTP-verzoek vast
{{Value3}} Houdt de data uit de variabele value3 uit de query string van het HTTP-verzoek vast

De uitgebreide instructies worden gepresenteerd in specifieke tutorials.

Voorbeeldcode

De instructie en voorbeeldcode voor ESP32 die data naar andere IFTTT-services verzendt zijn beschikbaar in de onderstaande tutorials:

Hoe IFTTT ESP32 activeert

  • Een externe service activeert een IFTTT service
  • De IFTTT service activeert automatisch de Webhooks service
  • De Webhooks service maakt automatisch een HTTP/HTTPS-verzoek naar ESP32. In dit geval moet ESP32 de functie van webserver vervullen om deze verzoeken van de IFTTT Webhooks te kunnen verwerken

Onderstaand een voorbeeld van hoe ESP32 samenwerkt met Amazon Echo Dot.

IFTTT Alexa how it works

Hoe IFTTT ESP32 activeert

  • Log in op IFTTT
  • Maak een Applet, die een service (bijv. Google Assistant, Amazon Alexa, Google Agenda ...) verbindt met de Webhooks service:
    • De andere service is de trigger
    • De Webhooks service is de actie
  • Schrijf ESP32 code om HTTP-verzoeken van Webhooks te verwerken

Bij het maken van de Applet waarbij Webhooks service als actie dient, moet u het IP-adres van uw ESP32 invullen in de Webhook-instellingen. Wanneer een gebeurtenis wordt geactiveerd, verstuurt IFTTT een HTTP-verzoek naar ESP32 via dit IP-adres.

De gedetailleerde instructies worden gepresenteerd in specifieke tutorials.

Voorbeeldcode

De instructies en voorbeeldcode voor het laten activeren van ESP32 via IFTTT zijn te vinden in de onderstaande tutorials:

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!