Tabla de contenido:
- Paso 1: Instalación de Mqtt Broker:
- Paso 2: Prueba de MQTT (Mosquitto)
- Paso 3: Trabajar con Armtronix Board y Mqtt
Video: MQTT en placas Armtronix: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
En este instructivo, nos gustaría mostrarle inicialmente cómo puede usar un sistema basado en Linux (Debian o Ubuntu) e instalar Mosquitto (Mqtt Broker) en él, también mostrarle cómo usar el cliente Mqtt en su teléfono (Android) / basado en Linux. sistema, envío y recepción de mensajes a través de Mqtt. Después de familiarizarse con esto, nos gustaría mostrarle cómo puede configurar y conectar nuestra placa con este broker Mqtt instalado. También me gustaría mostrarle cómo puede agregar autenticación al corredor Mqtt y algunos consejos y trucos básicos para depurar. Entonces empecemos ………..
Paso 1: Instalación de Mqtt Broker:
Hay varios corredores de Mqtt que puede instalar. Algunos conocidos son los que se mencionan a continuación. Algunos de ellos son servicios basados en la nube.
- HiveMQ
- MosquittoCloud
- MQTT
- Adafruit.io
Le mostraremos cómo instalar Mosquitto en un sistema basado en Linux (Ubuntu 18.04). Para hacer esto, primero agregue Mosquitto a la lista de fuentes de ubuntu. Una vez que Mosquitto esté disponible en los repositorios de Ubuntu, podrá instalarlo con apt-get.
Solo abre una Terminal. Para abrir una Terminal, vaya a la esquina inferior izquierda del escritorio de Ubuntu, haga clic en Mostrar aplicación (cuadrícula de 3X3 con puntos). Se abrirá una ventana. Allí busca Terminal. Haga clic en el terminal, debería poder ver una ventana abierta como se muestra en las siguientes imágenes.
- Mostrar aplicación (Imagen 1).
- Busque Terminal (Imagen 2).
- Ventana de terminal (Imagen 3).
Ingrese los siguientes comandos después de abrir la Terminal
sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
También puede instalar el cliente Mqtt. El comando para hacer eso será
sudo apt-get install mosquitto-clients
Algunas imágenes para su referencia.
- Añadiendo ppa (Imagen 4).
- Actualización del repositorio (Imagen 5).
- Instalación de Mosquitto (Imagen 6).
- Instalación de Mosquitto Client (Imagen 7).
Paso 2: Prueba de MQTT (Mosquitto)
Para probar mqtt a través de ubuntu (mismo sistema u otro sistema), debe instalar el cliente mqtt que se instaló anteriormente con el comando sudo apt-get install mosquitto-clients. En caso de que desee probarlo con un teléfono móvil (Android), puede instalar la aplicación MyMqtt desde Play Store.
Mqtt trabaja en algo llamado Temas. Para facilitar su comprensión, considere estos temas como una carpeta en el disco duro de una computadora. Tratemos esta computadora como un servidor de computadora (que en el mundo mqtt es un Broker Mqtt). En este servidor, consideremos tener una carpeta.
Nombre de carpeta: / Folder_one /
Ahora consideremos a dos personas de dos sistemas diferentes (PC / Laptop) accediendo a este servidor para leer archivos o para enviar / volcar archivos o para realizar ambas operaciones.
Llamaremos a las dos personas / sistema como Sistema X, Sistema Y (Estos son Clientes Mqtt en el Mundo Mqtt).
Ahora, digamos que System X envía / vuelca algún archivo (nombre de archivo: temperatura) en la carpeta “/ Folder_one /”, esto en el mundo mqtt lo podemos llamar publicación (enviamos algún mensaje / carga útil en lugar de archivo).
Ahora, digamos que el Sistema Y desea obtener / leer este archivo o cualquier archivo nuevo o actualizar en esta carpeta, lo primero que necesita es saber el nombre de la carpeta y la ruta, que en nuestro caso es “/ Folder_one /”. Así que ahora irá a esta carpeta y leerá / recibirá ese archivo (nombre de archivo: temperatura). Conocer la ruta / Tema y verificar cambios en el archivo / archivos nuevos en el mundo Mqtt es suscripción a ese tema.
Considerando el ejemplo anterior, El sistema X publica en "/ Folder_one" y el sistema Y se suscribe a "/ Folder_one"
También tenga en cuenta que System X también puede suscribirse a “/ Folder_one” y System Y también puede publicar en “/ Folder_one”. Asimismo, incluso el sistema del servidor (The Mqtt Broker) puede publicar / suscribirse a “/ Folder_one” instalando el cliente Mqtt en él como lo hemos hecho actualmente. La otra cosa que debe recordar es que para publicar o suscribirse a un tema, necesitará conocer la dirección IP del Mqtt Broker.
Primero lo probaremos a través del cliente ubuntu que está instalado en el mismo sistema que el broker. Abriremos dos ventanas de terminal, una de ellas publicará y la otra se suscribirá. Para el ejemplo, usaremos / Folder_one como tema. Antes de publicar / sub a un tema, deberá encontrar la dirección IP de ubuntu. Para hacer esto, haga clic en la esquina superior derecha de la pantalla, seleccione la configuración de wifi, desde allí podrá encontrar la dirección IP del sistema ubuntu (actualmente la IP del corredor). Screenshort compartido como referencia (Imagen 8).
O para encontrar la dirección IP del corredor, puede encontrar la dirección IP instalando herramientas de red usando el siguiente comando en la terminal
sudo apt instalar herramientas de red
Instalación de net-tools (Imagen 9). Después de eso, simplemente escriba el comando ipconfig. Obtendrá una lista de la interfaz de red con la dirección mac e IP.
sudo ipconfig
La dirección IP de mi sistema es 192.168.1.67 (Imagen 10)
A publicar
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m pub_to_folderone
Aquí, mosquitto_pub es el comando, seguido del elemento identificador de parámetro -h que es la dirección IP del host / broker (en nuestro caso 192.168.1.67), seguido de -t que es el nombre del tema para el editor (en nuestro caso / Folder_one), seguido de -m que significa el mensaje / carga útil que se enviará (en nuestro caso es pub_to_folderone).
Suscribirse
mosquitto_sub -h 192.168.1.67 -t / Folder_one
Mensaje enviado por el editor: pub_to_folderone
Ejemplo de publicación
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m “hola prueba mqtt”
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m “mqtt en funcionamiento”
Ejemplo de respuesta recibida al suscribirse al tema
mosquitto_sub -h 192.168.1.67 -t / Folder_one
Mensaje enviado por el editor:
- pub_to_folderone
- hola prueba mqtt
- mqtt trabajando
Pub Sub en dos ventanas de terminal separadas una al lado de la otra (Imagen 11)
Probando Mqtt en Android (mi mqtt)
Instale la aplicación mymqtt de Play Store en su teléfono Android (Imagen 12)
Abra la aplicación y haga clic en la esquina superior izquierda (Imagen 13, Imagen 14).
Haga clic en Configuración e ingrese la dirección IP del corredor, el puerto por defecto será 1883. Actualmente no estamos usando un corredor mqtt autenticado, por lo que el nombre de usuario y la contraseña estarán en blanco. Simplemente guárdelo y vuelva a hacer clic en la esquina superior izquierda de la aplicación (<Configuración) y el cajón se volverá a abrir (Imagen 15).
En la parte superior del cajón, le mostrará la dirección IP del corredor y el puerto al que está conectada la aplicación (Imagen 16).
Ahora agregue el tema al que desea suscribirse haciendo clic en Suscribirse. Aquí agregaremos el tema como / Folder_one (Imagen 17, Imagen 18).
Luego de hacer esto, desde el sistema ubuntu usando terminal publicaremos en el tema. Al publicar, debe publicar la carga útil / mensaje en esta aplicación móvil. Por ejemplo, publicar la carga útil como "ARM -Automation Robotics & Mechatronics". El comando es como se mencionó anteriormente.
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m “ARM -Automation Robotics & Mechatronics”
publicación desde el sistema ubuntu (Imagen 19).
Mensaje publicado recibido en el tablero (Imagen 20).
Ahora publiquemos desde un teléfono Android (Mi mqtt) y suscríbase en el sistema ubuntu. Para este ejemplo usamos el tema “/ mymqtt_to_pub”.
Para hacer esto, primero abra una terminal desde su sistema ubuntu y suscríbase al tema "/ mymqtt_to_pub" usando el siguiente comando (Imagen 21)
mosquitto_sub -h 192.168.1.67 -t / mymqtt_to_pub
Ahora vaya al cajón de la aplicación mymqtt y haga clic en publicar. Agregue el tema de publicación (en nuestro caso es “/ mymqtt_to_pub”) y envíe algún mensaje como enviaremos “hola Ubuntu”, presione el botón enviar (Imagen 22, Imagen 23).
El mensaje debería aparecer en la ventana de su terminal del sistema ubuntu (Imagen 24).
Tenga en cuenta que tanto el sistema ubuntu como el teléfono Android deben estar en la misma red o el puerto 1883 debe estar expuesto y debe conocer la dirección IP de su enrutador / puerta de enlace para que mqtt funcione. Si desea agregar autenticación a su corredor de mqtt, puede hacerlo siguiendo el enlace del blog que se menciona a continuación https://medium.com/@eranda/setting-up-authenticat … Siga el paso dos de este blog. Hemos habilitado la autenticación de nuestro corredor y usaremos un corredor autenticado para nuestros tableros.
Paso 3: Trabajar con Armtronix Board y Mqtt
Actualmente, para este instructable, estamos utilizando nuestra placa de atenuación única Wifi que usa Triac para cortar la onda sinusoidal y, a su vez, atenúa la bombilla o controla la velocidad del ventilador. También lo hemos conectado a través del tipo de autenticación mqtt.
Inicialmente hemos configurado la placa. Los pasos para configurarlo son los que se mencionan a continuación.
Encienda la placa, comenzará a alojar un punto de acceso Wifi.
Con un teléfono Android o una computadora portátil, conéctese a este AP (Imagen 25).
Una vez conectado a este AP, escriba 192.168.4.1 abriendo un navegador (chrome / firefox) desde el sistema / teléfono conectado al AP. Asegúrate de no estar usando tu conexión de datos (3G / 4G).
Al escribir la IP se abrirá una página web donde se debe ingresar lo siguiente (Imagen 26).
- SSID: nombre del AP Wifi.
- Contraseña: contraseña SSID.
- Modo IoT Mqtt o Http (seleccione Mqtt).
- Mqtt Broker IP (en nuestro caso es 192.168.1.67).
- Nombre de usuario y contraseña de Mqtt, ya que estamos usando el tipo de autenticación, hemos usado Naren, xxxx
- Tema de publicación de Mqtt: Este será el tema en el que también se publica la junta, hemos usado / testpub.
- Tema de suscripción de Mqtt: este será el tema en el que la placa escuchará los comandos para activar el triac, hemos usado / testsub.
- Nombre del dispositivo: es el nombre que le pides a alexa por activar el tablero, hemos usado corvi.
Después de ingresar los detalles, presione el botón enviar, al hacer esto obtendrá una pantalla como se muestra en la Imagen 27, espere un tiempo hasta que la placa deje de albergar el AP.
Tenga en cuenta que hemos conectado nuestra placa a través de Uart al monitor en serie de Arduino IDE. Entonces, en el lado izquierdo, verá los mensajes de depuración que imprime a través de Uart (esto es solo para su referencia).
Una vez hecho esto, puede ver la pantalla de depuración. La mayoría de los detalles estarán visibles allí. Después de esto, se conectará con éxito al corredor en la pantalla de depuración (serie). Puede ver esto.
Conectado al broker MQTT con autenticación. Suscrito al tema 1.
Después de que imprima esto, ahora puede comenzar a enviarle comandos a través de mqtt sobre el tema al que se ha suscrito, es decir, / testsub /
Para esta placa, los comandos son:
- R13_ON: Para encender el triac al 100%.
- R13_OFF: Para apagar el triac al 0%.
- Atenuador: xx: Donde, xx es el valor de atenuación y se puede variar de 0 a 99.
- Reset: Para borrar la configuración de la placa.
- Estado: imprime el estado del atenuador de la placa en el tema de publicación de la placa.
Para enviar este comando desde un sistema basado en ubuntu donde está instalado el cliente mqtt, simplemente escríbalo como se muestra a continuación. Aquí se agregan dos parámetros adicionales debido a la autenticación, es decir, -u, que es el nombre de usuario y -P, la contraseña, tenga en cuenta que distinguen entre mayúsculas y minúsculas.
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 Atenuador: 50
Nota: 50 es el valor de atenuación
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 Estado
Para obtener el estado más reciente, el estado se imprime en el tema de publicación del tablero, que en nuestro caso es / testpub. En nuestro tablero, cualquier cambio en el dispositivo se imprime en el tema de publicación del tablero. Por ejemplo, si pasamos Dimmer: 50 en el tema suscrito de la pizarra en lugar de ejecutarlo físicamente, la pizarra enviará un mensaje indicando el nivel atenuado en el tema de publicación. A continuación se muestra un ejemplo, Para suscribirse desde su sistema ubuntu al tema de publicación del tablero, ingrese el siguiente comando
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t / testpub
el mensaje que recibimos es
AtenuadorIS50
A continuación se muestran algunos cortos de pantalla del mismo (Imagen 28, Imagen 29)
Recomendado:
Placas de circuito grabadas con ácido de impresora SLA 3D: 7 pasos (con imágenes)
Placas de circuito grabadas al ácido de impresora SLA 3D: Remix..remix .. Bueno, necesito una placa de desarrollo para mis chips ATtiny. No tengo un CNC para cortar una PCB, no conozco Kicad y no quiero pedir placas. Pero tengo una impresora de resina … y ácido y conozco SketchUp. Y me gusta hacer cosas. Que onda
Soundplant + 2 placas conductoras desnudas = Instrumento digital de 24 entradas: 7 pasos
Soundplant + 2 Placas Conductoras Bare = Instrumento Digital de 24 Entradas: Este proyecto es una documentación para un proyecto de trabajo a través de mi trabajo en CEISMC (Centro de Educación Integrando Ciencias, Matemáticas y Computación). CEISMC es un ala educativa de Georgia Tech en Atlanta, GA. El programa en el que estoy involucrado es " GoS
Detección de objetos con placas Sipeed MaiX (Kendryte K210): 6 pasos
Detección de objetos con placas Sipeed MaiX (Kendryte K210): como continuación de mi artículo anterior sobre el reconocimiento de imágenes con placas Sipeed MaiX, decidí escribir otro tutorial, centrado en la detección de objetos. Recientemente apareció un hardware interesante con el chip Kendryte K210, incluido S
Cómo hacer sus propias placas de circuito impreso: 7 pasos
Cómo hacer sus propias placas de circuito impreso: En este tutorial, le mostraré cómo puede diseñar sus propias placas de circuito impreso en minutos
Placas tectónicas, Makey -makey: 3 pasos
Tectonic Plates, Makey -makey: Como profesora de Historia siempre he buscado unir mi disciplina con la tecnología de manera lúdica, atractiva y educativa para los estudiantes, es por esto que cree un mapa interactivo usando materiales muy básicos, makey-makey y scracth MIT , en est