Le matériel utilisé
Nous allons partir de l'installation de notre raspi déjà vue dans un tuto précédent. La seule différence est l'absence d'installation du serveur Web dont nous n'avons pas l'utilité.
J'ai commandé des interrupteurs Zigbee chez Ikea, ainsi que des télécommandes. Je les attends ;)
Principe de fonctionnement
Nous allons utiliser le protocole Mqtt : celui-ci a été inventé pour la surveillance des pipelines; il demande peu de ressources, a des capacités de résilience et permet de garantir l'acheminement des informations.
Nous allons installer les différentes briques une à une et les tester au fur et à mesure pour éviter de se retrouver avec un gros bouzin indépannable.
MQTT
Mqtt est un protocole de communication de type pub/sub. Il permet à des équipement de publier des informations ou/et d'en recevoir. Chaque équipement déclare s'il est consommateur de données (subscribe), s'il publie des informations (publication) ou les deux.
Par exemple, un capteur de température dans la chambre va indiquer au serveur mqtt qu'il va publier une information avec un topic «chambre/température»
Une station météo avec un afficheur lcd va pouvoir afficher cette température en souscrivant à ce topic. Mqtt va dispatcher les informations en fonction des équipements et de leurs données ainsi que leurs topics.
Un interrupteur va envoyer un message à une ampoule pour l'allumer.
Un variateur va envoyer un message pour en diminuer l'intensité.
Le PC de bureau va afficher toutes les informations et permettre également d'agir sur les ampoules.
Voici un schéma :
Les logiciels utilisés
Voici les logiciels que je vais utiliser. D'autres choix sont possibles.
Mosquitto
Mosquitto est le «brocker» Mqtt. Il est central et c'est lui qui s'occupe de dispatcher les messages. Mosquitto utilise le port 1883.
-
Installation
-
Ouverture du port 1883
-
Tests
Node-red
J'ai choisi Node-red pour l'affichage des données mais aussi pour les commandes d'éclairage. Node-red utilise le port 1880.
-
Installation
-
Test
Mqtt2zigbee
Ce logiciel (passerelle) basé sur nodejs permet de faire le lien entre les équipements et le protocole Zigbee et Mqtt.
-
Installation
-
Installation de la clef usb Zigbee (après flashage)
-
Tests