MQTT (Message Queue Telemetry Transport) est le protocole qui prend de plus en plus d'importance dans le monde de l'Internet des objets.
Ainsi, différentes données peuvent être échangées très facilement entre différents capteurs et actionneurs. Tous les clients connectés au serveur MQTT envoient et reçoivent leurs données vers et depuis un serveur central.
Dans le protocole MQTT, les clients connectés individuels ne se parlent pas directement.
Lors de l'inscription sur le serveur MQTT, chaque client peut spécifier les données qu'il souhaite recevoir dès que de nouvelles données sont disponibles. En même temps, chaque client peut envoyer des données au serveur. Ces données envoyées au serveur sont ensuite automatiquement distribuées aux clients qui se sont préalablement inscrits pour recevoir les données.
Un message MQTT se compose toujours d'un nom et des données. Le nom (appelé sujet) permet aux clients de s'inscrire auprès du serveur en tant que "parties intéressées" pour les données envoyées sous ce nom.
Dès que le serveur reçoit alors des données sous ce nom, celles-ci sont transmises à tous les clients qui se sont préalablement enregistrés en tant que "parties intéressées" pour ces données.
Voilà pour le fonctionnement approximatif du protocole MQTT.
Pour pouvoir utiliser le protocole MQTT dans votre réseau, vous avez besoin d'un serveur MQTT. Dans cet article, je vais vous expliquer comment vous l'installez sur le RaspberryPi.
En plus de votre propre serveur MQTT, vous avez également la possibilité d'utiliser des serveurs MQTT externes disponibles sur Internet. Certains d'entre eux sont fournis gratuitement.
A mon avis, cela a quelques inconvénients :
– vos données quittent le réseau domestique. La probabilité que des méfaits soient entraînés avec lui ou qu'ils puissent l'être du tout n'est pas élevée. Néanmoins, je me sens plus à l'aise quand mes données ne quittent pas mes "quatre murs".
– vous êtes dépendant du serveur MQTT externe. S'il n'est pas disponible, par exemple parce qu'il a échoué ou que votre connexion Internet ne peut pas être établie, l'ensemble de votre communication interne au réseau (MQTT) échouera également.
Étant donné que l'installation de votre propre serveur MQTT est rapide et gratuite, je pense que c'est la meilleure alternative.
Consignes de sécurité
Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/
Liens d'affiliation/publicitaires
Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂
Aperçu
Avant de pouvoir commencer à installer le serveur MQTT, vous devez avoir préparé le RaspberryPi afin qu'il soit accessible via Putty.
Les trois articles suivants décrivent ce qu'il faut faire pour préparer le RaspberryPi :
RaspberryPi - configuration pour les nerdiys !
RaspberryPI – La première configuration !
RaspberryPi - Contrôlez le RaspberryPi via SSH
Matériel requis :
-Non-
Matériel requis :
Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.
Connectez-vous au RaspberryPi via SSH
Pour commencer, vous devez d'abord vous connecter au Rasp Pi avec Putty via SSH. Comment faire cela est dans l'article RaspberryPi - Contrôlez le RaspberryPi via SSH décrites.
Mettre à jour la gestion des packages
La gestion des packages sous Linux est un "lieu central" à travers lequel divers packages logiciels peuvent être installés. Pour que cela fonctionne de manière fiable, les listes et les sources de la gestion des packages doivent être mises à jour avant chaque installation de nouveaux packages.
sudo apt-get mise à jour && sudo apt-get mise à niveau
Installer le moustique
Comme serveur MQTT, on peut utiliser le logiciel gratuit open-source "Mosquitto". Celui-ci s'installe très facilement via le gestionnaire de paquets avec la commande suivante :
sudo apt-get installer les clients moustiques moustiques
Configurer le démarrage automatique pour le serveur MQTT
Pour que le serveur MQTT démarre automatiquement après un redémarrage de votre RaspberryPi, vous devez maintenant activer l'autostart pour celui-ci. Cela peut être fait avec la commande suivante.
sudo systemctl activer mosquitto.service
Vérifier l'état du serveur MQTT
Après l'installation, "Mosquitto" est automatiquement lancé. Vous pouvez vérifier si cela a fonctionné avec la commande suivante :
état des moustiques du service sudo
Le serveur MQTT peut être arrêté avec la commande suivante :
sudo service anti-moustiques
Le serveur MQTT peut être démarré avec la commande suivante :
démarrage du moustique du service sudo
Vérifier la fonction
Afin de réaliser un premier test, nous voulons essayer d'envoyer un message au serveur et le recevoir de lui en même temps. Pour ce faire, nous devons nous abonner à un sujet du serveur MQTT et en même temps envoyer un message à ce sujet abonné depuis une autre fenêtre.
Pour commencer, vous devez d'abord saisir la commande suivante dans Putty :
moustique_sub -h localhost -v -t testTopic
Dans cette nouvelle fenêtre de mastic, entrez la commande suivante :
mosquitto_pub -h localhost -t testTopic -m "Un moustique vole, un moustique pique."
Vous devriez maintenant voir le message que vous venez d'envoyer affiché dans la première fenêtre de mastic.
Si cela fonctionne, votre serveur MQTT a réussi le premier test. 🙂
Note de sécurité : Aucun cryptage ou identification d'utilisateur n'est encore actif. Cela signifie que toute personne ayant accès à votre réseau peut se connecter au serveur MQTT et envoyer ou recevoir des données à partir de celui-ci. J'expliquerai comment corriger ces deux failles de sécurité dans un article ultérieur.
Amusez-vous avec le projet
J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂
PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂