Démarrer avec l'IoT et MQTT : Tutoriel ESP8266 sans code
MQTT est la colonne vertébrale de messagerie légère de la plupart des solutions IoT. Ce guide montre comment lancer un flux de travail complet sans code : un capteur ESP8266 publie des données vers un Raspberry Pi exécutant Node‑RED, où les lectures apparaissent dans un tableau de bord en direct.
Pourquoi MQTT est important pour l'IoT
Le modèle publish/subscribe de MQTT maintient le trafic réseau minimal et est conçu pour les connexions peu fiables ou à faible bande passante — exactement ce que requièrent la plupart des déploiements IoT. En tirant parti de standards ouverts comme Arduino, MQTT et Node‑RED, vous pouvez prototyper rapidement sans écrire une seule ligne de code.
Ce dont vous aurez besoin
- Module ESP8266 (appelé ici « IoT Octopus ») avec capteur Bosch BME280 (température, pression, humidité)
- Raspberry Pi avec Raspbian (testé sur version 2018‑06‑27)
- Node‑RED (préinstallé sur les images Raspbian récentes, sinon installez manuellement)
- Courtier MQTT Mosquitto – https://mosquitto.org
- Arduino IDE 1.8.5 (version portable incluse dans le paquet IoT Werkstatt)
- Ardublock – un éditeur visuel par blocs qui génère du code Arduino automatiquement
Étape 1 : Télécharger le paquet IoT Werkstatt
Récupérez le IoT Werkstatt ZIP. Il regroupe un Arduino 1.8.5 portable, toutes les bibliothèques requises et Ardublock, qui fournit des « superblocs » préconstruits pour les tâches IoT courantes.
Étape 2 : Préparer l'ESP8266
Ouvrez Ardublock et chargez le projet XML fourni. Configurez votre SSID/mot de passe Wi‑Fi et pointez les réglages MQTT vers l'adresse du courtier de votre Raspberry Pi. Sélectionnez le capteur Bosch BME280 et créez un sujet distinct pour chaque mesure (ex. home/room1/temperature).
Cliquez sur Upload to Octopus — l'Arduino IDE compile le sketch généré et le flashe sur l'ESP8266. Une fois en cours d'exécution, le dispositif publie les données du capteur vers le courtier MQTT.
Étape 3 : Configurer le courtier MQTT sur Raspberry Pi
Sur le Pi, installez Mosquitto :
sudo apt-get update sudo apt-get install mosquitto mosquitto-clients
Démarrez le courtier (il tourne automatiquement au boot). Aucune configuration supplémentaire n'est requise pour une configuration locale de base.
Étape 4 : Importer le flux Node‑RED
Ouvrez Node‑RED (https://localhost:1880) et collez le JSON de flux fourni. Double-cliquez sur chaque nœud d'entrée MQTT pour définir l'adresse du courtier et les identifiants.
Le panneau de débogage à droite affichera les messages entrants une fois que l'ESP8266 commence à publier.
Étape 5 : Ajouter un tableau de bord
Dans Node‑RED, installez le nœud de palette node‑red-dashboard. Le flux contient déjà la configuration pour l'UI du tableau de bord.
Après l'installation, le tableau de bord est accessible à https://localhost:1880/ui et affichera des graphiques en direct de température, pression et humidité.
Optionnel : Sécuriser le tableau de bord
Pour protéger l'UI, activez httpNodeAuth dans settings.js comme décrit dans la documentation sécurité Node‑RED.
Checklist de démarrage rapide Raspberry Pi
- Téléchargez Raspbian depuis le site officiel Raspberry Pi et flashez-le sur une carte SD 32 Go.
- Activez Wi‑Fi et SSH pour une configuration headless :
- Créez un fichier vide nommé
sshdans la partition/boot. - Placez un fichier
wpa_supplicant.confavec vos détails réseau :
country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="YourNetworkSSID" psk="YourNetworkPassphrase" key_mgmt=WPA-PSK } - Créez un fichier vide nommé
- Démarrez le Pi, puis mettez à jour l'OS :
sudo apt-get update sudo apt-get upgrade
- Installez Mosquitto (voir Étape 3).
- Si Node‑RED n'est pas préinstallé, exécutez :
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
- Activez Node‑RED au démarrage :
sudo systemctl enable nodered.service
- Installez le nœud dashboard Node‑RED :
sudo apt-get install npm sudo npm install -g npm hash -r cd ~/.node-red npm i node-red-dashboard node-red-start
Une fois en cours d'exécution, accédez à Node‑RED à https://localhost:1880 et au tableau de bord à https://localhost:1880/ui.
Gestion de Node‑RED
node-red-start– lancer Node‑REDnode-red-stop– arrêter Node‑REDsudo systemctl– contrôler le servicesudo journalctl -f -u nodered -o cat– suivre les logs en temps réel
Quelle suite ?
Étendez votre projet avec le machine learning : installez TensorFlow sur le Pi (pip3 install tensorflow) et ajoutez la palette node-red-contrib-machine-learning pour apporter des capacités IA à votre tableau de bord.
Références
— TERMINÉ —
Processus de fabrication
- La science du textile : plongée dans les teintures acides, réactives, cuir et directes
- Intégrer votre station météo à CWOP : Guide pratique
- Maîtriser la Carte PSoC 6 Pioneer avec le Shield IoT Add-On : Guide du Développeur
- L'IoT révolutionne les services sur le terrain : maintenance prédictive et ROI accru
- Comment les villes intelligentes exploitent l'IoT, microservices et tableaux de bord pour une gestion d'actifs efficace
- Comment l'IoT transforme les applications mobiles et stimule l'innovation commerciale
- Combler l'angle mort IoT dans un monde post-pandémie
- IoT World : Inside la solution Big Data de Vertica pour l'analytique IoT
- Repenser la valeur dans l'IoT industriel : Du suivi à la transformation