Domotique IoT

Télécommunications Développement Web

Présentation du Projet

Domotique IoT

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

Arduino Raspberry Pi ESP8266 MQTT Protocol Node.js Express.js WebSockets

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

Home automation dashboard showing live telemetry widgets

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.

Retour aux Projets