Arduino - IFTTT

In deze tutorial gaan we leren hoe u Arduino kunt gebruiken in combinatie met IFTTT. We zullen in detail behandelen:

IFTTT maakt Arduino mogelijk om:

En nog veel meer.

Hardware benodigd

1×Arduino UNO R4 WiFi
1×Alternatief: DIYables STEM V4 IoT
1×USB-kabel Type-C
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno R4
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno R4
1×(Aanbevolen) Behuizing voor Arduino Uno R4
1×(Aanbevolen) Stromsplitter voor Arduino Uno R4
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

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 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)

    ※ Notiz:

    • 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.

    Een Applet kan worden gemaakt:

    • 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.

    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.

IFTTT Arduino how it works

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.

IFTTT Alexa how it works

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:

  1. Een service activeert een event naar de bijbehorende service binnen IFTTT
  2. De bijbehorende service binnen IFTTT haalt de data uit het event, indien beschikbaar
  3. De bijbehorende service binnen IFTTT activeert Webhooks van IFTTT (inclusief data indien aanwezig)
  4. Webhooks van IFTTT neemt de actie door een HTTP-verzoek naar Arduino te sturen (inclusief data indien aanwezig)
  5. Arduino haalt de data uit het HTTP-verzoek en voert een actie uit

Onderstaande afbeelding toont hoe Amazon Echo via IFTTT Arduino bestuurt.

IFTTT controls Arduino how it works

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:

  1. Arduino maakt een HTTP- of HTTPS-verzoek naar Webhooks van IFTTT
  2. Webhooks haalt data uit het HTTP-verzoek indien beschikbaar
  3. Webhooks van IFTTT activeert een andere service in IFTTT (inclusief data indien beschikbaar)
  4. De andere service in IFTTT voert de actie uit

Onderstaande afbeelding toont hoe Arduino via IFTTT een e-mail verstuurt.

Arduino IFTTT how it works

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

Wanneer Arduino een HTTP-verzoek maakt naar Webhooks van IFTTT, hoe herkent IFTTT het verzoek als afkomstig van mijn Arduino en niet van iemand anders?

⇒ Uw HTTP-verzoek bevat uw Webhooks-sleutel. Elk account heeft een unieke Webhooks-sleutel. IFTTT gebruikt deze sleutel om u te identificeren.

Hoe kan mijn Arduino meerdere events triggeren?

⇒ U kunt meerdere applets aanmaken. Elke applet correspondeert met één trigger.

Hoe kan Arduino meer dan 3 variabelen naar IFTTT sturen?

⇒ 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

Gerelateerde 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!