Tabla de contenido:

NodeMCU - Ejemplo básico de MQTT: 4 pasos
NodeMCU - Ejemplo básico de MQTT: 4 pasos

Video: NodeMCU - Ejemplo básico de MQTT: 4 pasos

Video: NodeMCU - Ejemplo básico de MQTT: 4 pasos
Video: Implementar protocolo MQTT con mosquitto broker y ESP8266 - Parte 1 2024, Noviembre
Anonim
Image
Image

Esta lección mostrará el uso básico del protocolo MQTT en la placa NodeMCU. Usamos MQTTBox como el cliente MQTT aquí, y usaremos NodeMCU para completar las siguientes operaciones:

Publica "hola mundo" en el tema "outTopic" cada dos segundos. Suscríbete al tema "inTopic", imprime los mensajes recibidos. Se asume que las cargas útiles recibidas son cadenas, no binarios. Si el mensaje suscrito es "1", enciende el LED integrado. Apague el LED integrado si el mensaje para suscribirse es "0".

Preparación: Osoyoo NodeMCU x1

Cable USB x1

PC x1

IDE de Arduino (Versin 1.6.4+)

Conecte el NodeMCU a la PC mediante un cable USB.

Paso 1: instalación de la biblioteca

Instalación de la biblioteca
Instalación de la biblioteca
Instalación de la biblioteca
Instalación de la biblioteca

Instalar PubSubClientlibrary

Necesitamos instalar la biblioteca de puntos finales MQTT (PubSubClient) para comunicarnos con el agente MQTT, descargue la biblioteca desde el siguiente enlace:

Descomprima el archivo anterior, mueva la carpeta descomprimida a la carpeta de la biblioteca Arduino IDE.

Abra el IED de Arduino, puede encontrar el "pubsubclient" en la columna "Ejemplos".

Instale el cliente MQTT:

utilizaremos MQTTBox como cliente MQTT. descárguelo de:

Paso 2: Código

Código
Código
Código
Código

abra Arduino IDE–> Archivo–> Ejemplo–> pubsubclient–> mqtt esp8266, obtendrá un código de muestra.

Edite el código para que se ajuste a su propia configuración de WiFi y MQTT de la siguiente manera: 1) Configuración de punto de acceso: busque la línea de código debajo, ingrese su propio ssid y contraseña allí.

const char * ssid = “your_hotspot_ssid”; const char * contraseña = “your_hotspot_password”;

2) Configuración de la dirección del servidor MQTT, aquí utilizamos el broker MQTT gratuito "broker.mqtt-dashboard.com". Puede utilizar su propia URL o dirección IP de agente MQTT para establecer el valor mqtt_server anterior. También puede utilizar algún famoso servidor MQTT gratuito para probar el proyecto, como “broker.mqtt-dashboard.com”, “iot.eclipse.org”, etc.

const char * mqtt_server = “broker.mqtt-dashboard.com”;

3) Configuración del cliente MQTT Si su agente MQTT requiere autenticación de ID de cliente, nombre de usuario y contraseña, debe

cambio

si (client.connect (clientId.c_str ()))

Para

if (client.connect (clientId, userName, passWord)) // ponga su clientId / userName / passWord aquí

De lo contrario, manténgalos como predeterminados. Después de hacer eso, elija el tipo de placa correspondiente y el tipo de puerto como se muestra a continuación, luego cargue el boceto en NodeMCU.

  • Placa: "NodeMCU 0.9 (módulo ESP-12)"
  • Frecuencia de CPU: "80MHz" Tamaño de flash: "4M (3M SPIFFS)"
  • Velocidad de subida:”115200 ″
  • Puerto: elija su propio puerto serie para su NodeMCU

Paso 3: Configurar el cliente MQTT (MQTTBOX)

Configurar cliente MQTT (MQTTBOX)
Configurar cliente MQTT (MQTTBOX)
Configurar cliente MQTT (MQTTBOX)
Configurar cliente MQTT (MQTTBOX)
Configurar cliente MQTT (MQTTBOX)
Configurar cliente MQTT (MQTTBOX)
Configurar cliente MQTT (MQTTBOX)
Configurar cliente MQTT (MQTTBOX)

En este paso, mostraremos cómo crear un cliente MQTT en MQTTBox.

Abra su MQTTBox y haga clic en el botón azul para agregar un nuevo cliente MQTT.

Configure los AJUSTES DEL CLIENTE MQTT como se muestra a continuación:

  • Nombre del cliente MQTT: elija el nombre que desee
  • Protocolo: elija "mqtt / tcp"
  • Host: escriba su "mqtt_server" en esta columna, asegúrese de que sea el mismo que su boceto. (Usamos "broker.mqtt-dashboard.com" aquí)
  • Mantener otras configuraciones como predeterminadas
  • Haga clic para guardar sus cambios.

A continuación, ingresará automáticamente a la nueva página. Si toda la configuración anterior es correcta, "No conectado" cambiará a "Conectado", su nombre de cliente MQTT y el nombre de host se mostrarán en la parte superior de esta página.

Configuración del tema: asegúrese de que el tema de publicación de su cliente MQTT sea el mismo que el tema de suscripción del boceto de Arduino (inTopic here). Asegúrese de que el tema de suscripción de su cliente MQTT sea el mismo que el tema de publicación de bocetos de Arduino (outTopic here).

Paso 4: Resultado de ejecución del programa

Resultado del programa en ejecución
Resultado del programa en ejecución
Resultado del programa en ejecución
Resultado del programa en ejecución
Resultado del programa en ejecución
Resultado del programa en ejecución
Resultado del programa en ejecución
Resultado del programa en ejecución

Una vez realizada la carga, si la configuración del nombre y la contraseña del punto de acceso wifi está bien y el broker MQTT está conectado, abra el Monitor en serie, verá el mensaje de publicación "hola mundo" en el monitor en serie.

Luego abra el cliente MQTT y publique la carga útil “1” al tema, este NodeMCU recibirá estos mensajes suscribiéndose al “inTopic”, y el LED se encenderá.

Publique la carga útil "0" en este tema, el LED de NodeMCU se apagará.

Recomendado: