IOT con la NodeMCU y Ubidots
Una manera rápida de introducirse al mondo del internet de las cosas es por medio de una pagina que nos provea el servicio de captura y visualización de datos, en este tutorial se ha elegido Ubidots por se una plataforma fácil de configurar y que provee una plantilla de código para trabajar con las placas basadas en el Soc ESP8266 o ESP32.
Protocolo MQTT
MQTT es un protocolo abierto el cual posibilita la comunicación entre sí y continua de dos o más
dispositivos enfocado directamente en la conectividad M2M (Machine-to-Machine) que opera con una
arquitectura publicación-suscripción tal como se ve en la siguiente figura.Para el ejemplo a desarrollar
el cliente que publica es la placa Node MCU, el broker sera Ubidots y la visualización sera por medio
del dash board de Ubidots.
MQTT utiliza el paradigma de publicación-suscripción que refiere a que cualquiera de los clientes
puede suscribirse a determinados tópicos o temas y de esta misma manera cualquiera podrá publicar.
Placa NodeMCU
Para poder trabajar con la plataforma NodeMCU ESP8266 en el IDE de Arduino, es necesario
instalar el compilador para las plataformas basadas en el microcontrolador ESP8266, el siguiente
video muestra como se hace la configuración del IDE y la programación de prueba en la placa.
Broker MQTT Ubidots
Ubidots es una iniciativa colombiana para la elaboración de sistemas basados en el internet
de las cosas.
Ubidots logró convertir su emprendimiento de servicios de monitoreo remoto en una startups que
recibió el apoyo de Mass Challenge - una de las mayores aceleradoras de empresas emergentes del
mundo-, logró levantar un millón de dólares de inversión entre Medellín y Silicon Valley y lanzó
un producto que hoy se usa en más de 160 empresas en todo el mundo. Ubidots ha logrado
posicionarse al punto de tener una comunidad de más de 40.000 desarrolladores y presencia en países
como Argentina, Brasil, EE. UU., Inglaterra, Israel, Australia.
El circuito de prueba empleado se indica en la siguiente figura, es importante indicar que las placas
basadas en el ESP8266 trabajan a 3.3 voltios.
El montaje también puede realizarse con la placa WeMos D1 o Mini. El video que esta a continuación indica el procedimiento para conectar la Placa NodeMCU con
El código de prueba se deja a continuación, en el video muestra como se configura TOKEN y la
red WiFi
/****************************************
* Include Libraries
****************************************/
#include "UbidotsESPMQTT.h"
/****************************************
* Define Constants
****************************************/
#define TOKEN " " // Your Ubidots TOKEN
#define WIFINAME " " //Your SSID
#define WIFIPASS " " // Your Wifi Pass
Ubidots client(TOKEN);
/****************************************
* Auxiliar Functions
****************************************/
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Mensaje recibido [");
Serial.print(topic);
Serial.print("] ");
for (int i=0;i<length;i++) {
Serial.print((char)payload[i]);
}
Serial.println();
}
/****************************************
* Main Functions
****************************************/
void setup() {
// put your setup code here, to run once:
//client.ubidotsSetBroker("industrial.api.ubidots.com"); // Sets the broker properly for the industrial account
client.setDebug(true); // Pass a true or false bool value to activate debug messages
Serial.begin(115200);
client.wifiConnection(WIFINAME, WIFIPASS);
client.begin(callback);
}
int i=0;
void loop() {
//put your main code here, to run repeatedly:
if(!client.connected()){
client.reconnect();
}
if(i<100){
float value1 = analogRead(A0);//Lectura analogo
client.add("var_pot01", value1);//El cliente agrega una variable
client.ubidotsPublish("prueba");//Colocar el nombre de dipositivo
client.loop();
i++;
delay(2000);
}
}
No hay comentarios:
Publicar un comentario