Table des matières:

MQTT sur les cartes Armtronix : 3 étapes
MQTT sur les cartes Armtronix : 3 étapes

Vidéo: MQTT sur les cartes Armtronix : 3 étapes

Vidéo: MQTT sur les cartes Armtronix : 3 étapes
Vidéo: Sonoff SNZB-03 Бюджетный zigbee датчик движения, обзор и подключение в Tuya Smart и Home Assistant 2024, Novembre
Anonim
MQTT sur les cartes Armtronix
MQTT sur les cartes Armtronix

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:

Installation de Mqtt Broker
Installation de Mqtt Broker
Installation de Mqtt Broker
Installation de Mqtt Broker
Installation de Mqtt Broker
Installation de Mqtt Broker
Installation de Mqtt Broker
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)

Tester MQTT (Mosquitto)
Tester MQTT (Mosquitto)
Tester MQTT (Mosquitto)
Tester MQTT (Mosquitto)
Tester MQTT (Mosquitto)
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

Travailler avec Armtronix Board & Mqtt
Travailler avec Armtronix Board & Mqtt
Travailler avec Armtronix Board & Mqtt
Travailler avec Armtronix Board & Mqtt
Travailler avec Armtronix Board & Mqtt
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é: