El pasado mes de noviembre, se realizó en el CRIF Las Acacias el curso Internet de las Cosas, actividad propuesta dentro del Plan de Formación 2018 del departamento de Formación Profesional y queremos compartir con vosotros las novedades en esta temática. Para ello empezamos con un recordatorio de los términos.

Internet de las cosas o IoT (Internet of Things) es un conjunto de tecnologías que nos permiten conectar todo tipo de dispositivos a Internet con alguna de las siguientes finalidades:

  • Conocer su estado; por ejemplo, leer los contadores de gas o averiguar la ubicación de un objeto extraviado.
  • Actuar sobre su funcionamiento; por ejemplo, configurar la temperatura del sistema de calefacción de nuestro domicilio o establecer las pautas de los semáforos en una zona de la ciudad congestionada por el tráfico.
  • Comunicar directamente unos dispositivos con otros o con servicios de Internet para que cooperen en la realización de tareas; por ejemplo, los sensores de un campo de cultivo envían su información, que se combina con la de un servicio de información meteorológica para configurar los parámetros de riego.

IoT conforma un nuevo paradigma de digitalización de la información. Gracias al avance en la computación y en los sensores, los dispositivos conectados son cada vez más accesibles, duraderos y sofisticados. Existen en este momento más de 20 mil millones de dispositivos IoT conectados a nivel mundial, y con previsiones de duplicarse en los próximos 4 años, ofreciendo numerosas oportunidades de innovación y empleo.

Esta tendencia creciente generará un flujo continuo y cada vez mayor de datos, cuya adquisición y análisis permitirá una comprensión de la realidad más precisa, y una mejora y más rápida toma de decisiones. Actualmente se utiliza menos del 5% de estos datos generados por dispositivos de IoT para la toma de decisiones (alarmas, KPIs…) por lo que es el momento ideal para comenzar a explotar estas fuentes de información con el objetivo de lograr mejoras tanto en negocios como en la vida de los ciudadanos.

Dada la versatilidad de los dispositivos, IoT se aplica en proyectos de distinta índole como:

  • Ciudades inteligentes: control de tráfico, medición de contaminación, optimización en recogida y tratamiento de residuos…
  • Industria 4.0: trazabilidad en distribución logística, visión artificial en procesos de calidad, seguridad integral en planta…
  • Edificios inteligentes: optimización del consumo energético, seguridad en controles de acceso y niveles de acceso, asistencia en tiempo real a evacuaciones…
  • Movilidad: coche conectado, mantenimiento predictivo en vehículos, ITV en remoto, seguros basados en patrones de conducción y comportamiento del conductor…
  • Tiendas inteligentes: asistencia al cliente en tienda, ofertas personalizadas y contextualizadas, pagos automáticos…
  • Salud y wearables: Dispositivos que realizan un seguimiento de nuestra actividad física o medición del nivel de glucosa en sangre para un mejor control de la diabetes.

Gracias a la reducción de precios, la mejora de rendimiento de los sistemas de comunicaciones por radio, y la madurez que han alcanzado proyectos clave de software libre y hardware abierto, el acceso a las tecnologías IoT es hoy en día muy sencillo.

Un dispositivo genérico para IoT, o mote (diminutivo de remote), está compuesto por los siguientes elementos:

  • procesador
  • alimentación
  • comunicaciones
  • sensores y actuadores

El procesador puede ser un sistema basado en Linux, como una placa Raspberry Pi o similares (Orange Pi, BeagleBone…), un sistema basado en un sistema operativo de tiempo real (por ejemplo, FreeRTOS), como un módulo ESP32, o un microcontrolador de muy bajo consumo, como los populares ATmega328P que son la base de muchas placas Arduino. El mayor avance en este campo, además del rendimiento de los dispositivos en sí, se ha producido en la posibilidad de utilizar toolchains (programas de desarrollo) mucho más accesibles, sencillos y económicos, y en muchos casos de código abierto. Por ejemplo, el módulo ESP32 puede programarse tanto en C, como en Python (MicroPyton), o directamente con el entorno de desarrollo de Arduino. El Módulo TTGO LoRa32 ofrece, por menos de 20€, un microprocesador ESP32, comunicaciones WiFi, Bluetooth y LoRa, pantalla OLED, sistema de carga de baterías, almacenamiento en tarjeta microSD…

Figura 1. Módulo TTGO LoRa32

La elección de un sistema de procesamiento u otro depende fundamentalmente de si optamos por una solución de edge computing (la carga de procesamiento recae fundamentalmente sobre los motes) o cloud computing (el procesamiento se realiza principalmente en la nube). Por ejemplo, una placa Raspberry Pi, gracias a su microprocesador de cuatro núcleos de 64 bits, capaz incluso de resolver tareas de visión artificial, sería ideal para una solución de edge computing, mientras que un modesto microcontrolador de 8 bits, como el ATmega328P, que nos permita básicamente leer sensores, sería más adecuado para una solución de cloud computing.

La alimentación es otro factor determinante , pues una mayor capacidad de procesamiento va acompañada de un mayor consumo eléctrico. Consecuentemente, no podremos utilizar una Raspberry Pi para un proyecto que requiera funcionar mediante baterías, o peor aún, que necesite aplicar técnicas de recolección de energía (energy harvesting) para alimentarse, extrayendo energía de placas fotovoltaicas, células Peltier que funcionan mediante diferencia de temperatura entre sus dos caras, o transductores piezoeléctricos capaces de convertir vibraciones mecánicas en electricidad.

La mayoría de los microcontroladores actuales son capaces de entrar en “sueño profundo” (deep sleep) durante los periodos de inactividad, reduciendo su consumo hasta límites inimaginables hace tan solo unos años. Por ejemplo, un módulo ESP32 alimentado a 3.3V puede reducir su consumo al orden de las centenas de microamperios, mientras que un ATmega328p (la p final indica PicoPower) puede llegar incluso a cotas por debajo de los 10uA.

El elemento que más consume en un mote es la comunicación por radio. En un sistema de radio se persigue siempre lograr el máximo alcance con la mayor tasa de transferencia (velocidad de transmisión) y el menor consumo de energía posible. Desafortunadamente, en la práctica sólo es posible lograr 2 de estos 3 objetivos. Por ejemplo, en las comunicaciones WiFi se priorizan el alcance y la velocidad a costa del consumo, mientras que en las comunicaciones Bluetooth se da mayor importancia a la velocidad y el bajo consumo que al alcance. Estos sistemas de comunicación clásicos (WiFi y Bluetooth) no son adecuados para todos los escenarios IoT, por lo que ha aparecido un nuevo actor: las comunicaciones LPWAN (Low Power Wide Area Network). Se trata de sistemas de modulación en los que lo importante es el alcance y el bajo consumo, pues en muchas aplicaciones IoT realmente no se necesita una alta tasa de transferencia. Dentro de las LPWAN destacan principalmente 2 tecnologías: Sigfox basada en Ultra Narrow Band, y LoRa basada en Chirp Spread Spectrum. Ambas son capaces de lograr alcances del orden de decenas de kilómetros en dispositivos a los que las baterías pueden durar años.

Aprovechando las posibilidades de LoRa, en 2015 surgió un proyecto llamado The Things Network, financiado mediante micro-mecenazgo (crowdfunding), con el objetivo de crear una red pública global de IoT. Actualmente esta red cuenta con más de 56.000 usuarios distribuidos por todo el mundo. Cualquiera puede registrarse en esta red de forma gratuita y utilizarla para gestionar sus motes; además, su funcionamiento está basado en licencias de código abierto que nos facilita su comprensión y modificación.

Figura 2. Distribución actual de la red pública, abierta y descentralizada The Things Network.

Respecto a los sensores y actuadores podría decirse que vivimos en una época dorada en la que disponemos de dispositivos capaces de medir y producir prácticamente cualquier magnitud que podamos imaginar. Además, gracias a la tecnología MEMS (Microelectromechanical systems), suele tratarse de sensores de muy bajo consumo y reducido tamaño. Por ejemplo, un sistema de medición inercial (IMU), compuesto por acelerómetros, giróscopo y magnetómetros de 3 ejes, puede aglutinarse actualmente en un solo circuito integrado de apenas unos pocos milímetros cuadrados. Por otro lado, la utilización de estos sensores es extraordinariamente sencilla gracias a la estandarización de sistemas de comunicaciones como I2C, SPI o 1-Wire.

Aparte de los componentes del mote, una solución completa IoT requiere de sistemas de almacenamiento y una interfaz hombre-máquina (HMI: Human-Machine Interface).

Los sistemas de bases de datos tradicionales (relacionales) no fueron diseñados para gestionar el volumen de datos y la cantidad de clientes que se prevé que llegue a generar IoT, por lo que han empezado a popularizarse otros sistemas basados en bases de datos documentales, como MongoDB, o pares clave-valor, como Redis, que conforman los cimientos de las nuevas técnicas de procesamiento Big Data. Sobre estos cimientos podemos hacer funcionar aplicaciones de búsqueda inteligente (como Elasticsearch), o aplicaciones de machine learning (como sistemas de visión artificial o natural speaking). De hecho, gracias a la posibilidad de utilizar librerías de código abierto como Tensorflow, podemos incluso diseñar nuestras propias aplicaciones de inteligencia artificial para, por ejemplo, crear un sistema de reconocimiento óptico.

Procesar esta cantidad ingente de datos representa nuevos desafíos que se están abordando a través de la computación en paralelo o distribuida en clusters (con sistemas como Hadoop), y la virtualización de sistemas. La virtualización está evolucionando hacia sistemas de contenedores, como Docker, que hacen un uso más eficiente de los recursos porque no requieren virtualizar el sistema completo, sino que se apoyan sobre el sistema principal y encapsulan los elementos imprescindibles para su funcionamiento. Los contenedores facilitan enormemente el despliegue (deployment) de soluciones.

Otro campo efervescente actualmente es el de las interfaces hombre-máquina. Existen multitud de sistemas, tanto propietarios como de código abierto, que nos permiten gestionar nuestros datos a través de paneles de control (dashboards) y configurar disparadores que nos avisen (por ejemplo, mediante una notificación a nuestro teléfono móvil) cuando se produzca un determinado evento (por ejemplo, cada vez que se abra la puerta de nuestro domicilio). Entre ellos, por su gratuidad y facilidad de uso en el entorno docente, en el curso organizado por el Departamento de Formación Profesional del CRIF Las Acacias hemos elegido Blynk, Cayenne, Thingspeak, IFTTT y Adafruit.io para los ejercicios prácticos.

Figura 3. Dashboard creado con Cayenne.

Las necesidades son tan variadas que es difícil encontrar un sistema que las cubra todas, por lo que suele ser necesario recurrir a varios de los sistemas mencionados anteriormente. En esta situación pueden resultar de gran ayuda aplicaciones como Node-Red, que nos permiten integrar fácilmente flujos de datos entre distintas plataformas.

Figura 4. El sistema visual de flujos de Node-Red facilita la integración de diferentes sistemas IoT.

La proliferación de los sistemas IoT no está exenta de amenazas cibernéticas a la seguridad y privacidad, que requieren un análisis muy cuidadoso de inicio a fin, desde los motes hasta la nube, para garantizar la integridad, autoría y confidencialidad de los datos que viajan por estas redes. En este sentido es esencial que el usuario entienda cómo funcionan estos sistemas para hacerse corresponsable de la protección de sus datos.

Autor: Juan Félix Mateos Barrado

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies