Arduino - IFTTT

Dans ce tutoriel, nous allons apprendre à utiliser Arduino avec IFTTT. En détail, nous apprendrons :

IFTTT rend Arduino possible :

Et bien plus encore que cela.

Préparation du matériel

1×Arduino UNO R4 WiFi
1×USB Cable Type-C
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Qu'est-ce que IFTTT ?

IFTTT est un service web gratuit qui connecte différents services Web (par exemple Facebook, Email, Twitter, Google Assistant...) ensemble. Par exemple :

  • Si vous connectez votre Facebook à votre Dropbox via IFTTT, chaque fois que vous publiez une photo sur Facebook, IFTTT peut automatiquement sauvegarder la photo dans Dropbox.
  • Si vous connectez votre Amazon Alexa à votre Email via IFTTT, IFTTT peut automatiquement vous envoyer un email chaque fois que vous demandez à Alexa ce qui se trouve sur votre liste de courses.

Il existe quatre concepts importants sur IFTTT : Applet, service, déclencheur et action.

  • IFTTT est composé d'Applets.
  • L'Applet est typiquement composé de deux services IFTTT. Un service agit comme un déclencheur et l'autre comme une action. Les services IFTTT dans un Applet sont connectés ensemble.
  • Le service IFTTT (ex. Twitter, Dropbox, Evernote, Facebook, Email, Amazon Alexa, et Google Assistant...) fait soit :
    • Recevoir la demande de l'extérieur, puis déclencher d'autres services IFTTT dans le même Applet (agit comme le déclencheur)
    • Être déclenché par un autre service IFTTT dans le même Applet, puis faire quelque chose avec les services extérieurs (agit comme l'action)

    ※ NOTE THAT:

    • Un Applet peut être composé de trois services IFTTT ou plus. Cela dépasse le cadre de ce tutoriel.
    • Veuillez ne pas confondre le service dans IFTTT avec un service extérieur. Ils peuvent porter le même nom. Par exemple, Alexa est un service vocal créé et possédé par Amazon, IFTTT a également un service appelé Alexa qui interagit avec Amazon Alexa. Par conséquent, appelons le service dans IFTTT service IFTTT, et le service non-IFTTT est le service extérieur.

    L'Applet est créé :

    • par la société IFTTT : vous devez simplement l'activer pour l'utiliser
    • par un tiers : vous devez simplement l'activer pour l'utiliser
    • par vous-même : Vous pouvez créer votre propre Applet, l'activer pour l'utiliser. Il est très facile de créer des Applets.

    Pour travailler avec Arduino, vous devez créer un Applet par vous-même. Ne vous inquiétez pas, il est très simple de créer un Applet.

    IFTTT signifie "Si Ceci Alors Cela". Cela signifie si un service est déclenché, un autre service IFTTT prend la mesure

Prérequis

Créez un compte IFTTT. C'est gratuit et très simple à créer.

Comment Arduino et IFTTT fonctionnent ensemble

En général, Arduino interagit avec IFTTT, IFTTT interagit avec les services extérieurs, et vice versa.

IFTTT Arduino comment cela fonctionne

Plus de détails, Arduino interagit avec un Applet sur IFTTT, l'Applet interagit avec des services externes, et vice versa.

En profondeur, Arduino interagit avec le service Webhooks dans IFTTT, le service Webhooks déclenche un autre service dans IFTTT, cet autre service dans IFTTT interagit avec des services extérieurs, et vice versa. Ce qui suit est un exemple de la manière dont Arduino interagit avec Amazon Echo Dot.

IFTTT Alexa comment ça fonctionne

Résumé

In general Arduino IFTTT Outside services
More detail Arduino Applet in IFTTT Outside services
In depth Arduino (Webhooks ↔ Other service) in IFTTT Outside services

Nous devons créer un Applet de Webhooks et un autre service. Selon le cas d'utilisation, les Webhooks peuvent agir comme le déclencheur ou l'action.

Il existe deux catégories de cas d'utilisation :

  • Un autre service contrôle Arduino via IFTTT (par exemple, Google Assistant, Amazon Alexa contrôle Arduino)
  • Arduino envoie des données à un autre service IFTTT via IFTTT (par exemple, envoi de notifications à votre téléphone, publication sur Twitter)

Voyons les détails un par un.

Comment les services externes contrôlent Arduino via IFTTT

Comme mentionné ci-dessus, un Applets IFTTT comprend généralement deux services IFTTT : l'un agit comme le déclencheur et l'autre comme l'action. Dans ce cas, Webhooks agit comme le déclencheur.

Dans l'interaction entre Arduino et les Webhooks, Arduino agit en tant que serveur Web, les Webhooks de IFTTT agissent en tant que client Web.

Le flux de travail:

i. Un service déclenche un événement vers le service correspondant sur IFTTT

i. Le service correspondant sur IFTTT extrait les données de l'événement si disponibles

i. Le service correspondant sur IFTTT déclenche les Webhooks de IFTTT (y compris les données si disponibles)

i. Les Webhooks de IFTTT prennent l'action en effectuant une requête HTTP vers Arduino (y compris les données si disponibles)

i. Arduino extrait les données de la requête HTTP et agit en conséquence.

L'image ci-dessous montre comment Amazon Echo contrôle Arduino via IFTTT.

IFTTT contrôle Arduino, comment ça fonctionne

Comment utiliser IFTTT avec Arduino

  • Connectez-vous à IFTTT
  • Créez un applet, qui relie un service souhaité (par exemple Google Assistant, Amazon Alexa, Google Calendar ...) à Webhooks. Webhooks sert d'action et l'autre service agit comme un déclencheur.
  • Écrivez un code Arduino pour gérer la requête HTTP provenant de Webhooks.

Lorsque vous créez l'Applet, l'adresse IP de l'Arduino est saisie dans les paramètres de l'Applet. Lorsqu'un événement est déclenché, IFTTT effectue une requête HTTP vers l'Arduino via l'adresse IP saisie.

Les instructions détaillées étape par étape seront présentées dans des tutoriels spécifiques.

Exemple de Code

Des instructions étape par étape et des exemples de codes d'un autre service pour contrôler Arduino via IFTTT sont disponibles dans les tutoriels suivants :

Comment Arduino déclenche/envoie des données à un service externe via IFTTT

Comme mentionné ci-dessus, un Applets IFTTT comprend généralement deux services IFTTT : l'un agit comme le déclencheur et l'autre comme l'action. Dans ce cas, Webhooks agit comme l'action.

Dans l'interaction entre Arduino et les Webhooks, Arduino agit en tant que client Web, les Webhooks de IFTTT agissent en tant que serveur Web.

Le flux de travail :

i. Arduino effectue une requête HTTP ou HTTPS aux Webhooks de IFTTT

ii. Webhooks extrait les données de la requête HTTP si disponibles

iii. Les Webhooks de IFTTT déclenchent un autre service de IFTTT (incluant les données si disponibles).

iv. Un autre service de IFTTT prend l'action.

L'image ci-dessous montre comment Arduino envoie un e-mail via IFTTT.

Arduino IFTTT comment cela fonctionne

Comment faire

Ce que nous devons faire

  • Connectez-vous à IFTTT
  • Créez un Applet, qui relie Webhooks à un service souhaité (par exemple, Email, Twitter, VoIP ...). Webhooks sert de déclencheur et l'autre service agit comme action.
  • Rendez-vous sur la page de documentation de Webhooks pour obtenir la clé Webhooks.
  • Écrivez du code Arduino pour effectuer une requête HTTP (POST ou GET) à Webhooks.

Pour apprendre comment faire une requête HTTP avec Arduino.

Ce que nous devons inclure dans la requête HTTP

  • Clé Webhooks : clé unique et secrète pour identifier vos Webhooks. Un compte n'a qu'une seule clé. Vous pouvez vous connecter à votre compte et la copier depuis le site Web IFTTT.
  • Nom de l'événement : le nom pour identifier l'événement. Le nom de l'événement est choisi par vous lorsque vous créez l'applet. Un compte peut créer plusieurs noms d'événements.
  • (Facultatif) données : vous pouvez envoyer les données du capteur à IFTTT.

La clé de Webhooks et le nom de l'événement font partie de l'URL. Les données sont optionnelles et sont incluses dans la chaîne de requête. Comme mentionné dans le tutoriel HTTP, la chaîne de requête fait partie de l'URL dans la requête GET et constitue le corps HTTP dans la requête POST.

La chaîne de requête autorise un maximum de 3 variables portant les noms fixes : value1, value2, value3.

Format de requête HTTP GET :

  • Envoyez le déclencheur sans données : http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY
  • Envoyez le déclencheur avec une variable : http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10
  • Envoyez le déclencheur avec deux variables : http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21
  • Envoyez le déclencheur avec trois variables : http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21&value3=25

Remplacez NOM-DE-L’ÉVÉNEMENT, VOTRE-CLÉ et les valeurs dans le format ci-dessus.

Comment envoyer des données d'Arduino à IFTTT

Pour envoyer des données depuis Arduino vers un autre service IFTTT (par exemple, Email, Facebook), nous devons faire :

  • Dans Arduino : Inclure des données dans la requête HTTP
  • Dans Applet : modifier le paramétrage pour extraire les données de la requête HTTP.

Il y a 5 variables que nous pouvons utiliser dans la configuration de l'Applet IFTTT :

{{EventName}} Extracted from HTTP request
{{OccurredAt}} System time when event occurs
{{Value1}} Extracted from the variable value1 of query string in HTTP request
{{Value2}} Extracted from the variable value2 of query string in HTTP request
{{Value3}} Extracted from the variable value3 of query string in HTTP request

Les instructions détaillées étape par étape seront présentées dans des tutoriels spécifiques.

Exemple de Code

Des instructions pas à pas et des exemples de codes pour envoyer des données depuis un Arduino vers un autre service IFTTT via IFTTT sont disponibles dans les tutoriels suivants :

Connaissances supplémentaires

Lorsqu'Arduino effectue une requête HTTP vers les Webhooks de IFTTT, comment IFTTT distingue-t-il la requête provenant de mon Arduino ou de l'Arduino de quelqu'un d'autre ?

⇒ Votre requête HTTP contient votre clé Webhooks. Chaque compte possède une clé Webhooks unique. IFTTT utilise la clé Webhooks pour vous identifier.

Comment mon Arduino peut-il déclencher plusieurs événements ?

Vous pouvez créer plusieurs applets. Chaque applet correspond à un déclencheur.

Comment Arduino peut-il envoyer plus de 3 variables à IFTTT ?

vous pouvez combiner certaines données dans une variable de la chaîne de requête avec votre délimiteur conçu. Par exemple : http://maker.ifttt.com/trigger/EVENT-NAME/with/key/YOUR-KEY?value1=10&value2=21&value3=25-32

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!