Table des matières:
- Étape 1: Installation de Mqtt Broker:
- Étape 2: Tester MQTT (Mosquitto)
- Étape 3: Travailler avec Armtronix Board & Mqtt
Vidéo: MQTT sur les cartes Armtronix : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Dans cette instructable, nous aimerions d'abord vous montrer comment vous pouvez utiliser un système basé sur Linux (Debian ou Ubuntu) et installer Mosquitto (Mqtt Broker) dessus, vous montrer également comment utiliser le client Mqtt sur votre téléphone (Android)/basé sur Linux système, envoyer et recevoir des messages via Mqtt. Après nous être familiarisés avec cela, nous aimerions vous montrer comment configurer et connecter notre carte avec ce courtier Mqtt installé. J'aimerais également vous montrer comment ajouter une authentification au courtier Mqtt et quelques trucs et astuces de base pour déboguer. Alors, commençons ………..
Étape 1: Installation de Mqtt Broker:
Il existe plusieurs courtiers Mqtt que vous pouvez installer. Certains connus sont comme mentionné ci-dessous. Certains d'entre eux sont des services basés sur le cloud.
- RucheMQ
- MoustiqueCloud
- MQTT
- Adafruit.io
Nous allons vous montrer comment installer Mosquitto sur un système basé sur Linux (Ubuntu 18.04). Pour ce faire, ajoutez d'abord Mosquitto à la liste des sources d'ubuntu. Une fois Mosquitto disponible dans les référentiels Ubuntu, vous pourrez l'installer avec apt-get.
Ouvrez simplement un terminal. Pour ouvrir un terminal, allez dans le coin inférieur gauche du bureau Ubuntu, cliquez sur Afficher l'application (grille pointillée 3X3). Une fenêtre s'ouvrira. Là, vous recherchez Terminal. Cliquez sur le terminal, vous devriez pouvoir voir une fenêtre s'ouvrir comme le montrent les images suivantes.
- Afficher l'application (Image 1).
- Recherchez Terminal (Image 2).
- Fenêtre du terminal (Image 3).
Entrez les commandes suivantes après avoir ouvert le terminal
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get mise à jour
sudo apt-get install moustique
Vous pouvez également installer le client Mqtt. L'ordre de le faire sera
sudo apt-get install mosquitto-clients
Quelques images pour votre référence
- Ajout de ppa (Image 4).
- Mise à jour du référentiel (Image 5).
- Installation de Mosquitto (Image 6).
- Installation du client Mosquitto (Image 7).
Étape 2: Tester MQTT (Mosquitto)
Pour tester mqtt via ubuntu (même système ou autre système), vous devez installer le client mqtt qui a été installé précédemment par la commande sudo apt-get install mosquitto-clients. Si vous souhaitez le tester à l'aide d'un téléphone mobile (Android), vous pouvez installer l'application MyMqtt à partir du Play Store.
Mqtt travaille sur quelque chose appelé Topics. Pour faciliter la compréhension, considérez ces sujets comme un dossier sur le disque dur d'un ordinateur. Considérons cet ordinateur comme un serveur informatique (qui dans le monde mqtt est un courtier Mqtt). Dans ce serveur, envisageons d'avoir un dossier.
Nom du dossier: /Folder_one/
Considérons maintenant deux personnes de deux systèmes différents (PC/Laptop) accédant à ce serveur soit pour lire des fichiers, soit pour envoyer/dump des fichiers, soit pour effectuer les deux opérations.
Nous nommerons les deux personnes/système comme Système X, Système Y (ce sont des clients Mqtt dans le monde Mqtt).
Maintenant, disons que le système X envoie/décharge un fichier (nom de fichier: température) dans le dossier "/Folder_one/", ceci dans le monde mqtt, nous pouvons appeler cette publication (nous envoyons un message/charge utile au lieu de fichier).
Maintenant, disons que le système Y souhaite obtenir/lire ce fichier ou tout nouveau fichier ou mettre à jour dans ce dossier, la première chose dont il a besoin est de connaître le nom et le chemin du dossier, qui dans notre cas est "/Folder_one/". Alors maintenant, il va aller dans ce dossier et lire/recevoir ce fichier (nom de fichier: temperature). Connaître le chemin/le sujet et vérifier les changements dans le fichier/les nouveaux fichiers dans le monde Mqtt est un abonnement à ce sujet.
En considérant l'exemple ci-dessus, Le système X publie sur "/Folder_one" et le système Y s'abonne à "/Folder_one"
Notez également que le système X peut également s'abonner à "/Folder_one" et que le système Y peut également publier sur "/Folder_one". De même, même le système serveur (The Mqtt Broker) peut publier/s'abonner à "/Folder_one" en installant le client Mqtt dessus comme nous l'avons fait actuellement. L'autre chose à retenir est de publier ou de vous abonner à un sujet dont vous aurez besoin de connaître l'adresse IP du courtier Mqtt.
Nous allons d'abord le tester via le client ubuntu qui est installé sur le même système que le courtier. Nous allons ouvrir deux fenêtres de terminal, l'une publiera et l'autre s'y abonnera. Pour l'exemple, nous utiliserons /Folder_one comme sujet. Avant de publier/sous un sujet, vous devrez trouver l'adresse IP d'ubuntu. Pour ce faire, cliquez sur le coin supérieur droit de l'écran, sélectionnez le paramètre wifi, à partir de là, vous pourrez trouver l'adresse IP du système Ubuntu (actuellement l'IP du courtier). Screenshort partagé pour référence (Image 8).
Ou pour trouver l'adresse IP du courtier, vous pouvez trouver l'adresse IP en installant les outils nets à l'aide de la commande suivante dans le terminal
sudo apt installer net-tools
Installation de net-tools (Image 9). Après cela, tapez simplement la commande ipconfig, vous obtiendrez une liste d'interfaces réseau avec le mac et l'adresse IP
sudo ipconfig
L'adresse IP de mon système est 192.168.1.67 (Image 10)
De publier
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone
Ici, mosquitto_pub est la commande, suivi de l'élément d'identification de paramètre -h qui est l'adresse IP de l'hôte/du courtier (dans notre cas 192.168.1.67), suivi de -t qui est le nom du sujet à l'éditeur (dans notre cas /Folder_one), suivi de -m qui signifie le message/la charge utile à envoyer qui (dans notre cas est pub_to_folderone).
S'inscrire
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Message envoyé par l'éditeur: pub_to_folderone
Exemple de publication
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "salut test mqtt"
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "mqtt fonctionne"
Exemple de réponse reçue lors de l'inscription au sujet
mosquitto_sub -h 192.168.1.67 -t /Folder_one
Message envoyé par l'éditeur:
- pub_to_folderone
- salut test mqtt
- mqtt travail
Pub Sub dans deux fenêtres de terminal séparées côte à côte (Image 11)
Tester Mqtt sur android (mon mqtt)
Installez l'application mymqtt depuis le Play Store sur votre téléphone Android (Image 12)
Ouvrez l'application et cliquez sur le coin supérieur gauche (Image 13, Image 14).
Cliquez sur Paramètres et entrez l'adresse IP du courtier, le port par défaut sera 1883. Actuellement, nous n'utilisons pas de courtier mqtt authentifié, le nom d'utilisateur et le mot de passe seront donc vides. Enregistrez-le simplement et cliquez à nouveau sur le coin supérieur gauche de l'application (< Paramètres), le tiroir s'ouvrira à nouveau (Image 15).
En haut du tiroir, il vous montrera l'adresse IP du courtier et le port auquel l'application est connectée (Image 16).
Ajoutez maintenant le sujet auquel vous souhaitez vous abonner en cliquant sur S'abonner. Ici, nous ajouterons un sujet en tant que /Folder_one (Image 17, Image 18).
Après cela, à partir du système Ubuntu en utilisant le terminal, nous publierons sur le sujet. Lors de la publication, vous devriez obtenir la charge utile/le message publié sur cette application mobile. Par exemple, publier la charge utile sous le nom « ARM - Automation Robotics & Mechatronics ». La commande est comme mentionné précédemment.
mosquitto_pub -h 192.168.1.67 -t /Folder_one -m « ARM - Robotique d'automatisation et mécatronique »
publication à partir du système Ubuntu (Image 19).
Message publié reçu sur le tableau de bord (Image 20).
Maintenant, publions à partir d'un téléphone Android (My mqtt) et abonnez-vous sur le système Ubuntu. Pour cet exemple, nous utilisons le sujet "/mymqtt_to_pub".
Pour ce faire, ouvrez d'abord un terminal à partir de votre système ubuntu et abonnez-vous au sujet "/mymqtt_to_pub" à l'aide de la commande suivante (Image 21)
mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub
Allez maintenant dans le tiroir de l'application mymqtt et cliquez sur publier. Ajoutez le sujet de publication (dans notre cas, c'est "/mymqtt_to_pub") et envoyez un message comme nous enverrons "salut Ubuntu", appuyez sur le bouton d'envoi (Image 22, Image 23).
Le message devrait apparaître sur la fenêtre de votre terminal du système Ubuntu (Image 24).
Notez que le système Ubuntu et le téléphone Android doivent être sur le même réseau ou que le port 1883 doit être exposé et que vous devez connaître l'adresse IP de votre routeur/passerelle pour que mqtt fonctionne. Si vous souhaitez ajouter une authentification à votre courtier mqtt, vous pouvez le faire en suivant le lien de blog mentionné ci-dessous https://medium.com/@eranda/setting-up-authenticat… Suivez à partir de la deuxième étape de ce blog. Nous avons activé l'authentification de notre courtier et utiliserons un courtier authentifié pour nos forums.
Étape 3: Travailler avec Armtronix Board & Mqtt
Actuellement pour cette instructable, nous utilisons notre Wifi Single Dimmer Board qui utilise Triac pour hacher l'onde sinusoïdale et à son tour obscurcit l'ampoule ou contrôle la vitesse du ventilateur. Nous l'avons également connecté via le type d'authentification mqtt.
Initialement, nous avons configuré la carte. Les étapes pour le configurer sont celles mentionnées ci-dessous.
Allumez la carte, elle commencera à héberger un point d'accès Wifi.
À l'aide d'un téléphone ou d'un ordinateur portable Android, connectez-vous à ce point d'accès (Image 25).
Une fois connecté à ce point d'accès, tapez 192.168.4.1 en ouvrant un navigateur (chrome/firefox) à partir du système/téléphone connecté au point d'accès. Assurez-vous que vous n'utilisez pas votre connexion de données (3G/4G).
En tapant l'IP, une page Web s'ouvrira où le suivi doit être entré (Image 26).
- SSID: nom du point d'accès Wifi.
- Mot de passe: Mot de passe SSID.
- Mode IoT Mqtt ou Http (Sélectionnez Mqtt).
- Mqtt Broker IP (dans notre cas, il s'agit de 192.168.1.67).
- Nom d'utilisateur et mot de passe Mqtt, comme nous utilisons le type d'authentification, nous avons utilisé Naren, xxxx
- Sujet de publication Mqtt: ce sera le sujet sur lequel le forum publiera également, nous avons utilisé /testpub.
- Sujet d'abonnement Mqtt: ce sera le sujet sur lequel le forum écoute les commandes pour déclencher le triac, nous avons utilisé /testsub.
- Nom de l'appareil: C'est le nom que vous appelez alexa pour déclencher la carte, nous avons utilisé corvi.
Après avoir entré les détails, appuyez sur le bouton de soumission, ce faisant, vous obtiendrez un écran comme indiqué dans l'image 27, attendez un certain temps jusqu'à ce que la carte cesse d'héberger le point d'accès.
Veuillez noter que nous avons connecté notre carte via Uart au moniteur série d'Arduino IDE. Ainsi, sur le côté gauche, vous verrez les messages de débogage qu'il imprime via Uart (ceci est juste pour votre référence).
Une fois cela fait, vous pouvez afficher l'écran de débogage. La plupart des détails y seront visibles. Après cela, il se connectera avec succès au courtier sur l'écran de débogage (série), vous pouvez le voir.
Connecté au courtier MQTT avec authentification. Abonné au sujet 1.
Une fois qu'il l'a imprimé, vous pouvez maintenant commencer à lui envoyer des commandes via mqtt sur le sujet auquel il s'est abonné, c'est-à-dire /testsub/
Pour cette carte les commandes sont:
- R13_ON: Pour allumer le triac à 100%.
- R13_OFF: Pour désactiver le triac à 0%.
- Dimmer:xx: Où, xx est la valeur de gradation et peut varier de 0 à 99.
- Reset: Pour effacer la configuration de la carte.
- Statut: Affiche l'état du gradateur du tableau sur le sujet de publication du tableau.
Pour envoyer cette commande à partir d'un système basé sur Ubuntu où le client mqtt est installé, tapez-la simplement comme indiqué ci-dessous. Deux paramètres supplémentaires sont ajoutés ici en raison de l'authentification - c'est-à-dire -u qui est le nom d'utilisateur et -P est le mot de passe, veuillez noter qu'ils sont sensibles à la casse.
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_OFF
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Gradateur:50
Remarque: 50 est la valeur du gradateur
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m Statut
Pour le dernier statut, le statut est imprimé sur le sujet de publication du forum, qui dans notre cas est /testpub. Sur notre forum, tout changement dans l'appareil est imprimé sur le sujet de publication du forum. Par exemple, si nous passons Dimmer:50 sur le sujet abonné au forum plutôt que de l'exécuter physiquement, le forum enverra un message indiquant le niveau d'obscurcissement sur le sujet de publication. L'exemple est montré ci-dessous, Pour vous abonner depuis votre système Ubuntu au sujet de publication du forum, entrez la commande suivante
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub
le message que nous recevons est
GradateurIS50
quelques courts métrages du même sont ci-dessous (Image 28, Image 29)
Conseillé:
Scanner de cartes pour une machine à cartes à collectionner : 13 étapes (avec photos)
Scanner de cartes pour une machine à cartes à collectionner : Scanner de cartes pour une machine à cartes à collectionnerLe journal des modifications se trouve à la dernière étape. Mais en bref, mes enfants et moi avons amassé une grande quantité de cartes à collectionner b
Chargeur de cartes pour une machine à cartes à collectionner : 10 étapes (avec photos)
Chargeur de cartes pour une machine à cartes à collectionner En attendant j'ai des enfants et lentement mais sûrement ils commencent aussi à avoir
Trieur de cartes pour une machine à cartes à collectionner (Mise à jour 2019-01-10): 12 étapes (avec photos)
Trieur de cartes pour une machine à cartes à collectionner (Mise à jour 2019-01-10) : Trieur de cartes pour une machine à cartes à collectionnerLe journal des modifications se trouve à la dernière étape.Le contexteJ'ai déjà expliqué la motivation de mon projet dans l'article Card Feeder. Mais bref, mes enfants et moi avons amassé une grande quantité de Trading Card
Gérez 100 appareils dans les applications, les organisations, les rôles et les utilisateurs Ubidots : 11 étapes
Gérer 100 appareils dans les applications, les organisations, les rôles et les utilisateurs d'Ubidots : à cette occasion, j'ai décidé de tester la fonctionnalité de la plate-forme IoT Ubidots pour la gestion des utilisateurs dans le cas où elle aurait de nombreux appareils pour plusieurs organisations ou entreprises sous la même Plateforme Ubidots. Information du maire : vous
Geek - Porte-cartes de crédit/cartes de visite d'un ancien disque dur d'ordinateur portable. : 7 étapes
Geek - Porte-cartes de crédit/cartes de visite d'un ancien disque dur d'ordinateur portable. J'ai eu cette idée folle lorsque le disque dur de mon ordinateur portable est mort et est devenu pratiquement inutile. J'ai inclus les images terminées ici