Arduino - IFTTT
In deze tutorial gaan we leren hoe u Arduino kunt gebruiken in combinatie met IFTTT. We zullen in detail behandelen:
- Wat is IFTTT?
- Hoe Arduino en IFTTT samenwerken
- Hoe externe diensten (Google Assistant, Alexa ...) Arduino aansturen via IFTTT
- Hoe Arduino via IFTTT triggers of data verzendt naar externe diensten (e-mail, SMS, spraakoproep ...)
IFTTT maakt Arduino mogelijk om:
- Meldingen te sturen naar uw smartphone
- E-mails te versturen
- SMS-berichten te verzenden
- Google Assistant om Arduino te bedienen
- Amazon Echo (Alexa) om Arduino te besturen
- Een planning voor Arduino in te stellen via Google Agenda
En nog veel meer.
Hardware benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Wat is IFTTT?
IFTTT is een gratis webdienst die verschillende webservices (bijv. Facebook, E-mail, Twitter, Google Assistant ...) met elkaar verbindt. Bijvoorbeeld:
- Als u uw Facebook verbindt met Dropbox via IFTTT, wordt een foto die u op Facebook plaatst automatisch opgeslagen in Dropbox.
- Als u uw Amazon Alexa verbindt met uw e-mail via IFTTT, kan IFTTT automatisch een e-mail naar u versturen wanneer u Alexa vraagt wat er op uw boodschappenlijst staat.
Er zijn vier belangrijke concepten binnen IFTTT: Applet, service, trigger en actie.
- IFTTT bestaat uit Applets.
- Een Applet bestaat meestal uit twee IFTTT-services. Eén service fungeert als trigger en de ander als actie. De IFTTT-services binnen een Applet zijn met elkaar verbonden.
- Een IFTTT-service (bijv. Twitter, Dropbox, Evernote, Facebook, E-mail, Amazon Alexa, Google Assistant ...) doet meestal het volgende:
- Ontvangt een verzoek van buitenaf en activeert daarmee een andere IFTTT-service binnen dezelfde Applet (werkt als trigger)
- Wordt geactiveerd door een andere IFTTT-service binnen dezelfde Applet en voert vervolgens een bepaalde handeling uit met externe diensten (werkt als actie)
- Een Applet kan ook uit drie of meer IFTTT-services bestaan. Dit valt buiten het bereik van deze tutorial.
- Verwarringen tussen een service in IFTTT en een externe service kunnen voorkomen doordat ze dezelfde naam hebben. Bijvoorbeeld: Alexa is een spraakdienst van Amazon, terwijl IFTTT ook een service genaamd Alexa heeft die communiceert met Amazon Alexa. Daarom noemen we de dienst binnen IFTTT een IFTTT-service, en de externe dienst een outside service.
- door het bedrijf IFTTT: u hoeft deze alleen maar in te schakelen om te gebruiken
- door derden: u hoeft deze alleen maar in te schakelen om te gebruiken
- door uzelf: u kunt uw eigen Applet creëren en inschakelen. Het maken van een Applet is heel eenvoudig.
※ Notiz:
Een Applet kan worden gemaakt:
Voor interactie met Arduino moet u zelf een Applet maken. Geen zorgen, het is heel simpel.
IFTTT staat voor "If This Then That". Dit betekent dat als een service wordt geactiveerd, een andere IFTTT-service een actie uitvoert.
Voorwaarden
Maak een IFTTT-account aan. Dit is gratis en heel eenvoudig.
Hoe Arduino en IFTTT samenwerken
Algemeen gesproken communiceert Arduino met IFTTT, en IFTTT communiceert met externe diensten, en andersom.

Meer in detail: Arduino communiceert met een Applet binnen IFTTT, de Applet communiceert met externe diensten, en andersom.
Nog gedetailleerder: Arduino communiceert met de Webhooks service binnen IFTTT. De Webhooks service activeert andere services binnen IFTTT die vervolgens communiceren met buitenliggende diensten, en andersom. Onderstaand is een voorbeeld van hoe Arduino communiceert met Amazon Echo Dot.

Samenvatting
| In het algemeen | Arduino | ↔ | IFTTT | ↔ | Externe diensten |
| Meer in detail | Arduino | ↔ | Applet binnen IFTTT | ↔ | Externe diensten |
| Diepgaand | Arduino | ↔ | (Webhooks ↔ Andere service) binnen IFTTT | ↔ | Externe diensten |
We moeten een Applet creëren met Webhooks en een andere service. Afhankelijk van de use-case kan Webhooks zowel de trigger als de actie zijn.
Er zijn twee categorieën use-cases:
- Een andere service bestuurt Arduino via IFTTT (bijv. Google Assistant, Amazon Alexa)
- Arduino stuurt data naar een andere IFTTT-service via IFTTT (bijv. meldingen naar uw telefoon sturen, posten op Twitter)
Laten we deze stap voor stap bekijken.
Hoe externe diensten Arduino aansturen via IFTTT
Zoals hierboven genoemd, omvat een IFTTT Applet meestal twee IFTTT-services: één als trigger en één als actie. In dit geval werkt Webhooks als trigger.
In de communicatie tussen Arduino en Webhooks fungeert Arduino als webserver en Webhooks van IFTTT als webclient.
De workflow:
- Een service activeert een event naar de bijbehorende service binnen IFTTT
- De bijbehorende service binnen IFTTT haalt de data uit het event, indien beschikbaar
- De bijbehorende service binnen IFTTT activeert Webhooks van IFTTT (inclusief data indien aanwezig)
- Webhooks van IFTTT neemt de actie door een HTTP-verzoek naar Arduino te sturen (inclusief data indien aanwezig)
- Arduino haalt de data uit het HTTP-verzoek en voert een actie uit
Onderstaande afbeelding toont hoe Amazon Echo via IFTTT Arduino bestuurt.

Hoe IFTTT met Arduino te gebruiken
- Log in op IFTTT
- Maak een Applet die een gewenste service (bijv. Google Assistant, Amazon Alexa, Google Calendar ...) verbindt met Webhooks. Webhooks fungeert als actie en de andere service als trigger
- Schrijf Arduino-code om het HTTP-verzoek van Webhooks te verwerken
Wanneer u de Applet maakt, vult u het IP-adres van Arduino in via de instellingen van de Applet. Wanneer een event wordt geactiveerd, maakt IFTTT een HTTP-verzoek naar Arduino via het opgegeven IP-adres.
De gedetailleerde stap-voor-stap instructies vindt u in specifieke tutorials.
Voorbeeldcode
Stap-voor-stap instructies en voorbeeldcodes voor het laten aansturen van Arduino via een andere service via IFTTT vindt u in de volgende tutorials:
Hoe Arduino via IFTTT triggers of data naar buiten stuurt
Zoals hiervoor genoemd, bevat een IFTTT Applet meestal twee IFTTT-services: één als trigger en één als actie. In dit geval fungeert Webhooks als actie.
In de communicatie tussen Arduino en Webhooks fungeert Arduino als webclient en Webhooks van IFTTT als webserver.
De workflow:
- Arduino maakt een HTTP- of HTTPS-verzoek naar Webhooks van IFTTT
- Webhooks haalt data uit het HTTP-verzoek indien beschikbaar
- Webhooks van IFTTT activeert een andere service in IFTTT (inclusief data indien beschikbaar)
- De andere service in IFTTT voert de actie uit
Onderstaande afbeelding toont hoe Arduino via IFTTT een e-mail verstuurt.

Hoe te werk te gaan
Wat we moeten doen
- Log in op IFTTT
- Maak een Applet die Webhooks verbindt met een gewenste service (bijv. E-mail, Twitter, VoIP ...). Webhooks fungeert als trigger en de andere service als actie
- Ga naar de documentatiepagina van Webhooks om uw Webhooks-sleutel te verkrijgen
- Schrijf Arduino-code om HTTP (POST of GET) verzoeken te sturen naar Webhooks
Leer hoe u een HTTP-verzoek maakt met Arduino.
Wat we in het HTTP-verzoek moeten opnemen:
- Webhooks-sleutel: unieke en geheime sleutel die uw Webhooks identificeert. Elk account heeft maar één sleutel. U kunt deze vinden door in te loggen op uw account en deze te kopiëren vanaf de IFTTT-website
- Event-naam: naam om het event te identificeren. U geeft zelf de naam wanneer u de applet aanmaakt. Eén account kan meerdere event-namen aanmaken.
- (Optioneel) data: u kunt sensordata naar IFTTT sturen
De Webhooks-sleutel en event-naam zijn onderdelen van de URL. Data is optioneel en wordt opgenomen in de querystring. Zoals uitgelegd in de HTTP-tutorial is de querystring het deel van de URL in een GET-verzoek en de HTTP-body in een POST-verzoek.
De querystring ondersteunt maximaal 3 variabelen met vaste namen: value1, value2, value3.
HTTP GET Verzoek Formaat:
- 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=10
- Trigger met twee variabelen: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21
- Trigger met drie variabelen: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21&value3=25
Vervang EVENT-NAME, YOUR-KEY en de waarden in bovenstaande voorbeelden.
Hoe data van Arduino naar IFTTT te sturen
Om data van Arduino naar een andere IFTTT-service te sturen (bijv. E-mail, Facebook), moet u het volgende doen:
- In Arduino: Voeg data toe aan het HTTP-verzoek
- In de Applet: pas de instellingen aan om data uit het HTTP-verzoek te halen
Er zijn 5 variabelen die u kunt gebruiken in de instellingen van een IFTTT Applet:
| {{EventName}} | Geëxtraheerd uit het HTTP-verzoek |
|---|---|
| {{OccurredAt}} | Systeemtijd wanneer het event plaatsvond |
| {{Value1}} | Geëxtraheerd uit de variabele value1 in de querystring van het HTTP-verzoek |
| {{Value2}} | Geëxtraheerd uit de variabele value2 in de querystring van het HTTP-verzoek |
| {{Value3}} | Geëxtraheerd uit de variabele value3 in de querystring van het HTTP-verzoek |
De gedetailleerde stap-voor-stap instructies worden gegeven in specifieke tutorials.
Voorbeeldcode
Stap-voor-stap instructies en voorbeeldcodes van Arduino die data verzendt naar een andere IFTTT-service via IFTTT vindt u in de volgende tutorials:
Extra kennis
⇒ Uw HTTP-verzoek bevat uw Webhooks-sleutel. Elk account heeft een unieke Webhooks-sleutel. IFTTT gebruikt deze sleutel om u te identificeren.
⇒ U kunt meerdere applets aanmaken. Elke applet correspondeert met één trigger.
⇒ U kunt meerdere data combineren in één variabele van de querystring met een door u gekozen scheidingsteken. Bijvoorbeeld: http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21&value3=25-32