Hemos realizado una gran cantidad de integraciones y pruebas con las plataforma IoT Ubidots, principalmente con los Módulos ESP8266 de Espressif.
Plataforma Ubidots
Crear cuenta en Ubidots.com.
En este nuevo tutorial realizaremos pruebas a la nueva versión de la librería Ubidots para los ESP8266 V3.0.0.
Integraciones ESP8266 con Ubidots
Listare algunos de nuestro tutoriales anteriores:
Librería Ubidots ESP8266 en Github
Repositorio Github: Ubidots-ESP8266
Documentación, requerimientos, API y funciones.
Materiales Requeridos
Otros Recomendados
Ejemplos Disponibles
Esta actualización cuenta con ejemplos detallados, fácilmente adaptables para cualquier integración.
Prueba Ejemplo ESP8266 HTTP Send
Envió de variables utilizando método HTTP que utiliza TLS 2.0 cliente seguro para esp8266 con SHA1 fingerprint.
Visualización de 3 variables en Devices, Ubidots.
Prueba Ejemplo ESP8266 TCP Send
Envió de variables utilizando método TCP/IP.
Visualización de 3 variables en Devices, Ubidots.
Prueba Ejemplo ESP8266 UDP Send
Envió de variables a Ubidots utilizando UDP/IP, se podría decir que es muy rápido pero no tiene validación o seguridad, como los casos de HTTP, y TCP/IP, pero sin dudas funciona muy bien.
Visualización de 3 variables en Devices, Ubidots.
Prueba Ejemplo ESP8266 TimeStamp Send
Permite unir una variable (valor) con la estampa de tiempo en formato UNIX, es muy útil en casos de perdida de comunicación almacenar en nuestro modulo datos con fecha de creacion/medicion.
Enviar estampa en formato Unix y Ubidots registrara en Datetime.
Nota: Tener en cuenta GTM y Horario del Servidor.
Prueba Ejemplo ESP8266 Context Send
Permite adicionar un contexto o descripción a nuestra variable.
Al registrar un nuevo valor, podemos visualizar el contexto.
Prueba Ejemplo ESP8266 HTTP Get
Permite capturar el ultimo valor de nuestra variable, registrada en Ubidots utilizando HTTP.
Visualizamos el ultimo valor 40.00.
Impresión de valor en terminal Serial.
Prueba Ejemplo ESP8266 TCP Get
Permite capturar el ultimo valor de nuestra variable, registrada en Ubidots utilizando TCP/IP.
Impresión de valor en terminal Serial.
Prueba Final
Hemos realizado la integración de 2 ejemplos para permitir enviar y recibir valores entre la plataforma Ubidots y nuestro ESP8266 NodeMCU.
Tecnicamente enviaremos la temperatura, utilizando un sensor DS18B20 Onewire, con modulo DFRobot.
Desde el Dashboard registraremos y controlaremos una salida que tiene un Modulo Rele 3.3v Gravity de DFRobot.
Nota: Descarga el código Arduino IDE al final del articulo.
Dispositivo en Ubidots, weather-station-gravity.
Variables creadas en Ubidots, Temperatura y Relay.
Dashboard Final.
Desde nuestro Button podemos activar y desactivar nuestro Relay y graficamos el estado de la temperatura, también podríamos crear un control o evento en Ubidots.
Video Prueba Completa
Actualizaciones en version 3.0
- Permite envió en TCP y HTTP mediante TLS 2.0 para el envió de datos quizás sea un poco mas lento en comparación con UDP pero es seguro de datos.
- La longitud máxima de carga útil es de 700 bytes, cantidades superiores no son 100% garantizadas
Conclusiones
Es satisfactoria la implementacion de un cliente seguro con TLS 2.0, funciona muy bien, mas practicidad en los constructores y funciones.