Guía Completa: Integrando Ubidots con Micropython para Proyectos IoT (1)

Ubidots es una plataforma de Internet de las Cosas (IoT) que facilita la recopilación, almacenamiento y visualización de datos provenientes de dispositivos conectados. En esta guía te explico paso a paso como acceder a ella e integrarla en tus proyectos IoT usando Micropython.

Introducción

En un sistema IoT tenemos una serie de dispositivos o nodos que sensan o relevan algún tipo de información que debe ser almacenada en algún sitio para luego ser procesada y analizada para extraer alguna conclusión o tomar una decisión.

Para ello podemos construir una aplicación web desde cero, que deberá gestionar la información que llega, almacenarla, administrar los usuarios que acceden a ella, proveer de herramientas de representación y análisis de esa información, además de gestionar la seguridad del sitio y la comunicación con los dispositivos conectados.

Fig. 1. Un mundo interconectado por IoT

En un sistema de dimensiones importantes, con cientos o miles de nodos, tal vez se justifique el esfuerzo y la inversión que supone diseñar y construir semejante aplicación, pero si las necesidades son mas modestas en general es conveniente optar por usar los servicios de una plataforma existente por un cargo mensual.

Una plataforma IoT es un conjunto de herramientas y servicios diseñados para facilitar el desarrollo, la gestión y el análisis de sistemas IoT. Estas plataformas proporcionan la infraestructura necesaria para conectar dispositivos, recopilar datos, procesarlos y utilizarlos para tomar decisiones.

Existen numerosas plataformas de este tipo. En otros artículos ya te expliqué como usar Thingspeak por ejemplo, que tiene funciones mas bien básicas, pero existen otras mas completas y complejas como ThingsBoard, Kaa IoT o Losant para uso profesional y Arduino Cloud, Adafruit IO o Blynk mas orientadas al mundo maker.

En la primer categoría se encuentra también Ubidots, una plataforma IoT con muchas funcionalidades que tiene la característica particular de ofrecer una cuenta gratuita denominada STEM, que puede ser usada sin costo para fines educativos o personales.

En lo que sigue te voy a explicar como crear una cuenta STEM en Ubidots, como agregar dispositivos para ser monitoreados, como asociar variables a esos dispositivos y como mostrar esas variables en un dashboard. Finalmente te mostraté como programar una placa Raspberry Pico usando Micropython para enviar datos reales de temperatura y humedad de un DHT22 a ese dashboard.

Crea tu cuenta

El primer paso es crear una cuenta en Ubidots STEM. Haciendo click en CREAR CUENTA GRATUITA te pedirá tus datos personales y tendrás una cuenta lista en muy pocos pasos.

Fig. 2. Cuenta STEM en Ubidots

Cuando ingreses por primera vez a tu cuenta recién creada, verás algo como esto:

Fig. 3. Dashboard demo

Es un dashboard de demo. Un dashboard es como un tablero de control en donde puedes tener los distintos dispositivos o sensores de tu sistema IoT y ver los valores recibidos en distintas formas, con indicadores gráficos, curvas o diagramas de distintos tipos denominados widgets.

Flujo de datos

En Ubidots, el flujo de datos se articula alrededor de tres conceptos: dispositivo (device), variables y dots.

Un device es un dispositivo que se conecta a Ubidots para enviar información. Puede ser un medidor inteligente, un PLC o una placa ESP o Raspberry Pico como la que usaremos nosotros.

Cada device puede enviar datos de uno o mas parámetros sensados (temperatura, vibración, presión del aire, etc). Cada uno de estos parámetros se llama en Ubidots variable. Volviendo a nuestro ejemplo, tendremos dos variables: Temperatura y Humedad.

Finalmente, cada dato individual, cada valor de un momento determinado de las variables se almacena en la plataforma con el nombre de dot.

La relación entre estos tres conceptos se muestra gráficamente en la siguiente imagen:

Fig 4. Flujo de datos (Fuente: Ubidots)

Creación de un dashboard

Para crear un dashboard capaz de mostrar los datos provenientes de nuestra Raspberry Pico debemos seguir tres pasos:

  • Creación de un dispositivo (Device) asociado a la Pico
  • Creación de variables asociadas a ese dispositivo (Temperatura y Humedad en este caso)
  • Creación del dashboard con widgets para mostrar los valores (dots) de las variables.

Este proceso se muestra en el siguiente video:

Limitaciones de la cuenta STEM

La cuenta STEM se provee de forma gratuita para uso no comercial (personal, educativo, investigación o proyectos maker) y tiene algunas limitaciones:

  • Devices: hasta 3.
  • Dashboards: 1 dashboard con hasta 10 widgets.
  • Variables: Hasta 10 variables por device.
  • Plugins: Hasta 1 plugin, con 10,000 ejecuciones por mes.
  • Data ingestion: 4,000 dots por día entre todos los devices.
  • Data extraction: 500,000 dots por día para toda la cuenta.
  • Data rate: 1 solicitud por segundo entre todos los devices.
  • Retención de datos: 1 mes.
  • Alertas usando SMS, llamadas de voz, email, webhook, y Slack (No Telegram).
  • SMS y llamadas de voz: 10 SMS y 1 llamada de voz por mes (sólo US y Canada) luego se aplican los costos correspondientes.
  • Emails: 100 emails gratis por mes, luego se aplican los costos correspondientes.
  • Soporte: A través de la comunidad o autogestionado usando el Help Center y las API Docs.
  • Protocolos HTTP, MQTT, TCP y UDP.

Conclusiones

Al implementar un sistema IoT, es fundamental considerar la escala del proyecto para determinar si es necesario construir una aplicación personalizada desde cero o utilizar una plataforma existente que ofrezca soluciones integrales a cambio de un cargo mensual. Para proyectos educativos o personales, opciones como Ubidots STEM son ideales, ya que ofrecen cuentas gratuitas con funcionalidades suficientes para realizar monitoreo y análisis de datos en pequeños proyectos.

Ubidots proporciona una interfaz intuitiva para gestionar dispositivos, variables y dashboards, permitiendo a los usuarios visualizar los datos de manera efectiva. Aunque tiene limitaciones en su versión gratuita, estas son adecuadas para fines educativos y proyectos maker.

En este artículo, te expliqué cómo crear una cuenta STEM en Ubidots, añadir dispositivos y variables, y configurar un dashboard para monitorear datos de temperatura y humedad usando una Raspberry Pico y Micropython. En la segunda parte veremos en detalle el programa que debemos cargar en la Pico para poder visualizar estas variables.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias