Le protocole de télémétrie de file d'attente de messagerie, ou MQTT, est un protocole de messagerie léger conçu pour les appareils et les environnements à faible bande passante. Il s'agit d'une solution rapide, facile à déployer et économe en énergie pour connecter et échanger des informations entre plusieurs appareils IoT. Il nécessite un courtier/serveur MQTT et le sujet auquel les messages sont publiés et souscrits par les appareils ou les utilisateurs pour envoyer ou recevoir les informations.

Dans ce guide, nous allons déployer le courtier MQTT et l'outil Node-RED sur Raspberry Pi pour connecter des appareils IoT intelligents DIY compatibles MQTT et les utiliser pour la domotique.

Choses dont vous aurez besoin

Pour créer et déployer un serveur MQTT avec Node-RED, vous aurez besoin des éléments suivants :

  • Un Raspberry Pi Zero W ou mieux. Nous vous recommandons d'utiliser un Raspberry Pi 3 ou 4 (si disponible).
  • Une carte microSD (8 Go ou plus).
  • Un lecteur de carte microSD.
  • Un PC Linux, Mac ou Windows.
  • Connexion Internet (Wifi).
instagram viewer

Étape 1: Installer Raspberry Pi OS Lite (64 bits)

Vous aurez besoin de la version Lite 64 bits de Raspberry Pi OS. Dans le Imageur Raspberry Pi outil sur un autre ordinateur, cliquez sur Choisissez le système d'exploitation > Système d'exploitation Raspberry Pi (autre), puis sélectionnez Raspberry Pi OS Lite (64 bits). De plus, vous voudrez utiliser les paramètres avancés d'Imager pour activer SSH (nous avons utilisé pi et framboise comme nom d'utilisateur et mot de passe pour ce guide) et configurez la connexion Wi-Fi. Pour plus de détails, consultez notre guide sur Comment installer un système d'exploitation sur un Raspberry Pi. Après avoir écrit le système d'exploitation sur la carte, éjectez-la et insérez-la dans votre Raspberry Pi.

Étape 2: Connectez-vous via SSH et mettez à jour les packages

Vous pouvez vous connecter à votre Raspberry Pi via SSH en utilisant PuTTY sous Windows ou Terminal sous macOS et Linux. Cependant, vous devez connaître l'adresse IP du Raspberry Pi pour vous connecter via SSH. Pour le savoir, vous pouvez ouvrir les paramètres DHCP de votre routeur sans fil ou utiliser la Fingapp sur votre smartphone.

Entrez l'adresse IP dans Mastic et cliquez Relier. Tapez votre nom d'utilisateur et votre mot de passe pour vous connecter.

Sur le terminal Linux ou macOS, tapez YourPiUsername@IPAddress puis tapez le mot de passe pour vous connecter. Une fois connecté via SSH, exécutez la commande suivante pour mettre à jour la liste des packages et mettre à niveau les packages.

mise à jour sudo apt && mise à niveau sudo apt y

Étape 3: Installer le courtier MQTT

Pour installer et activer le courtier MQTT (Mosquitto), procédez comme suit.

  1. Installez Mosquitto en exécutant la commande suivante dans la fenêtre Terminal.
    sudo apt installer moustique moustique-clients -y
    Cela lancera l'installation de Mosquitto (courtier MQTT) et des services client.
  2. Après l'installation, activez le service Mosquitto et vérifiez la version de MQTT à l'aide des commandes suivantes.
    sudosystemctlactivermoustique.service
    moustique -v
  3. Créez un compte d'utilisateur pour autoriser l'accès à distance authentifié à l'aide de la commande suivante.
    sudo moustique_passwd -c /etc/moustique/passwd ravi
    Ici ravi est le nom d'utilisateur (vous pouvez utiliser ce que vous voulez). Entrez le mot de passe lorsque vous y êtes invité. Notez ce nom d'utilisateur et ce mot de passe pour une utilisation ultérieure.
  4. Ouvrez le moustique.conf fichier dans l'éditeur nano à l'aide de la commande suivante.
    sudo nano /etc/mosquitto.conf
    Collez le code suivant dans l'éditeur nano.
    per_listener_settings vrai
    fichier_pid /run/mosquitto/mosquitto.pid
    persistance vrai
    emplacement_persistance /var/lib/mosquitto/
    fichier log_dest /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    allow_anonymous faux
    auditeur 1883
    fichier_mot_de_passe /etc/mosquitto/passwd
    Presse CTRL+X suivie par Oui et Entrer pour enregistrer les modifications.
  5. Redémarrez le courtier MQTT en exécutant la commande suivante.
    sudo systemctl redémarrer le moustique
  6. Vérifiez l'état du courtier MQTT pour voir si MQTT est en cours d'exécution.
    sudo systemctl statut moustique
    Si vous voyez la sortie ci-dessus, MQTT est en cours d'exécution.

Étape 4: Tester le courtier MQTT

Pour tester si le courtier MQTT fonctionne ou non, installez MQTTLens ou une application MQTT similaire dans Chrome ou tout autre navigateur Web et lancez-la. Entrez l'adresse IP du Raspberry Pi et le nom d'utilisateur/mot de passe MQTT. Cliquez sur Créer une connexion.

Entrez n'importe quel sujet dans le S'abonner domaine et le même sujet dans le Publier champ. Tapez "Salut" ou quoi que ce soit dans le champ de message et cliquez sur Publier.

Si vous voyez le message sous les abonnements, le courtier MQTT fonctionne correctement.

Étape 5: Installer Node-RED

Avec Node-RED, vous pouvez publier des messages ou envoyer et recevoir des charges utiles vers ou depuis vos appareils intelligents. Cette charge utile peut être utilisée pour déclencher des appareils intelligents afin qu'ils s'allument/s'éteignent ou reçoivent des données (telles que la température) d'un capteur. Vous pouvez utiliser votre navigateur Web pour créer de tels flux dans Node-RED et contrôler vos appareils intelligents.

Pour installer Node-RED, exécutez la commande suivante dans la fenêtre Terminal.

bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Cela téléchargera et installera le Node-RED sur votre Raspberry Pi. Cela peut prendre un certain temps. Une fois Node-RED installé, vous devez créer un fichier de paramètres Node-RED en exécutant la commande suivante.

init d'administration node-red

Suivez ensuite ces étapes :

  1. appuyez sur la Entrer clé.
  2. Voulez-vous configurer la sécurité des utilisateurs? Sélectionner Oui. Entrez un nom d'utilisateur et un mot de passe. Gardez-le en sécurité car il sera utilisé pour se connecter et gérer Node-RED via une interface Web.
  3. Choisir Accès total.
  4. Vous pouvez ajouter un autre utilisateur ou sélectionner Non procéder.
  5. Sélectionner Non lorsqu'on lui a demandé d'activer les fonctionnalités du projet.
  6. Presse Entrer.
  7. Tapez une phrase de passe et conservez-la en lieu sûr.
  8. Choisir la thème par défaut > Monaco (par défaut).
  9. Sélectionner Non lorsqu'on lui a demandé de charger des nœuds externes.

Une fois cela fait, redémarrez Node-RED.

redémarrage nœud rouge

Vous pouvez désormais visiter Votre-Raspberry-Pi-IP: 1880 dans un navigateur Web pour ouvrir et se connecter au panneau d'administration Node-RED.

Vous pouvez maintenant créer des flux dans Node-RED. Vous trouverez ci-dessous un exemple de flux Node-RED que nous utilisons pour exécuter notre écran matriciel WS2812B 8x32 qui affiche diverses informations sur les capteurs installés dans notre maison en temps réel.

Pour commencer, vous pouvez également construire une horloge intelligente DIY en utilisant la matrice de points MAX7219, et connectez-le à votre serveur MQTT pour y afficher du texte ou des messages.

Activer la domotique avec MQTT et Node-RED

Vous pouvez désormais créer des flux pour contrôler ou surveiller vos appareils domestiques intelligents compatibles MQTT. Vous pouvez également construire des commutateurs intelligents DIY Tasmota ou des capteurs intelligents basés sur Arduino, et d'autres appareils intelligents avec contrôle MQTT et les utiliser avec ce serveur MQTT et Node-RED. Vous pouvez créer des flux pour la domotique en fonction des événements, de l'heure ou de la charge utile reçus de votre client MQTT pour smartphone.

Sur votre smartphone Android, vous pouvez installer MQTT Dash pour vous connecter à votre courtier MQTT et envoyer ou recevoir des charges utiles vers ou depuis divers sujets auxquels vos appareils intelligents sont abonnés ou publiés.