Tutoriel : installer Mosquitto MQTT sur NAS Synology

Si vous avez suivi notre tutoriel de création d’une machine virtuelle Home Assistant sur NAS Synology, vous avez probablement déjà envie d’aller plus loin. Ça tombe bien, nous aussi. Nous allons donc voir aujourd’hui comment installer un broker Mosquitto MQTT sur un NAS Synology.

Il existe plusieurs solutions et d’autres brokers MQTT, mais chez Les Alexiens on aime la simplicité et l’efficacité, et nous n’allons pas nous lancer dans l’installation d’une machine virtuelle ou dans l’utilisation de Docker, car il existe une solution tout simple : un paquet Mosquitto MQTT tout prêt disponible sur la communauté Synology.

[toc]

Mosquitto MQTT : un broker sur votre NAS Synology

Pré-requis

Évidemment, il vous faut un NAS de l’entreprise taïwanaise. La bonne nouvelle c’est que, cette fois, pas besoin d’avoir une bête de course, il ne s’agit que d’un simple petit paquet qui ne demandera ni conteneur, ni machine virtuelle et qui fonctionne sur le système d’exploitation DSM. Une solution qui intéressera donc tous les propriétaires de Synology DiskStation !

Si vous n’avez pas de NAS, vous pouvez installer un broker MQTT sur Raspberry Pi :

À LIRE :
Tutoriel : Mosquitto MQTT sur Raspberry Pi

Si vous ne savez toujours pas quel NAS domotique choisir, nous vous recommandons de lire notre dossier et notamment ces modèles :

À LIRE :
Quel NAS choisir pour sa domotique ?

Un broker MQTT , c’est quoi ?

Bon, c’est bien beau tout ça, mais c’est quoi MQTT ? C’est très simple, c’est un protocole « publish / suscribe » permettant aux appareils « edge of network » de publier vers un « broker« .

Quoi ? Ça n’est pas clair ? C’est vrai. Simplifions.

En fait, ça n’est pas si compliqué, cela veut juste dire que votre broker va publier des topics auxquels des clients vont pouvoir s’abonner. Chaque client peut souscrire à différents topics et y publier des messages que le broker MQTT va relayer à tous les clients abonnés aux topics. On parle de protocole bidirectionnel.

Concrètement, si notre client est un thermomètre connecté, il va transmettre la température qu’il relève dans la maison à son broker MQTT sur un topic appelé /temperature auquel sont abonnés divers clients MQTT tels qu’une chaudière ou une application (Jeedom, Home Assistant, Homey…). L’application et/ou la chaudière pourront alors utiliser cette information afin d’activer un scénario domotique. Votre chauffage pourra s’allumer ou s’éteindre, même s’il n’utilise pas le même protocole que le thermomètre. Mieux encore, quand il s’allumera, il notifiera le broker qui, à son tour, informera les autres clients. La boucle est bouclée !

Pour vulgariser, un broker MQTT est donc une sorte de super hub domotique avec lequel vous allez pouvoir coordonner plusieurs protocoles : Z-Wave, ZigBee, Wi-Fi, Bluetooth, et bien plus encore… Le principal avantage de ce protocole réside dans son extrême légèreté. Ainsi, il est 90 fois plus rapide que le protocole HTTP et aussi beaucoup moins énergivore puisqu’il nécessite 10 fois moins d’énergie pour envoyer des messages et 170 fois moins pour en recevoir. Il est donc idéal pour les petits objets connectés tels que des capteurs à piles, des interrupteurs sans fil, etc.

Installer Mosquitto MQTT sur Synology

Certes, Mosquitto n’est pas le seul broker, mais c’est le plus utilisé et la communauté des utilisateurs de NAS Synology a publié un super paquet que nous aurions bien tort de ne pas utiliser.

En effet, son processus n’occupe en moyenne que 1.8 Mo de RAM ! Autant dire que ça n’est pas lui qui va faire fumer votre NAS… Inutile, donc, d’alourdir notre machine avec une énième VM ou d’utiliser un conteneur Docker (à moins que vous n’utilisiez Docker pour d’autres choses évidemment).

Passons à l’installation proprement dite :

    1. Ajouter la source : pour cela, il faut ajouter Synocommunity comme source si vous ne l’utilisez pas déjà.
      Centre de paquets > Communauté > Sources de paquet > Ajouter
    2. Renseignez l’adresse sur paquet :
      https://packages.synocommunity.com
    3. Installez le paquet : Mosquitto MQTT
      Centre de paquets > Communauté > Mosquitto MQTT
    4. Stoppez Mosquitto MQTT : si le paquet est lancé, stoppez le.
    5. Connectez-vous en SSH : activez le service SSH sur votre NAS et utilisez une console telle que Windows PowerShell (Windows 10 ou 11), PuTTY, ou Terminal sur macOS.
      ssh [email protected] -p 22 (adresse IP du NAS et port)
    6. Passez en root :
      sudo -i : entrez votre mot de passe admin
    7. Recherchez l'emplacement du fichier de configuration :
      find / -name mosquitto.conf
    8. Ouvrez le dossier le dossier /mosquitto/var dans @appstore :
      cd /volume1/@appstore/mosquitto/var
    9. Editez le fichier de configuration de Mosquitto avec un éditeur tel que vim en appuyant sur « i » :
      vim mosquitto.conf
      
    10. Recherchez les lignes, effacez les # et remplacez par :
      Ligne 650 : allow_anonymous false
      Ligne 668 : password_file /volume1/@appstore/mosquitto/var/fichier_mot_de_passe (remplacez par le nom de votre choix)
    11. Quittez vim et enregistrez avec la commande :
      :q ou :quit
    12. Créez maintenant le fichier de mot de passe renseigné précédemment :
      vim fichier_mot_de_passe (le nom choisi plus haut)
    13. Saisissez la commande suivante pour ajouter un utilisateur (remplacez les termes bien entendu) :
      utilisateur:motdepasse
    14. Recherchez le fichier mosquitto_passwd :
      find / -name mosquitto_passwd
    15. Par sécurité, il vaut mieux chiffrer le fichier mosquitto_passwd en saisissant son adresse repérée ci-dessus. Vous devriez avoir quelque chose comme :
      ../bin/mosquitto_passwd -U fichier_mot_de_passe
    16. C’est terminé : vous pouvez retourner dans DSM et relancer le paquet Mosquitto MQTT

      ../bin/mosquitto_passwd -U fichier_mot_de_passe
Mission accomplie ! Bravo, vous disposez désormais d’un broker MQTT sur votre NAS Synology. Voyons à quoi il ressemble avec l’interface graphique d’un client MQTT…

Utiliser un client MQTT

Pour finir, nous allons voir si notre broker fonctionne bien à l’aide d’un client MQTT gratuit qui va nous permettre de lire les topics, mais également d’en publier, et éventuellement d’intervenir sur certains paramètres si besoin. Notre préférence va à MQTT Explorer, mais il en existe d’autres. Disponible pour PC et Mac, ce programme va nous être très utile dans nos prochains tutoriels.

  1. Installez le client MQTT Explorer
  2. Renseignez l’adresse IP de votre NAS dans « Host »,
  3. Laissez le port 1883
  4. Saisissez vos identifiants dans ‘Username’ et ‘Password’ (ceux choisis pour Mosquitto, pas ceux de votre NAS).

En quelques secondes, vous découvrez l’interface de MQTT. Bon, pour l’instant, elle n’a pas grand intérêt vide, mais voici à quoi elle ressemblera après nos prochains tutoriels de domotique DIY.

Pour les propriétaires de Homey Pro, vous pouvez très rapidement lier votre broker à vos box domotique en suivant notre tutoriel dédié :

À LIRE :
Tutoriel : paramétrer MQTT sur Homey Pro

Pour les autres, nous verrons prochainement comment lier ce broker Mosquitto MQTT à Home Assistant, puis comment installer Zigbee2MQTT, et bien plus encore… Restez connecté !

 

Fasciné par Alexa depuis le jour où je l'ai reçue en bêta test, je me suis peu à peu passionné pour le sujet, avant de me décider à aller plus loin en créant un site avec Jean-Christophe. Une activité qui me permet d'étancher ma soif de nouvelles technologies et de partager mes découvertes sur la plus sympathique des communautés : Les Alexiens.