Taula de continguts:

MQTT a les taules Armtronix: 3 passos
MQTT a les taules Armtronix: 3 passos

Vídeo: MQTT a les taules Armtronix: 3 passos

Vídeo: MQTT a les taules Armtronix: 3 passos
Vídeo: #232 Как защитить наши устройства с помощью SSL (ESP8266, ESP32, Учебное пособие) 2024, Desembre
Anonim
MQTT als taulers Armtronix
MQTT als taulers Armtronix

En aquest instructiu ens agradaria mostrar-vos inicialment com podeu utilitzar un sistema basat en Linux (Debian o Ubuntu) i instal·lar-hi Mosquitto (Mqtt Broker), també mostrar-vos com utilitzar el client Mqtt al vostre telèfon (Android) / basat en Linux sistema, enviant i rebent missatges mitjançant Mqtt. Després de familiaritzar-nos amb això, ens agradaria mostrar-vos com podeu configurar i connectar el nostre tauler amb aquest corredor Mqtt instal·lat. També us vull mostrar com podeu afegir autenticació al broker Mqtt i alguns consells i trucs bàsics per depurar. Comencem doncs …

Pas 1: Instal·lació de Mqtt Broker:

Instal·lació de Mqtt Broker
Instal·lació de Mqtt Broker
Instal·lació de Mqtt Broker
Instal·lació de Mqtt Broker
Instal·lació de Mqtt Broker
Instal·lació de Mqtt Broker
Instal·lació de Mqtt Broker
Instal·lació de Mqtt Broker

Hi ha diversos corredors Mqtt que podeu instal·lar. Alguns dels coneguts són els que s’esmenten a continuació. Alguns d’ells són serveis basats en el núvol.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

Us mostrarem com instal·lar Mosquitto en un sistema basat en Linux (Ubuntu 18.04). Per fer-ho, primer afegiu Mosquitto a la llista de fonts d’ubuntu. Un cop Mosquitto estigui disponible als repositoris d'Ubuntu, podreu instal·lar-lo amb apt-get.

Simplement obriu una terminal. Per obrir un terminal, aneu a la part inferior esquerra de l’escriptori Ubuntu i feu clic a Mostra l’aplicació (quadrícula 3x3 amb punt). S'obrirà una finestra. Allà cerqueu Terminal. Feu clic al terminal per poder veure una finestra oberta com es mostra a les imatges següents.

  • Mostra l'aplicació (imatge 1).
  • Cerqueu terminal (imatge 2).
  • Finestra del terminal (imatge 3).

Introduïu les ordres següents després d'obrir el terminal

sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa

sudo apt-get update

sudo apt-get install mosquitto

També podeu instal·lar el client Mqtt. L’ordre per fer-ho serà

sudo apt-get install mosquitto-clients

Algunes imatges per a la vostra referència

  • Afegint ppa (imatge 4).
  • S'està actualitzant la reposició (imatge 5).
  • Instal·lació de Mosquitto (imatge 6).
  • Instal·lació del client Mosquitto (imatge 7).

Pas 2: provar MQTT (Mosquitto)

Prova de MQTT (Mosquitto)
Prova de MQTT (Mosquitto)
Prova de MQTT (Mosquitto)
Prova de MQTT (Mosquitto)
Prova de MQTT (Mosquitto)
Prova de MQTT (Mosquitto)

Per provar mqtt mitjançant ubuntu (el mateix sistema o un altre sistema), heu d’instal·lar el client mqtt que es va instal·lar anteriorment amb l’ordre sudo apt-get install mosquitto-clients. En cas que vulgueu provar-lo amb un telèfon mòbil (Android), podeu instal·lar l'aplicació MyMqtt des de Play Store.

Mqtt treballa en un tema anomenat Temes. Per facilitar la comprensió, considereu aquests temes com una carpeta del disc dur de l'ordinador. Tractem aquest ordinador com un servidor informàtic (que al món mqtt és un corredor Mqtt). En aquest servidor considerem tenir una carpeta.

Nom de la carpeta: / Folder_one /

Ara considerem dues persones de dos sistemes diferents (PC / ordinador portàtil) que accedeixen a aquest servidor per llegir fitxers o per enviar / bolcar fitxers o per fer les dues operacions.

Anomenarem les dues persones / sistema com a Sistema X, Sistema Y (Aquests són els clients Mqtt al món Mqtt).

Ara, diguem que el sistema X envia / bolca algun fitxer (nom del fitxer: temperatura) a la carpeta “/ Folder_one /”, al món mqtt podem anomenar-ho publicant (enviem algun missatge / càrrega útil en lloc de fitxer).

Ara, diguem que el sistema Y vol obtenir / llegir aquest fitxer o qualsevol fitxer nou o actualitzar-lo en aquesta carpeta, el primer que necessita és conèixer el nom i el camí de la carpeta, que en el nostre cas és "/ Folder_one /". Així que ara anirà a aquesta carpeta i llegirà / rebrà aquest fitxer (nom del fitxer: temperatura). Conèixer el camí / tema i comprovar si hi ha canvis al fitxer / fitxers nous al món Mqtt és subscripció a aquest tema.

Tenint en compte l'exemple anterior, El sistema X publica a "/ Folder_one" i el sistema Y s'ha subscrit a "/ Folder_one"

Tingueu en compte també que el sistema X també es pot subscriure a "/ Folder_one" i el sistema Y també pot publicar-se a "/ Folder_one". De manera intel·ligent, fins i tot el sistema servidor (The Mqtt Broker) pot publicar / subscriure's a "/ Folder_one" instal·lant-hi el client Mqtt tal com hem fet actualment. L’altra cosa que cal recordar és publicar o subscriure’s a un tema que haureu de conèixer l’adreça IP de Mqtt Broker.

Primer ho provarem a través del client Ubuntu que s’instal·la al mateix sistema que l’intermediari. Obrirem dues finestres de terminal, una de les quals es publicarà i l’altra s’hi subscriurà. Per a l'exemple utilitzarem / Folder_one com a tema. Abans de publicar / publicar un tema, haureu de trobar l'adreça IP d'ubuntu. Per fer-ho, feu clic a l'extrem superior dret de la pantalla, seleccioneu la configuració del wifi, des d'allà podreu trobar l'adreça IP del sistema ubuntu (actualment l'adreça IP del broker). Pantalla compartida per a referència (imatge 8).

O bé, per trobar l'adreça IP del corredor, podeu trobar l'adreça IP instal·lant eines net mitjançant l'ordre següent al terminal

sudo apt install net-tools

Instal·lació d'eines de xarxa (imatge 9). Després d’això, només cal que escriviu l’ordre ipconfig i obtindreu una llista de la interfície de xarxa amb l’adreça IP i mac

sudo ipconfig

L'adreça IP del meu sistema és 192.168.1.67 (imatge 10)

Per publicar

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m pub_to_folderone

Aquí, mosquitto_pub és l’ordre, seguit de l’element identificador del paràmetre -h que és l’adreça IP de l’amfitrió / agent (en el nostre cas 192.168.1.67), seguit de -t que és el nom del tema per a l’editor (En el nostre cas / Folder_one), seguit de -m que significa el missatge / càrrega útil que cal enviar (en el nostre cas és pub_to_folderone).

Per subscriure-s’hi

mosquitto_sub -h 192.168.1.67 -t / Folder_one

Missatge enviat per l'editor: pub_to_folderone

Exemple de publicació

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "hi test mqtt"

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m “mqtt working”

Exemple de resposta rebuda en subscriure's al tema

mosquitto_sub -h 192.168.1.67 -t / Folder_one

Missatge enviat per l'editor:

  • pub_to_folderone
  • hola prova mqtt
  • mqtt treballant

Pub Sub en dues finestres de terminal separades un al costat de l’altre (imatge 11)

Prova de Mqtt a Android (my mqtt)

Instal·leu l'aplicació mymqtt des de Play Store al vostre telèfon Android (imatge 12)

Obriu l'aplicació i feu clic a l'extrem superior esquerre (imatge 13, imatge 14).

Feu clic a Configuració i introduïu l'adreça IP del corredor, el port per defecte serà 1883. Actualment no estem utilitzant el corredor mqtt autenticat, de manera que el nom d'usuari i la contrasenya quedaran en blanc. Només cal que el deseu i torneu a fer clic a l'extrem superior esquerre de l'aplicació (<Configuració) que es tornarà a obrir el calaix (imatge 15).

A la part superior del calaix, us mostrarà l'adreça IP del corredor i el port al qual està connectada l'aplicació (imatge 16).

Ara afegiu el tema que voleu subscriure fent clic a Subscriu-te. Aquí afegirem el tema com / Folder_one (imatge 17, imatge 18).

Després de fer-ho, des del sistema ubuntu mitjançant terminal, publicarem el tema. En publicar, heu de publicar la càrrega útil / el missatge en aquesta aplicació mòbil. Per exemple, publicar la càrrega útil com a "ARM -Automation Robotics & Mechatronics". L'ordre és el que s'ha esmentat anteriorment.

mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "ARM-Robòtica i mecatrònica d'automatització"

publicació des del sistema Ubuntu (imatge 19).

Missatge publicat rebut al tauler (imatge 20).

Ara publiquem des del telèfon Android (My mqtt) i subscrivim-nos al sistema Ubuntu. Per a aquest exemple estem utilitzant el tema "/ mymqtt_to_pub".

Per fer-ho, obriu primer un terminal del vostre sistema Ubuntu i subscriviu-vos al tema "/ mymqtt_to_pub" mitjançant l'ordre següent (Imatge 21)

mosquitto_sub -h 192.168.1.67 -t / mymqtt_to_pub

Ara aneu al calaix de l'aplicació mymqtt i feu clic a publica. Afegiu el tema de publicació (en el nostre cas és “/ mymqtt_to_pub”) i envieu un missatge com si enviéssim “hola Ubuntu”, premeu el botó d’enviament (imatge 22, imatge 23).

El missatge hauria d'aparèixer a la finestra del terminal del sistema Ubuntu (imatge 24).

Tingueu en compte que tant el sistema ubuntu com el telèfon Android haurien d’estar a la mateixa xarxa o port 1883, i heu de conèixer l’adreça IP del vostre enrutador / passarel·la perquè funcioni mqtt. Si voleu afegir autenticació al vostre corredor mqtt, podeu fer-ho seguint l’enllaç següent del bloc https://medium.com/@eranda/setting-up-authenticat … Seguiu el segon pas d’aquest bloc. Tenim habilitada l'autenticació del nostre corredor i utilitzarem un corredor autenticat per als nostres consells.

Pas 3: Treballar amb Armtronix Board i Mqtt

Treballar amb Armtronix Board i Mqtt
Treballar amb Armtronix Board i Mqtt
Treballar amb Armtronix Board i Mqtt
Treballar amb Armtronix Board i Mqtt
Treballar amb Armtronix Board i Mqtt
Treballar amb Armtronix Board i Mqtt

Actualment, per a aquesta instrucció, estem utilitzant la nostra placa Wimmer Single Dimmer que utilitza Triac per tallar l’ona sinusoïdal i, al seu torn, atenuar la bombeta o controlar la velocitat del ventilador. També l’hem connectat mitjançant el tipus d’autenticació mqtt.

Inicialment hem configurat la placa. Els passos per configurar-lo són els següents:

Encès al tauler, començarà a allotjar un punt d’accés Wifi.

Utilitzeu un telèfon o un ordinador portàtil Android per connectar-vos a aquest AP (imatge 25).

Un cop connectat a aquest AP, escriviu 192.168.4.1 obrint un navegador (chrome / firefox) des del sistema / telèfon connectat a l'AP. Assegureu-vos que no utilitzeu la vostra connexió de dades (3G / 4G).

En escriure la IP, s’obrirà una pàgina web on s’ha d’introduir el següent (imatge 26).

  • SSID: nom de l'aplicació Wifi.
  • Contrasenya: contrasenya SSID.
  • Mode IoT Mqtt o Http (Seleccioneu Mqtt).
  • Mqtt Broker IP (en el nostre cas és 192.168.1.67).
  • Nom d'usuari i contrasenya de Mqtt, ja que utilitzem el tipus d'autenticació, hem utilitzat Naren, xxxx
  • Mqtt publish topic: Aquest serà el tema que també publica el tauler, que hem utilitzat / testpub.
  • Mqtt subscribe topic: aquest serà el tema que escolta el tauler per obtenir ordres per activar el triac, que hem utilitzat / testsub.
  • Nom del dispositiu: és el nom que crideu a Alexa per activar el tauler, hem utilitzat corvi.

Després d’introduir els detalls, premeu el botó d’enviament, en fer-ho obtindreu una pantalla com es mostra a la imatge 27, espereu un temps fins que el tauler deixi d’allotjar l’AP.

Tingueu en compte que hem connectat la nostra placa a través d’Uart al monitor sèrie d’Arduino IDE. Així, a la part esquerra, veureu els missatges de depuració que imprimeix mitjançant Uart (això és només per a la vostra referència).

Un cop fet això, podeu veure la pantalla de depuració. La majoria dels detalls hi seran visibles. Després d'això, es connectarà amb èxit a l'agent a la pantalla de depuració (sèrie) que podeu veure.

Connectat al broker MQTT amb autenticació. Subscrit al tema 1.

Després d'imprimir això, ara podeu començar a enviar-li ordres mitjançant mqtt sobre el tema al qual s'ha subscrit, és a dir, / testsub /

Per a aquesta placa les ordres són:

  • R13_ON: per activar el triac al 100%.
  • R13_OFF: per apagar el triac al 0%.
  • Dimmer: xx: on, xx és el valor de regulació i es pot variar de 0 a 99.
  • Restableix: per esborrar la configuració del tauler.
  • Estat: imprimeix l’estat més feble del tauler al tema de publicació del tauler.

Per enviar aquesta ordre des d'un sistema basat en ubuntu on està instal·lat el client mqtt, només cal que ho escriviu com es mostra a continuació. Aquí s’afegeixen dos paràmetres addicionals a causa de l’autenticació: és a dir, -u, que és el nom d’usuari i -P, la contrasenya. Tingueu en compte que distingeixen entre majúscules i minúscules.

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 Dimmer: 50

Nota: 50 és el valor més feble

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 Estat

Per obtenir l’estat més recent, l’estat s’imprimeix al tema de publicació del tauler, que en el nostre cas és / testpub. Al nostre tauler, qualsevol canvi del dispositiu s’imprimeix al tema de publicació del tauler. Per exemple, si passem Dimmer: 50 al tema subscrit al tauler que en executar-lo físicament, el tauler enviarà un missatge indicant el nivell atenuat del tema publicat. A continuació es mostra un exemple, Per subscriure-us des del vostre sistema Ubuntu al tema de publicació del tauler, introduïu l'ordre següent

mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t / testpub

el missatge que rebem és

DimmerIS50

a continuació, es mostren uns curts de pantalla de la mateixa (imatge 28, imatge 29)

Recomanat: