MyMQTTNodeIOT
MyMQTTNodeIOT
Une collection complète d’outils et de scripts pour construire des dispositifs WiFi MQTT personnalisés utilisant NodeMCU (ESP8266/ESP32) pour la domotique et les applications IoT. Ce projet vous permet de créer vos propres dispositifs WiFi MQTT faits maison pour des solutions de maison intelligente.
Vue d’ensemble
MyMQTTNodeIOT fournit des exemples et des implémentations pour configurer des unités NodeMCU basées sur les familles ESP8266 et ESP32. Ces dispositifs peuvent publier des informations de capteurs ou recevoir des commandes d’un broker MQTT, suivant les concepts et principes #SmartHome du projet mqtt-smarthome.
La famille de micro-puces ESP offre une excellente solution rentable pour les implémentations IoT personnalisées, avec des dispositifs disponibles pour moins de 3$, fournissant des microcontrôleurs embarqués qui comblent le fossé entre le logiciel et le monde physique.
Fonctionnalités principales
Publication d’Information Centralisée Pilotée par MQTT
- Protocole de communication unifié sur tous les dispositifs
- Échange de données en temps réel entre capteurs et actionneurs
- Architecture scalable pour réseaux IoT en croissance
Support de la Pile NodeMCU Lua
- Intégration complète du firmware NodeMCU
- Développement basé sur Lua pour prototypage rapide
- Support pour les puces ESP8266 et ESP32
Exemples Complets de Dispositifs
Dispositifs ESP8266:
- Interrupteurs et relais
- Capteurs de température/humidité DHT11
- Surveillance d’entrée ADC
- Détecteurs de capteurs corporels
- Suivi de localisation WiFi
- Affichages à matrice LED (WS2812)
- Bandes LED RGB (contrôlées par PWM)
- Protocoles client-serveur personnalisés série
- Surveillance de vérification de santé
Dispositifs ESP32:
- Interfaces de boutons tactiles
- Communication série
- Surveillance de vérification de santé
Architecture
Principes Système
Le système est basé sur le protocole MQTT et la connectivité WiFi. Le broker MQTT collecte et distribue les informations entre les dispositifs, permettant une dissociation complète entre les capteurs, les actionneurs et leurs modèles d’utilisation.
Architecture Logique
- Broker MQTT: Hub de communication central (typiquement Raspberry Pi)
- Objets IoT: Plateformes locales gérant les capteurs ou actionneurs
- Logique Embarquée: Prise de décision au niveau du dispositif
- Agents de Contrôle: Agents Python de haut niveau pour automatisation complexe
Implémentation de Dispositif
Utilisant la pile Lua NodeMCU, le projet fournit:
- Registre de capteurs et actionneurs
- Gestion de file d’attente de messages MQTT
- Gestion de connexion et redémarrage
- Capacités d’hébergement de logique embarquée
Pour Commencer
Exigences Logicielles Minimales
Configuration Raspberry Pi:
- Linux (basé sur Debian)
- Broker MQTT Mosquitto
- Optionnel: InfluxDB pour stockage de données temporelles
Exigences de Dispositif:
- Firmware NodeMCU
- Scripts Lua personnalisés (fournis dans ce projet)
Composants Matériels
Pièces Essentielles:
- Module ESP12: Microcontrôleur avec WiFi
- Adaptateur FTDI: Convertisseur USB-to-TTL pour programmation
- Régulateurs: 7803 et 7805 pour régulation de tension
- Composants Passifs: Résistances, condensateurs, etc.
Étapes d’Installation
Installer Mosquitto sur Raspberry Pi: Suivez le guide à Installing Mosquitto on Raspberry Pi
Flasher le Firmware NodeMCU:
- Télécharger le firmware NodeMCU approprié pour votre puce ESP
- Utiliser l’adaptateur FTDI pour flasher le firmware
Déployer les Scripts Lua:
- Copier les scripts Lua pertinents du projet
- Personnaliser pour votre configuration matérielle spécifique
Cas d’Usage
Domotique
- Éclairage Intelligent: Bandes LED RGB avec détection de mouvement
- Surveillance Environnementale: Capteurs de température, humidité et pression
- Systèmes de Sécurité: Capteurs corporels et suivi de localisation
- Systèmes d’Affichage: Affichages à matrice LED pour affichage d’informations
Applications IoT
- Surveillance de Plantes: Stations de culture de plantes avec soins automatisés
- Surveillance Industrielle: Réseaux de capteurs pour la fabrication
- Détection Environnementale: Collecte de données climatiques et météorologiques
- Suivi d’Actifs: Services de localisation basés sur WiFi
Automatisation Avancée
- Déclenchement Basé sur la Localisation: Actions basées sur la localisation du dispositif
- Planification Basée sur le Temps: Opérations automatisées sur horaires
- Contrôle Inter-Dispositifs: Opérations multi-dispositifs coordonnées
- Orchestration d’Affichage: Gestion centralisée d’affichage LED
Project Structure
MyMQTTNodeIOT/
├── agents/ # Python-based control agents
├── architecture/ # System architecture documentation
├── dev/ # Development tools and utilities
├── hardware/ # Hardware schematics and designs
└── README.md # Project documentation
Pile Technologique
Technologies de Base
- Lua: Langage de développement principal pour NodeMCU
- Python: Implémentation d’agents et contrôle de haut niveau
- MQTT: Protocole de communication
- NodeMCU: Firmware pour ESP8266/ESP32
Support Matériel
- ESP8266: Microcontrôleurs avec WiFi
- ESP32: Microcontrôleurs avancés WiFi + Bluetooth
- Raspberry Pi: Hub central et broker MQTT
Outils de Développement
- Adaptateur FTDI: Interface de programmation
- MQTT Explorer: Surveillance et test de messages
- Firmware NodeMCU: Environnement d’exécution embarqué
Démonstrations de Dispositifs Réels
Le projet inclut plusieurs exemples fonctionnels:
- SimpleDevice01: Dispositif de gestion de relais
- SimpleDevice02: Affichage d’écran LED avec interrupteur et capteur corporel
- SimpleDevice03: Lumière à bande LED avec détecteur corporel et interrupteur
- SimpleDevice04: Capteur d’humidité, pression, température autonome sur batterie
- SimpleDevice05: Système d’affichage d’écran LED
- Station de Culture de Plantes: Surveillance et soins automatisés de plantes
État du Développement
- 2021: Ajout du support pour les puces ESP32 avec NodeMCU 3.0
- 2020: Mise à jour vers NodeMCU v3
- En cours: Améliorations continues et nouveaux exemples de dispositifs
Projets Associés
- IoT Monitor: Pour surveillance, reporting et suivi d’erreurs de dispositifs
- Home Assistant: Plateforme d’automatisation pilotée par interface graphique
- Node-RED: Programmation visuelle pour flux IoT
Communauté & Ressources
Documentation
Lectures Supplémentaires
Avantages
- Rentable: Construire des dispositifs IoT pour moins de 3$ par unité
- Flexible: Solutions personnalisées pour besoins spécifiques
- Scalable: Facile d’ajouter de nouveaux dispositifs au réseau
- Éducatif: Excellente plateforme d’apprentissage pour développement IoT
- Open Source: Contrôle total sur votre implémentation de maison intelligente