Tabla de contenido:

NodeMCU ESP8266 - MQTT - Ubidots: 5 pasos
NodeMCU ESP8266 - MQTT - Ubidots: 5 pasos

Video: NodeMCU ESP8266 - MQTT - Ubidots: 5 pasos

Video: NodeMCU ESP8266 - MQTT - Ubidots: 5 pasos
Video: MQTT on ESP32 | Controlling Appliances and Monitoring Sensor on Ubidots | ESP32 Projects 2024, Noviembre
Anonim
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots
NodeMCU ESP8266 - MQTT - Ubidots

MQTT es un protocolo de mensajería estándar de OASIS para Internet de las cosas (IoT). Está diseñado como un transporte de mensajería de publicación / suscripción extremadamente liviano que es ideal para conectar dispositivos remotos con una huella de código pequeña y un ancho de banda de red mínimo. Hoy en día, MQTT se utiliza en una amplia variedad de industrias, como la automotriz, la fabricación, las telecomunicaciones, el petróleo y el gas, etc.

Por qué MQTT: los clientes MQTT son muy pequeños, requieren recursos mínimos, por lo que se pueden utilizar en microcontroladores pequeños. Los encabezados de los mensajes MQTT son pequeños para optimizar el ancho de banda de la red.

Comunicación bidireccional: MQTT permite la mensajería entre dispositivo a la nube y de la nube al dispositivo. Esto facilita la transmisión de mensajes a grupos de cosas.

Escale a millones de cosas: MQTT puede escalar para conectarse con millones de dispositivos IoT.

Fiabilidad de la entrega de mensajes: es importante para muchos casos de uso de IoT. Es por eso que MQTT tiene 3 niveles de calidad de servicio definidos:

  • 0 - como máximo una vez,
  • 1- al menos una vez,
  • 2 - exactamente una vez

Soporte para redes no confiables: muchos dispositivos IoT se conectan a redes celulares no confiables. El soporte de MQTT para sesiones persistentes reduce el tiempo para volver a conectar al cliente con el corredor.

Seguridad habilitada: MQTT facilita el cifrado de mensajes mediante TLS y la autenticación de clientes mediante protocolos de autenticación modernos, como OAuth.

Suministros

  1. NodeMCU ESP8266 (o) cualquier otra placa ESP8266 genérica
  2. Registro de Ubidots
  3. Biblioteca de apoyo de GitHub.
  4. Arduino IDE para cargar el código.

Paso 1: Configuración inicial de Arduino IDE

Configuración inicial de Arduino IDE
Configuración inicial de Arduino IDE
Configuración inicial de Arduino IDE
Configuración inicial de Arduino IDE
Configuración inicial de Arduino IDE
Configuración inicial de Arduino IDE
Configuración inicial de Arduino IDE
Configuración inicial de Arduino IDE
  1. Descargue la biblioteca UbidotsMQTTESP8266 del repositorio GIT
  2. Abra Arduino IDE, navegue hasta "preferencias" desde el menú "archivo".
  3. En el campo de texto "URL adicionales del administrador de tableros", pegue lo siguiente: https://arduino.esp8266.com/stable/package_esp8266… y presione Aceptar para continuar.
  4. Navegue hasta "Agregar biblioteca. ZIP" desde el menú "Sketch> Incluir biblioteca" e indique la ruta del archivo zip descargado.
  5. Espere a menos que el IDE reciba un mensaje: Biblioteca agregada a sus bibliotecas. Compruebe el menú "Incluir biblioteca".
  6. Vaya a "Incluir biblioteca" desde "Sketch" y busque "Ubidots MQTT para ESP8266"

Paso 2: Credenciales de la API de Ubidots

Credenciales de la API de Ubidots
Credenciales de la API de Ubidots
Credenciales de la API de Ubidots
Credenciales de la API de Ubidots
Credenciales de la API de Ubidots
Credenciales de la API de Ubidots

Inicie sesión en Ubidots y anote las credenciales de la API. Tenga en cuenta que solo necesitaremos el valor del "Token predeterminado".

Paso 3: el código.

El código.
El código.
El código.
El código.

#include "UbidotsESPMQTT.h"

#define TOKEN "******************************************* *** "// Tu TOKEN de Ubidots

#define WIFINAME "*********" // Tu SSID

#define WIFIPASS "******************" // Tu pase Wifi

Cliente de Ubidots (TOKEN);

devolución de llamada void (char * topic, byte * payload, unsigned int length)

{

Serial.print ("Mensaje llegado [");

Serial.print (tema);

Serial.print ("]");

para (int i = 0; i <longitud; i ++)

{

Serial.print ((char) payload );

}

configuración vacía ()

{

client.setDebug (verdadero);

Serial.begin (115200);

client.wifiConnection (WIFINAME, WIFIPASS);

client.begin (devolución de llamada);

}

bucle vacío ()

{

si (! client.connected ())

{

client.reconnect ();

}

valor flotante1 = analogRead (A0);

cliente.add ("temperatura", valor1);

client.ubidotsPublish ("mi-nuevo-dispositivo");

client.loop ();

}

Nota: consulte las capturas de pantalla para obtener una mejor sangría de las líneas.

Paso 4: Conecte, compile y cargue el código.

Conecte, compile y cargue el código.
Conecte, compile y cargue el código.
Conecte, compile y cargue el código.
Conecte, compile y cargue el código.
Conecte, compile y cargue el código.
Conecte, compile y cargue el código.

No es el momento de conectar su NodeMCU ESP8266 a su PC / Laptop, identificar su puerto, compilar y cargar el código.

Tome la ayuda necesaria de las capturas de pantalla adjuntas para comprender mejor el proceso si es nuevo en el IDE de Arduino.

Paso 5: la verificación final.

El control final.
El control final.

Si todo va bien, debería poder observar algo similar a lo que se representa en la captura de pantalla.

Esta línea en el código "client.ubidotsPublish (" my-new-device ");" se publica.

Nota: En caso de que no se represente nada en el panel de Ubodots, se sugiere desconectar y volver a conectar NodeMCU.

Manténganse atentos. Estoy tratando de publicar algunos más con Ubidots y NodeMCU ESP8266.

Recomendado: