Présentation du Projet
Ce projet de domotique open-source permet de centraliser la gestion des équipements connectés d'un domicile (capteurs de température, d'humidité, éclairages, actionneurs de portes) sur une interface web unique. Le système repose sur des microcontrôleurs ESP8266 et Arduino transmettant des données via le protocole ultra-léger MQTT vers un broker central installé sur un Raspberry Pi.
Le serveur central utilise Node.js et Express pour héberger l'application web de commande, et stocke l'historique des relevés métriques dans une base de données optimisée pour les séries temporelles.
Détails Techniques
Technologies Utilisées
Durée du Projet
8 mois (Janvier - Août 2023)
Défis et Solutions
Les défis surmontés :
- La conception d'une communication robuste sous protocole MQTT gérant les déconnexions et les reconnexions matérielles intempestives.
- L'optimisation énergétique du code Arduino/ESP8266 pour faire fonctionner les capteurs sur batterie pendant plusieurs mois en veille profonde (Deep Sleep).
- Le développement d'un tableau de bord fluide actualisé en temps réel via WebSockets.
Exemples de Code
ESP8266 MQTT Publisher in C++
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
WiFiClient espClient;
PubSubClient client(espClient);
void connectMQTT() {
while (!client.connected()) {
if (client.connect("ESP8266Client")) {
client.publish("home/temp", "21.5");
} else {
delay(5000);
}
}
}
Code C++ pour microcontrôleur assurant la publication fiable des données climatiques par MQTT.
Galerie du Projet
Conclusion et Résultats
Ce projet domotique a permis d'optimiser la consommation de chauffage de 15% et d'offrir une solution de supervision fiable et totalement respectueuse de la vie privée en local.