FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

L'Internet des objets (IoT) offre un immense potentiel pour les projets de bricolage. Avec quelques composants abordables et des bases en électronique, vous pouvez assembler un réseau d'appareils intelligents.

Parfois, la simplicité prime : un simple bouton déclenchant une action unique, comme le regretté Amazon Dash pour les commandes rapides. Aujourd'hui, réalisons un bouton Wi-Fi avec une carte NodeMCU (basée sur ESP8266), programmé pour interagir avec IFTTT et exécuter n'importe quelle tâche ! Instructions détaillées ci-dessous, vidéo en option.

Matériel requis

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Vous aurez besoin de :

  • 1 x carte NodeMCU (ESP8266), environ 2-3 € sur AliExpress
  • 1 x bouton poussoir
  • 1 x LED (optionnelle)
  • 1 x résistance 220 Ω (optionnelle)
  • Breadboard et fils de connexion
  • Câble Micro-USB pour programmation
  • Ordinateur avec IDE Arduino installé

Hormis la NodeMCU, ces pièces se trouvent dans tout kit Arduino débutant. Ce tutoriel inclut la LED et la résistance, mais elles sont facultatives.

Étape 1 : Montage du circuit

Le câblage est simple. Suivez ce schéma :

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Fil violet : broche D0 à un côté du bouton.
Fil vert : autre côté du bouton à RST.
Fil bleu : D1 vers résistance et anode LED.
Cathode LED vers GND.

Votre breadboard devrait ressembler à ceci :

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Pour les connexions courtes sur breadboard, consultez notre guide rapide. Vérifiez tout, branchez la NodeMCU via USB.

Étape 2 : Configuration de l'IDE Arduino

Ajoutez le support NodeMCU via Fichier > Préférences (URL des boards ESP8266).

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Détails dans notre intro NodeMCU.

Installez deux bibliothèques via Sketch > Inclure bibliothèque > Gérer les bibliothèques :
- ESP8266WiFi d'Ivan Grokhotkov (connexions Wi-Fi).

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

- IFTTTWebhook de John Romkey (webhooks IFTTT).

Prêt à coder !

Fonctionnement du code

ESP8266WiFi gère la connexion Wi-Fi. IFTTTWebhook envoie un webhook (ex. : tweet). Deep sleep économise l'énergie. Appui sur bouton relie D0-RST pour reset.

Code simple pour débutants (voir notre guide Arduino). Code complet sur Pastebin ; ajoutez vos identifiants Wi-Fi/IFTTT.

Étape 3 : Test du deep sleep

Test simple. Nouvelle esquisse :

#include <ESP8266WiFi.h>
#define ledPin 5  // D1
#define wakePin 16  // D0
#define ssid "VOTRE_WIFI_SSID"
#define password "VOTRE_WIFI_PASSWORD"
#define IFTTT_API_KEY "VOTRE_CLE_IFTTT"
#define IFTTT_EVENT_NAME "VOTRE_EVENT_NAME"

Brochage NodeMCU vs Arduino :

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Fonction setup() :

void setup() {
  Serial.begin(115200);
  while (!Serial) {}
  Serial.println(" ");
  Serial.println("Bouton enfoncé");
  Serial.println(" ");
  ESP.deepSleep(0, WAKE_RF_DEFAULT);  // Attente reset via RST
}

Loop() vide pour test :

void loop() {
  // Ne s'exécute jamais si deep sleep OK
  Serial.println("Ceci ne devrait pas s'afficher");
}

Upload, moniteur série (115200 bauds) : "Bouton enfoncé" à chaque appui. Succès !

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Note sur le moniteur série

Caractères bizarres ? Vérifiez baudrate (115200). Testez d'autres si besoin ; courant sur ESP8266.

Étape 4 : Connexion Wi-Fi

Fonction connectToWifi() :

void connectToWifi() {
  Serial.print("Connexion à : ");
  WiFi.begin(ssid, password);
  Serial.println(" ");
  Serial.print("Tentative : ");
  int i = 10;
  while (WiFi.status() != WL_CONNECTED && i >= 0) {
    delay(1000);
    Serial.print(i);
    Serial.print(", ");
    i--;
  }
  Serial.println(" ");
  if (WiFi.status() == WL_CONNECTED) {
    Serial.println("Connecté ! IP : ");
    Serial.println(WiFi.localIP());
  } else {
    Serial.println("Échec - vérifiez identifiants");
  }
}

Étape 5 : Appel connexion

Ajoutez connectToWifi(); dans setup() après message bouton.

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Remplacez ssid/password. Upload : connexion tentée à chaque reset.

Étape 6 : Configuration IFTTT

IFTTT intègre services web (ex. : tweet sur appui). Créez applet : +this > Webhooks > Receive a web request (nom event simple).

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

+that > Twitter > Post a tweet.

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Étape 7 : Ajout credentials IFTTT

Clé API : Mes applets > Services > Webhooks > Documentation.

Ajoutez dans code. Après connectToWifi() :

#include <IFTTTWebhook.h>
IFTTTWebhook hook(IFTTT_API_KEY, IFTTT_EVENT_NAME);
hook.trigger();
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);

Upload : tweet à chaque appui !

Tutoriel : Créez votre bouton connecté Wi-Fi avec NodeMCU (ESP8266) et IFTTT

Problèmes ? Vérifiez code/credentials.

Améliorations

Batterie pour mobilité, boîtier 3D. Optimisez énergie (tips Arduino). Idéal pour domotique via IFTTT.

Crédit image : Vadmary/Depositphotos

[]