Avec les modules ESP8266 ou un Arduino, il est très facile de fabriquer ses propres objets connectés (IoT DIY) et les intégrer à un serveur domotique avec le protocole MQTT (avec Mosquitto par exemple). Jeedom, le serveur domotique entièrement en Français permet d’intégrer très simplement vos objets connectés.
Dans cet article nous allons apprendre comment installer le Broker Mosquitto pour communiquer sur un serveur Jeedom existant et y connecter un premier objet et l’afficher sur le Dashboard.
Installer le Broker Mosquitto sur Jeedom
Nous n’allons pas rentrer dans les détails du fonctionnement de MQTT et de Mosquitto. Je vous renvoie vers cet article précédent qui explique comment installer et prendre en main le Broker MQTT Mosquitto. Jeedom fonctionnant sur une distribution Linux Raspbian classique, il est très facile d’installer MQTT. J’ai une préférence pour Mosquitto mais vous pouvez en installer d’autres (consulter l’article sur une sélection de Brokers en ligne).
Ouvrez un Terminal et exécutez
sudo apt-get install mosquitto
Ensuite on installe mosquitto-clients qui permet de souscrire, publier et gérer les utilisateurs pour sécuriser votre Broker. C’est optionnel mais ça peut toujours servir de pouvoir vérifier que l’on reçoit bien des messages en provenance des appareils que l’on a développé.
sudo apt-get install mosquitto-clients
C’est fait. Dès la fin de l’installation, Mosquitto est opérationnel.
Si vous avez réalisé la sonde de température à base d’un ESP8266 Wemos D1 mini que je vous ai présenté précédemment, branchez le et exécutez la commande suivante pour vérifier que vous recevez bien les messages de température et d’humidité.
mosquitto_sub -h localhost -t sensor/# -v
Petite traduction de la commande pour ceux qui découvrent MQTT. On souscrit (mosquitto_sub) sur le broker (-h) localhost (ou l’adresse ip du broker) au topic (-t) sensor/# (# tous les sous-topic) -v (on affiche l’étiquette du topic devant la valeur).
On stoppe la souscription avec Ctrl+C
Ajouter le plugin MQTT à Jeedom
Maintenant que nous recevons des données en provenance de la sonde de température DHT22 à l’aide de l’ESP8266, voyons comment intégrer les mesures dans Jeedom.
Allez dans Plugins -> Gestion des plugins puis Accéder au Market
Faites une recherche avec le mot clé MQTT ou allez dans la section Protocole domotique
Ouvrez la fiche du plugin -> Installer stable
A la fin de l’installation, appuyez sur d’accord.
Retournez dans la liste des plugins et appuyez sur Activer (en vert à coté d’Action) pour activer le plugin. Il faudra encore attendre quelques minutes pour que Jeedom termine d’installer les dépendances (ou appyez sur Relancer pour démarrer immédiatement l’installation). Vous pouvez suivre le processus d’installation en appuyant sur Voir la log
Ajouter un objet (jeedom)
Si vous connaissez Jeedom, vous pouvez sauter cette étape.
Avant de pouvoir afficher les valeurs mesurée par la sonde, il faut déjà créer un objet auquel on associera la sonde.
Pour créer un objet, allez dans Outils -> Objets et enfin Ajouter
Donnez lui le nom de “cuisine” par exemple. Vous pouvez lui attribuer une couleur, une icône (les noms sont en anglais). Il est aussi possible de créer une arborescence d’objet en indiquant un père. Si vous débutez avec Jeedom, il n’y a aucun parent disponible.
Associer la sonde de température à l’objet cuisine
Retournez dans Plugins -> Protocole domotique -> MQTT
Jeedom est vraiment très performant, il détecte automatiquement les Topics disponibles sur Mosquito et créé automatiquement un nouveau équipement.
- Cliquez sur l’équipement sensor pour l’éditer.
- Donnez lui un nom, par exemple DHT22
- Un objet parent, Cuisine dans cet exemple
- Une catégorie. Disons Chauffage pour une sonde de température
- Activer et rendez le visible
- Dans le bloc Informations, choisissez la catégorie Température et Humidité
- Sauvegardez l’équipement
Pour terminer, changez les noms de topics. Il est possible de choisir d’afficher ou pas chaque topic. Vous pouvez Tester la bonne réception de données.
Historiser (enregistrer) les mesures
Autre petit raffinement de posséder son propre serveur domotique, on peut enregistrer les mesures et les actions passées. Petit bug (de la version utilisée pour l’article certainement), le bouton historiser disparait après un sauvegarde de l’équipement. Il suffit de sortir et revenir sur la fiche de ce dernier pour le rendre visible.
Activez Historiser pour conserver des mesures.
Pour visualiser les graphique, allez dans Analyse -> Historique
Choisissez les mesures à afficher sur le graphique.
Afficher le Dashboard
Cool, reste plus qu’à voir à quoi ça ressemble. Allez dans Accueil -> Dashboard
En haut de l’écran se trouvent un filtre de catégorie (le fond de chaque Widget et colorié dans une couleur différente, par exemple le bleu pour le chauffage).
Ensuite, on trouve notre objet Cuisine avec l’équipement DHT22 créé précédemment.
Voilà, j’espère que ce petit tutoriel vous sera utile. Le plugin MQTT est vraiment très simple à utiliser. Petits regrets toutefois. Il n’est pas possible (dans la version du 13/04/2016) d’attribuer une unité au Topic, ni d’associer l’équipement à un Widget pour personnaliser l’affichage dans le Dashboard.
- Jeedom. Publier en MQTT des commandes virtuelles vers ESP8266 ou ESP32 (interrupteur, poussoir, dimmer)
- Dépanner Jeedom. Problèmes courants et remèdes
- Jeedom. Installation sur Raspberry Pi 4. Procédure 2020 pour la v3 (stable) ou v4 (test)
- Intégrer un module ESP32-CAM à Jeedom ou NextDom (firmware modifié)
- Jeedom. Installer sur NAS Synology DS718+ sur une machine virtuelle Debian Buster
Pourriez-vous établir un tuto pour commander un relais via jeedom mqtt et un es8266 flashe avec espeasy
Par avance merci
Bonjour, d’accord je vais m’en occuper et compléter l’article
Bonjour,
Grace à vous, mon programme Arduino émet bien 2 topics que je peux exploiter avec Jeedom via plugin MQTT, mais je bloc toujours a exploiter le trajet inverse : Jeedom émet un topic lisible par l’arduino. Si vous avez déjà utilisé cette possibilité, pouvez vous nous en faire part avec un petit article et des copies d’écran ? . (j’ai 2 cuves d’eau avec 2 capteurs de distance SJN-SR04T et il me faudrait un relais pour interdire le surpresseur si manque d’eau) . Un grand merci à vous en tout cas car j’ai déjà fait l’essentiel de mon petit projet.
Tidescollines
Bonsoir, désolé pour ma réponse tardive mais j’ai pris le temps d’écrire un tutoriel complet sur le sujet. Je viens juste de le publier. J’espère qu’il répondra à vos besoins. Si toutefois ce n’est pas le cas, revenez vers moi. Bonne soirée
Très bon article, vous pouvez faire des tutoriels sur les matériels multitech ?
Bonjour Yatera et merci beaucoup. Non pas pour le moment.