| |
| raspberrypi:linux:mqtt_mosquitto [2024/07/09 07:10] – [3.1.3 Tests] phil | raspberrypi:linux:mqtt_mosquitto [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| [[raspberrypi:linux:raspilinux|{{ :iconemaison.jpg?nolink&25|Sommaire Raspberry Pi sous Linux}}]] | [[raspberrypi:linux:raspilinux|{{ :iconemaison.jpg?nolink&25|Sommaire Raspberry Pi sous Linux}}]] |
| |
| ===== Raspberry Pi - Installer un broker (serveur) MQTT Mosquitto ===== | ====== Raspberry Pi - Installer un broker (serveur) MQTT Mosquitto ====== |
| |
| [Mise à jour le 6/7/2024] <html><span style="color:red">En cours de rédaction</span></html> | [Mise à jour le 9/7/2024] |
| |
| {{ :raspberrypi:linux:mosquittoraspi.jpg?nolink&250|}} | {{ :raspberrypi:linux:mosquittoraspi.jpg?nolink&250|}} |
| |
| |
| ===== 1. MQTT (généralités) ===== | ====== 1. MQTT (généralités) ====== |
| Pour répondre à la problématique du nombre grandissant d’objets connectés qui vont faire leur apparition sur la toile (selon une étude Gartner : près de 26 milliards d’objets connectés seront sur Internet d’ici 2020), l’IoT (Internet Of Things), s’est doté d’un nouveau standard : **MQTT** (**M**essage **Q**ueuing **T**elemetry **T**ransport). | Pour répondre à la problématique du nombre grandissant d’objets connectés qui vont faire leur apparition sur la toile (selon une étude Gartner : près de 26 milliards d’objets connectés seront sur Internet d’ici 2020), l’IoT (Internet Of Things), s’est doté d’un nouveau standard : **MQTT** (**M**essage **Q**ueuing **T**elemetry **T**ransport). |
| |
| \\ | \\ |
| |
| ==== 1.1 Historique ==== | ===== 1.1 Historique ===== |
| Le protocole MQTT (MQ Telemetry Transport) trouve ses origines en 1999 dans les travaux de **Andy Standford-Clark** et **Arlen Nipper**, alors qu'ils travaillaient pour IBM au développement d'un protocole pour une utilisation industrielle de télémétrie en lien avec l'industrie pétrolière. | Le protocole MQTT (MQ Telemetry Transport) trouve ses origines en 1999 dans les travaux de **Andy Standford-Clark** et **Arlen Nipper**, alors qu'ils travaillaient pour IBM au développement d'un protocole pour une utilisation industrielle de télémétrie en lien avec l'industrie pétrolière. |
| |
| \\ | \\ |
| |
| ==== 1.2 Principes ==== | ===== 1.2 Principes ===== |
| === 1.2.1 Organisation et communication === | ==== 1.2.1 Organisation et communication ==== |
| <callout type="primary" icon="true">**MQTT** est un **service de publication/abonnement** TCP/IP simple et extrêmement léger. Il fonctionne sur le principe **client/serveur**.</callout> | <callout type="primary" icon="true">**MQTT** est un **service de publication/abonnement** TCP/IP simple et extrêmement léger. Il fonctionne sur le principe **client/serveur**.</callout> |
| |
| {{ :raspberrypi:linux:pilemqttt.jpg?nolink&700 |}} | {{ :raspberrypi:linux:pilemqttt.jpg?nolink&700 |}} |
| |
| === 1.2.2 Les topics === | \\ |
| <callout type="primary" icon="true">Un **topic** est une simple **chaine de caractères**, mais qui peut être **structurée hiérarchiquement**. \\ Exemple : **maison/salon/temperature**</callout> | |
| | ==== 1.2.2 Les topics ==== |
| | <callout type="primary" icon="true">Un **topic** est une simple **chaine de caractères**, mais qui peut être **structurée hiérarchiquement**. \\ \\ Exemple : **maison/salon/temperature**</callout> |
| |
| __Exemple__ \\ | __Exemple__ \\ |
| <callout type="primary" icon="true">Cette écriture hiérarchique permet à un abonné de souscrire à un ensemble de topics en utilisant des **caractères joker** (**+**, **#**).</callout> | <callout type="primary" icon="true">Cette écriture hiérarchique permet à un abonné de souscrire à un ensemble de topics en utilisant des **caractères joker** (**+**, **#**).</callout> |
| |
| **Le caractère joker +** \\ | __**Le caractère joker +**__ \\ |
| **+** est le joker pour un **unique niveau hiérarchique**. Un client souscrivant à "**maison/+/temp**" recevra les messages adressés par d'autres clients aux topics : | **+** est le joker pour un **unique niveau hiérarchique**. Un client souscrivant à "**maison/+/temp**" recevra les messages adressés par d'autres clients aux topics : |
| |
| |
| * "maison/salon/hum" | * "maison/salon/hum" |
| * "jardin/temp" | * "jardin/temp" \\ |
| |
| **Le caractère joker #** \\ | __**Le caractère joker #**__ \\ |
| Le **#** est un joker **multiniveau** s'utilisant toujours après un / et en dernier caractère. Il est destiné à remplacer n'importe quel niveau supérieur dans le topic. \\ "**maison/#**" correspondra aux topics : | Le **#** est un joker **multiniveau** s'utilisant toujours après un / et en dernier caractère. Il est destiné à remplacer n'importe quel niveau supérieur dans le topic. \\ "**maison/#**" correspondra aux topics : |
| |
| * "jardin/temp" | * "jardin/temp" |
| |
| **Le caractère joker $** \\ | __**Le caractère joker $**__ \\ |
| Le joker **$** ne peut pas être utilisé pour publier. Il précède les topics concernant les **statistiques** internes du broker. Son utilisation est illustrée au paragraphe [[#Le broker Mosquitto|Le broker Mosquitto]]. | Le joker **$** ne peut pas être utilisé pour publier. Il précède les topics concernant les **statistiques** internes du broker. Son utilisation est illustrée au paragraphe [[#Le broker Mosquitto|Le broker Mosquitto]]. |
| |
| <callout type="warning" icon="true">Voir les **bonnes pratiques** d'écriture des topics sur <html><a href="https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices/" target="_blank">hivemq.com</a></html></callout> | <callout type="info" icon="true">Voir les **bonnes pratiques** d'écriture des topics sur <html><a href="https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices/" target="_blank">hivemq.com</a></html></callout> |
| |
| === 1.2.3 Sécurité === | \\ |
| | |
| | ==== 1.2.3 Sécurité ==== |
| Les données IoT échangées peuvent s’avérer très critiques, c’est pourquoi il est possible de sécuriser les échanges à plusieurs niveaux : | Les données IoT échangées peuvent s’avérer très critiques, c’est pourquoi il est possible de sécuriser les échanges à plusieurs niveaux : |
| * Transport en SSL/TLS, | * Transport en SSL/TLS, |
| * Authentification par login/mot de passe. | * Authentification par login/mot de passe. |
| |
| === 1.2.4 Qualité de service (QoS) === | \\ |
| | |
| | ==== 1.2.4 Qualité de service (QoS) ==== |
| MQTT intègre en natif la notion de QoS. En effet, le publisher à la possibilité de définir la qualité de son message. | MQTT intègre en natif la notion de QoS. En effet, le publisher à la possibilité de définir la qualité de son message. |
| |
| \\ | \\ |
| |
| ==== 1.3 Structure d'un paquet MQTT ==== | ===== 1.3 Structure d'un paquet MQTT ===== |
| * **Source** : <html><a href="http://www.steves-internet-guide.com/mqtt-protocol-messages-overview/" target="_blank">Comprendre la structure des paquets du protocole MQTT</a></html> | * **Source** : <html><a href="http://www.steves-internet-guide.com/mqtt-protocol-messages-overview/" target="_blank">Comprendre la structure des paquets du protocole MQTT</a></html> |
| |
| Le format de paquet ou de message MQTT se compose d'un en- tête fixe de 2 octets (toujours présent) + en -tête de variable (pas toujours présent) + charge utile (pas toujours présent). | Le format de paquet ou de message MQTT se compose d'un en-tête fixe de 2 octets (toujours présent) + en-tête variable (pas toujours présent) + charge utile (pas toujours présent). |
| |
| {{ :raspberrypi:linux:paquetmqtt.jpg?nolink |}} | {{ :raspberrypi:linux:paquetmqtt.jpg?nolink |}} |
| \\ | \\ |
| |
| | ====== 2. Le broker Mosquitto ====== |
| | |
| ===== 2. Le broker Mosquitto ===== | |
| {{ :raspberrypi:linux:mosquitto-text-side-28.png?nolink&200|}} | {{ :raspberrypi:linux:mosquitto-text-side-28.png?nolink&200|}} |
| Eclipse Mosquitto est un **courtier de messages** (**broker**) open source (sous licence EPL / EDL) qui implémente les versions 3.1 et 3.1.1 du protocole MQTT. Mosquitto est léger et convient à une utilisation sur tous les appareils, des ordinateurs monocarte basse consommation aux serveurs complets. | Eclipse Mosquitto est un **courtier de messages** (**broker**) open source (sous licence EPL / EDL) qui implémente les versions 5.0, 3.1.1 et 3.1 du protocole MQTT. Mosquitto est léger et convient à une utilisation sur tous les appareils, des ordinateurs monocarte basse consommation aux serveurs complets. |
| |
| Le protocole MQTT fournit une méthode légère pour effectuer la messagerie en utilisant un modèle de publication / abonnement. Cela le rend approprié pour la **messagerie Internet of Things**, par exemple avec des capteurs de faible puissance ou des appareils mobiles tels que des téléphones, des ordinateurs intégrés ou des microcontrôleurs. | Le protocole MQTT fournit une méthode légère pour effectuer la messagerie en utilisant un modèle de publication / abonnement. Cela le rend approprié pour la **messagerie Internet of Things**, par exemple avec des capteurs de faible puissance ou des appareils mobiles tels que des téléphones, des ordinateurs intégrés ou des microcontrôleurs. |
| \\ | \\ |
| |
| ===== 3. Installation et mise en oeuvre sur le réseau local ===== | ===== 2.1 Installation et mise en oeuvre sur le réseau local ===== |
| |
| ==== 3.1 Sur un Raspberry Pi ==== | ==== 2.1.1 Sur un Raspberry Pi ==== |
| |
| === 3.1.1 Installation === | === 2.1.1.1 Installation === |
| |
| * **Mise à jour** | * **Mise à jour de l'OS** |
| <code bash *.bash> | <code bash *.bash> |
| sudo apt update && sudo apt upgrade -y | sudo apt update && sudo apt upgrade -y |
| |"$SYS/broker/version"|La version du broker.| | |"$SYS/broker/version"|La version du broker.| |
| |
| === 3.1.2 Arrêt, démarrage, redémarrage === | === 2.1.1.2 Arrêt, démarrage, redémarrage === |
| <callout type="tip" icon="true">Le broker est installé en tant que **service**. Pour l'arrêter ou le redémarrer, utiliser les commandes suivantes :</callout> | <callout type="tip" icon="true">Le broker est installé en tant que **service**. Pour l'arrêter ou le redémarrer, utiliser les commandes suivantes :</callout> |
| |
| </code> | </code> |
| |
| === 3.1.3 Tests === | === 2.1.1.3 Tests === |
| <callout type="info" icon="true">Le paquet **mosquitto-clients** fournit deux commandes, <html><a href="https://mosquitto.org/man/mosquitto_sub-1.html" target="_blank">mosquitto_sub</a></html> pour une souscription et <html><a href="https://mosquitto.org/man/mosquitto_pub-1.html" target="_blank">mosquitto_pub</a></html> pour une publication.</callout> | <callout type="info" icon="true">Le paquet **mosquitto-clients** fournit deux commandes, <html><a href="https://mosquitto.org/man/mosquitto_sub-1.html" target="_blank">mosquitto_sub</a></html> pour une souscription et <html><a href="https://mosquitto.org/man/mosquitto_pub-1.html" target="_blank">mosquitto_pub</a></html> pour une publication.</callout> |
| |
| == 3.1.3.1 Test sur le RaspBerry Pi (localhost) == | == 2.1.1.3.1 Test sur le RaspBerry Pi (localhost) == |
| Pour tester le bon fonctionnement du broker, nous allons publier le message (payload) "//Bonjour//" sur le canal d'information (topic) //test/val// à l'aide d'un client **mosquitto_pub**. Ce message sera reçu par un client **mosquitto_sub** abonné à //test/val//. | Pour tester le bon fonctionnement du broker, nous allons publier le message (payload) "//Bonjour//" sur le canal d'information (topic) //test/val// à l'aide d'un client **mosquitto_pub**. Ce message sera reçu par un client **mosquitto_sub** abonné à //test/val//. |
| |
| \\ | \\ |
| |
| == 3.1.3.2 Tests sur le réseau local == | == 2.1.1.3.2 Tests sur le réseau local == |
| * **Ressource** : <html><a href="https://mosquitto.org/man/mosquitto-conf-5.html" target="_blank">Page du manuel de moquitto.conf</a></html> | * **Ressource** : <html><a href="https://mosquitto.org/man/mosquitto-conf-5.html" target="_blank">Page du manuel de moquitto.conf</a></html> |
| |
| <callout icon="fa fa-hand-stop-o" color="red" title="STOP">A partir de la **version 2 de Mosquitto** seule la **connexion sur le réseau local** est acceptée par le broker. \\ Pour effectuer le test précédent entre un courtier situé sur une machine (PC, Raspberry Pi,etc.) et un éditeur/abonné situé sur une autre machine (PC, smartphone, etc.) via un réseau local, il est nécessaire de modifier le fichier de configuration **mosquitto.conf** situé dans **/etc/mosquitto/**. \\ Pour cela, il est nécessaire : | <callout icon="fa fa-hand-stop-o" color="red" title="STOP">A partir de la **version 2 de Mosquitto** seule la **connexion sur le réseau local** est acceptée par le broker. \\ Pour effectuer le test précédent entre un courtier situé sur une machine (PC, Raspberry Pi,etc.) et un éditeur/abonné situé sur une autre machine (PC, smartphone, etc.) via un réseau local, il est nécessaire de modifier le fichier de configuration **mosquitto.conf** situé dans **/etc/mosquitto/**. \\ Pour cela, il est nécessaire : \\ |
| - d'ajouter les **interfaces** à l'aide de l'option **//listener//** dans le fichier mosquitto.conf, | - d'ajouter les **interfaces** à l'aide de l'option **//listener//** dans le fichier mosquitto.conf, \\ |
| - d'**autoriser** les **utilisateurs anonymes** ou **authentifiés**. | - d'**autoriser** les **utilisateurs anonymes** ou **authentifiés**. |
| </callout> | </callout> |
| |
| * **Utilisateurs anonymes** | * **Autoriser les utilisateurs anonymes** |
| <code bash *.bash> | Le fichier mosquitto.conf original contient le code suivant. |
| # Ouvrir le fichier mosquitto.conf | |
| sudo nano /etc/mosquitto/mosquitto.conf | |
| </code> | |
| |
| //Exemple// : connexion au broker situé sur un Raspberry Pi, sur l'hôte local et sur le réseau local via les interfaces Ethernet et wifi. | |
| <code bash *.bash> | <code bash *.bash> |
| # Place your local configuration in /etc/mosquitto/conf.d/ | # Place your local configuration in /etc/mosquitto/conf.d/ |
| log_dest file /var/log/mosquitto/mosquitto.log | log_dest file /var/log/mosquitto/mosquitto.log |
| |
| include_dir /etc/mosquitto/conf.d | include_dir /etc/mosquitto/conf.d # Position du fichier d'extension |
| | </code> |
| |
| allow_anonymous true # A modifier : false -> true | <callout type="warning" title="conf.d" icon="true">//mosquitto.conf// est modifiable mais il est préférable de placer __**ses**__ commandes dans un autre fichier (à créer dans le dossier //**conf.d**//).</callout> |
| |
| listener 1883 # A ajouter | <code bash *.bash> |
| | # Exemple |
| | # Créer/ouvrir le fichier mon_mosquitto.conf |
| | sudo nano /etc/mosquitto/conf.d/mon_mosquitto.conf |
| | </code> |
| |
| | Ajouter les lignes ci-dessous dans mon_mosquitto.conf |
| | |
| | <code bash *.bash> |
| | allow_anonymous true # A modifier : false -> true |
| | listener 1883 |
| </code> | </code> |
| |
| <callout type="warning" title="Prise en compte des modification" color="red" icon="true">Pour prendre en compte les modifications apportées au fichier mosquitto.conf, effectuer un redémarage du broker avec la commande : \\ //sudo systemctl restart mosquitto.service// </callout> | <callout type="warning" title="Prise en compte des modifications" color="red" icon="true">Pour prendre en compte les modifications apportées au fichier mosquitto.conf, effectuer un redémarage du broker avec la commande : \\ //sudo systemctl restart mosquitto.service// </callout> |
| |
| // Tests // réalisés entre un RaspBerry pi et un smartphone | // Tests // réalisés entre un RaspBerry pi et un smartphone |
| Consulter la page [[reseaux:outils:mymqtt|Wiki Réseau - Test d'un broker Mosquitto avec MyMQTT (Android App)]] pour la mise en oeuvre du test. | Consulter la page [[reseaux:outils:mymqtt|Wiki Réseau - Test d'un broker Mosquitto avec MyMQTT (Android App)]] pour la mise en oeuvre du test. |
| |
| | * **Autoriser des utilisateurs authentifiés** |
| <callout type="warning" title="Authentification" color="red" icon="true">Voir le paragraphe 4.1 pour créer une connexion avec authentification. </callout> | <callout type="warning" title="Authentification" color="red" icon="true">Voir le paragraphe 4.1 pour créer une connexion avec authentification. </callout> |
| |
| \\ | \\ |
| |
| ==== 3.2. Sous Windows ==== | ==== 2.1.2. Sous Windows ==== |
| Voir ce <html><a href="http://www.steves-internet-guide.com/install-mosquitto-broker/" target="_blank">lien</a></html> pour installer le broker Mosquitto sous Windows, | Voir ce <html><a href="http://www.steves-internet-guide.com/install-mosquitto-broker/" target="_blank">lien</a></html> pour installer le broker Mosquitto sous Windows, |
| |
| \\ | \\ |
| |
| ==== 3.3 Sur un NAS Synology ==== | ==== 2.1.3 Sur un NAS Synology ==== |
| {{ :raspberrypi:linux:synologyico.jpg?nolink&80|}} | {{ :raspberrypi:linux:synologyico.jpg?nolink&80|}} |
| * **Source** : <html><a href="https://www.lesalexiens.fr/actualites/tutoriel-installer-mosquitto-mqtt-sur-nas-synology/" target="_blank">Installer le broker MQTT Mosquitto sur NAS Synology (DSM 6.2+) avec Docker</a></html> | * **Source** : <html><a href="https://www.lesalexiens.fr/actualites/tutoriel-installer-mosquitto-mqtt-sur-nas-synology/" target="_blank">Installer le broker MQTT Mosquitto sur NAS Synology (DSM 6.2+) avec Docker</a></html> |
| \\ | \\ |
| |
| | ===== 2.2 Sécurité ===== |
| | |
| ===== 4 Sécurité ===== | |
| <callout type="info" icon="true">Cette partie ne sera pas exploitée lors du développement sur un réseau local dans la salle de classe. A prendre en compte si l'accès au broker se fait via Internet.</callout> | <callout type="info" icon="true">Cette partie ne sera pas exploitée lors du développement sur un réseau local dans la salle de classe. A prendre en compte si l'accès au broker se fait via Internet.</callout> |
| |
| ==== 4.1 Authentification ==== | ==== 2.2.1 Authentification ==== |
| {{ :raspberrypi:linux:security-mqtt.jpg?300|}} | {{ :raspberrypi:linux:security-mqtt.jpg?300|}} |
| Ce paragraphe illustre la mise en sécurité de l'installation étudiée dans la partie "Découverte" de la page [[microc:iot:clientmqttesp8266|Mise en oeuvre d'un client MQTT sur un ESP8266 feather Huzzah]]. | Ce paragraphe illustre la mise en sécurité de l'installation étudiée dans la partie "Découverte" de la page [[microc:iot:clientmqttesp8266|Mise en oeuvre d'un client MQTT sur un ESP8266 feather Huzzah]]. |
| \\ | \\ |
| |
| ==== 4.2 Chiffrage de la connexion ==== | ==== 2.2.2 Chiffrage de la connexion ==== |
| <html><span style="color:red">A faire</span></html> | <html><span style="color:red">A faire</span></html> |
| |
| \\ | \\ |
| |
| ===== 5 QoS ===== | ==== 2.2.3 QoS ==== |
| <callout type="primary" icon="true">Mosquitto implémente les trois qualités de service.</callout> | <callout type="primary" icon="true">**Mosquitto** implémente les trois qualités de service.</callout> |
| |
| \\ | \\ |
| |
| ===== 6. MQTT sur WebSockets avec Mosquitto ===== | ===== 2.3. MQTT sur WebSockets avec Mosquitto ===== |
| |
| ==== 6.1 Pourquoi utiliser MQTT sur Websockets ? ==== | ==== 2.3.1 Pourquoi utiliser MQTT sur Websockets ? ==== |
| {{ :raspberrypi:linux:websocket.png?nolink&80|}} | {{ :raspberrypi:linux:websocket.png?nolink&80|}} |
| <callout type="warning" icon="true">MQTT sur Websockets vous permet de **recevoir des données MQTT directement dans un navigateur Web**.</callout> | <callout type="warning" icon="true">MQTT sur Websockets vous permet de **recevoir des données MQTT directement dans un navigateur Web**.</callout> |
| \\ | \\ |
| |
| ==== 6.2 MQTT sur Websockets vs MQTT. ==== | ==== 2.3.2 MQTT sur Websockets vs MQTT. ==== |
| === 6.2.1 Présentation === | === 2.3.2.1 Présentation === |
| Dans le cas de MQTT sur Websockets, la connexion websockets constitue un canal externe pour le protocole MQTT. Le courtier MQTT place le paquet MQTT dans un paquet websockets et l'envoie au client. Le client extrait le paquet MQTT du paquet websockets puis le traite comme un paquet MQTT normal. | Dans le cas de MQTT sur Websockets, la connexion websockets constitue un canal externe pour le protocole MQTT. Le courtier MQTT place le paquet MQTT dans un paquet websockets et l'envoie au client. Le client extrait le paquet MQTT du paquet websockets puis le traite comme un paquet MQTT normal. |
| {{ :raspberrypi:linux:mqtt-websockets-illustration.jpg?nolink&450 |}} | {{ :raspberrypi:linux:mqtt-websockets-illustration.jpg?nolink&450 |}} |
| <callout type="primary" icon="true">La **version 1.5.7** du **broker Mosquitto** pour Raspberry Pi OS est **compatible avec les Websockets**. Il faut configurer le fichier mosquitto.conf pour que la communication s'établisse entre le broker et un client.</callout> | <callout type="primary" icon="true">La **version 1.5.7** du **broker Mosquitto** pour Raspberry Pi OS est **compatible avec les Websockets**. Il faut configurer le fichier mosquitto.conf pour que la communication s'établisse entre le broker et un client.</callout> |
| |
| === 6.2.2 Configuration du fichier mosquitto.conf === | === 2.3.2.2 Configuration du fichier mosquitto.conf === |
| MQTT sur Websockets utilise généralement le port **9001** mais il n'est pas fixé. | MQTT sur Websockets utilise généralement le port **9001** mais il n'est pas fixé. |
| |
| </code> | </code> |
| |
| === 6.2.3 Test de Websocket === | === 2.3.2.3 Test de Websocket === |
| {{ :web:eclipse_paho_logo.png?nolink&100|}} | {{ :web:eclipse_paho_logo.png?nolink&100|}} |
| Pour tester les websockets, nous avons besoin d'un client prenant en charge les websockets. Nous utiliserons le **client Javascript Paho** décrit sur la page [[web:eclipsepaho|Créer un client MQTT avec Eclipse Paho]]. | Pour tester les websockets, nous avons besoin d'un client prenant en charge les websockets. Nous utiliserons le **client Javascript Paho** décrit sur la page [[web:eclipsepaho|Créer un client MQTT avec Eclipse Paho]]. |
| \\ | \\ |
| |
| ===== 7. Outils ===== | ===== 2.4. Outils ===== |
| |
| {{ :raspberrypi:linux:mymqtt.png?nolink&80|}} | {{ :raspberrypi:linux:mymqtt.png?nolink&80|}} |
| ==== 7.1 MyMQTT : un client pour Androïd ==== | ==== 2.4.1 MyMQTT : un client pour Androïd ==== |
| En installant un **client pour Androïd** tel que **MyMQTT** sur un smartphone, on pourra facilement vérifier la capacité du broker à recevoir ou à émettre des messages. | En installant un **client pour Androïd** sur un smartphone tel que **MyMQTT** , on pourra facilement vérifier la capacité du broker à recevoir ou à émettre des messages. |
| * ** Fonctionnalités ** | * ** Fonctionnalités ** |
| * Connection à un courtier MQTT v3.1 (facultatif avec nom d'utilisateur et mot de passe) | * Connection à un courtier MQTT v3.1 (facultatif avec nom d'utilisateur et mot de passe) |
| Consulter la page [[reseaux:outils:mymqtt|Wiki Réseau - Test d'un broker Mosquitto avec MyMQTT (Android App)]] pour sa mise en oeuvre. | Consulter la page [[reseaux:outils:mymqtt|Wiki Réseau - Test d'un broker Mosquitto avec MyMQTT (Android App)]] pour sa mise en oeuvre. |
| |
| ==== 7.2 MQTTlens : un client pour navigateur ==== | \\ |
| | |
| | ==== 2.4.2 MQTTLens : un client pour navigateur ==== |
| {{ :raspberrypi:linux:mqttlensico.png?nolink|}} | {{ :raspberrypi:linux:mqttlensico.png?nolink|}} |
| MQTTlens est une application Google Chrome, qui se connecte à un courtier MQTT et peut s'abonner et publier sur des sujets MQTT. | MQTTlens est une application Google Chrome, qui se connecte à un courtier MQTT et peut s'abonner et publier sur des sujets MQTT. |