Your new post is loading...
Your new post is loading...
This is a complete guide to using MQTT with Raspberry Pi Pico programmed with MicroPython. MQTT is a communication protocol widely used in Home Automation and IoT applications to connect multiple devices. In this tutorial, you’ll learn how to choose and set up an MQTT broker and how to publish and subscribe to MQTT messages with the Raspberry Pi Pico.
Seguimos con la serie de tutoriales, donde intentamos publicar un ejemplo completo de como publicar medidas de sensores en un servidor MQTT y posterior inclusión en una Base de datos Influx, toca hoy el turno a un ejemplo que usa el sensor SCD41 de Sensirion y y que proporciona lecturas de Co2, Temperatura y humedad La sesión de hoy es un ejemplo completo de uso de este sensor junto al ESP32 para leer las medidas y publicar en el Broker MQTT las lecturas correspondientes, aunque sería muy fácilmente modificable para cualquier otro sensor y variables. Aquí va el link de hoy:
Mostrar en el dashboard en un mismo grupo 3 widgets text donde cada segundo actualice el timestamp (epoch time), la fecha usando el nodo node-red-contrib-date y el día y hora en formato, usando el nodo moment para transformarlo.
Learn how to program the ESP32 or ESP8266 boards with MicroPython to publish BME680 sensor readings (temperature, humidity, pressure, gas/air quality) via MQTT to any platform that supports MQTT or any MQTT client. As an example, we’ll publish sensor readings to Node-RED Dashboard.
L’ús d’entorns gràfics de programació permet treballar amb MQTT de manera creativa a molts nivells. El resultat de la meva experimentació amb ArduinoBlocks i App Inventor està publicat al lloc web del grup de treball Aplicacions didàctiques de Internet de les Coses.
Recuerda el nombre MQTT, ya que es un protocolo de comunicación en red tipo M2M (Machine to Machine) que va a sonar bastante. Está popularizándose bastante gracias a la nueva era del Internet de las cosas o IoT (Internet of Things) por sus siglas en inglés. Además, se trata de un protocolo abierto, lo que da bastantes ventajas. De hecho, se ha transformado en uno de los pilares centrales del IoT, ya que es bastante bueno en dispositivos con algunas limitaciones de transmisión como éstos. Las siglas MQTT provienen de Message Queuing Telemetry Transport, un estándar abierto de OASIS e ISO (ISO/IEC 20922) para comunicaciones en red y que se ejecuta, generalmente, sobre el famoso TCP/IP.
Learn how to program the ESP32 or ESP8266 boards with MicroPython to publish BME280 sensor readings (temperature, humidity and pressure) via MQTT to any platform that supports MQTT or any MQTT client. As an example, we’ll publish sensor readings to Node-RED Dashboard.
Node-RED y MQTT Sólo tienes que arrastrar el nodo mqtt que está en la categoría input al flujo. Ahora hay que configurarlo. Aquí es donde vemos la potencia de Node-RED.
MQTT es un protocolo de mensajería ligero de publicación/suscripción diseñado para telemetría M2M (máquina a máquina) en entornos de bajo ancho de banda. Fue diseñado por Andy Stanford-Clark (IBM) y Arlen Nipper en 1999 para conectar sistemas de telemetría de oleoductos por satélite. Aunque comenzó como un protocolo propietario, fue liberado libre de regalías en 2010 y se convirtió en un estándar OASIS en 2014. MQTT significa MQ Telemetry Transport, pero anteriormente se conocía como Message Queuing Telemetry Transport. MQTT se está convirtiendo rápidamente en uno de los principales protocolos para despliegues de IOT (Internet de las cosas). Es un interesante protocolo que se puede usar con nuestros Arduino o Raspberry Pi para comunicarse con distintos sensores, uno de los campos donde mejores resultados se pueden dar es en el de la domótica.
Si te interesa el mundo del IoT y los sensores conectados pero todavía no has podido probar MQTT, te estas perdiendo una autentica maravilla. El protocolo MQTT viene de "Message Queue Telemetry Transport " y es usado para la comunicación de máquina a máquina (M2M).
Llevamos unas entradas viendo los servicios de mensajería en IoT. En esta entrada profundizaremos en los Topics en MQTT, viendo qué son y cómo emplearlos correctamente en nuestros proyectos. En la primera entrada vimos distintos protocolos de comunicación para IoT. En la anterior presentamos MQTT, el popular protocolo M2M especialmente indicado para aplicaciones de IoT por su sencillez y ligereza. Recordamos que MQTT es un servicio de mensajería con patrón publicador/suscriptor (pub-sub) que funciona sobre TCP/IP. Es decir, un servidor central, que en MQTT se denomina Broker, recibe los mensajes, los filtra y los distribuye a los clientes.
|
Capturar los datos mandados por los nodos remotos por MQTT.
Sólo tienes que arrastrar el nodo mqtt que está en la categoría input al flujo.
Nueva entrada sobre comunicación con el ESP8266 y ESP32. Esta vez nos toca ver cómo comunicar una página web servida desde el ESP32 a través de MQTT.
Continuamos con las entradas destinadas a la comunicación con ESP8266 o ESP32 viendo cómo enviar un mensaje en formato Json por MQTT. En la entrada anterior vimos cómo emplear MQTT de forma asíncrona gracias a la librería AsyncMqttClient. Por otro lado, también vimos cómo emplear el formato Json tanto en llamadas Ajax como en Websockets. Ahora nos toca juntar MQTT y Json. La buena noticia es que ambos combinan perfectamente. De hecho, es muy frecuente que el mensaje que enviamos por MQTT esté en formato Json. Así que vamos a ver como emplear Json y MQTT en un ejemplo sencillo. Como de costumbre partiremos del ejemplo anterior por lo que, si aún no lo habéis hecho, conviene que le echéis un vistazo.
Continuamos con las entradas dedicadas a MQTT viendo MQTT Explorer, un cliente genérico que nos permite analizar los paquetes enviados en nuestra red MQTT. En anteriores entradas hemos visto los Qué es MQTT y su importancia en el IoT, Qué son los Topics y cómo usarlos y aprendido a instalar Mosquitto, uno de los broker de MQTT más populares. El siguiente paso para empezar a funcionar y hacer experimentos es añadir un cliente a nuestro sistema MQTT, y programar nuestros propios clientes que manden y reciban mensajes. Sin ser obligatorio, resulta más que conveniente disponer de un cliente genérico que nos permita monitorizar el funcionamiento de nuestra red de MQTT.
Para trabajar con MQTT es interesante instalar primero en el ordenador un cliente como MQTT.fx para hacer debug: https://mqttfx.jensd.de/ o MQTT explorer http://mqtt-explorer.com/ Para conseguir una comunicación MQTT con ESP8266 o Arduino, emplearemos una librería. Existen muchas disponibles gracias a la comunidad que existe alrededor de Arduino. Concretamente, nosotros emplearemos una de las más conocidas y la más estable y flexible, lo que facilita su uso en proyectos que queramos realizar donde intervengan Arduino y MQTT.
Hoy vamos a ver cómo instalar y configurar Mosquitto, uno de los broker MQTT más populares sobre todo en el sector doméstico, que podéis añadir a vuestros proyectos de IoT. En entradas anterior hemos hablado sobre los protocolos de comunicación para IoT, donde vimos el patrón publisher suscriber, el protocolo MQTT y su importancia, y algunos de los principales broker MQTT disponibles. Como teoría ya vale, hoy nos toca entrar en harina y empezar a jugar. Para esto, lo primero que necesitamos es instalar un broker al que podamos conectar los dispositivos. En esta entrada vamos a instalar Mosquitto, que como decíamos es uno de los broker más populares, y probablemente el más empleado en proyectos domésticos.
Learn how to program the ESP32 or ESP8266 boards with MicroPython to publish DS18B20 temperature readings via MQTT to any platform that supports MQTT or any MQTT client. As an example, we’ll publish sensor readings to Node-RED Dashboard.
Learn how to program the ESP32 or ESP8266 boards with MicroPython to publish DHT11 or DHT22 sensor readings (temperature and humidity) via MQTT to any platform that supports MQTT or any MQTT client. As an example, we’ll publish sensor readings to Node-RED Dashboard.
Nuestro amiguete Luis del Valle de programarfacil.com es conocido por ser un auténtico entusiasta de todo lo relacionado con ESP8266 y MQTTT. Desde luego no es para menos por que cámara en mano, nos enseña a través de un vídeo en su canal de youtube como configurar un ESP8266 conectado a una pantalla LCD Nexion para utilizar el servicio de Openweathermap.
MQTT (Message Queuing Telemetry Transport) es uno de los protocolos de mayor relevancia actualmente en proyectos dentro del contexto de la IoT. Este popular estándar de Oasis proporciona soluciones de sencilla implementación a problemas que se suelen dar en este dominio y que presentan bastantes retos para otros protocolos. Esto es especialmente destacable en comparaciones con HTTP, un protocolo cuya presencia en la IoT se puede explicar en parte por su popularidad, particularmente por ser una de las bases de la Web.
Continuamos con nuestra serie de entradas dedicadas a MQTT, el popular protocolo para IoT, viendo algunos de los principales broker MQTT disponibles. En entradas anteriores hemos visto qué algunos de los principales protocolos para IoT, el protocolo MQTT y qué son y cómo organizar correctamente los topics en un proyecto de MQTT. Como vimos, una de las claves principales de la comunicación MQTT es el Broker, que es el programa que se encarga de recepcionar los mensajes enviados por los clientes y distribuirlos entre sí en un sistema pub-sub.
|