Soluciones IoT mediante Software y Hardware libres


“El mayor riesgo es no asumir ningún riesgo… En un mundo que cambia realmente rápido, la única estrategia en la que el fracaso está garantizado es no asumir riesgos”.-Mark Zuckerberg

El Internet de las cosas (Iot Por sus siglas en inglés), la próxima promesa tecnológica que aspira a transformar nuestro mundo de forma tan revolucionaria como lo hicieron los transistores o los circuitos integrados en su momento. El internet, los dispositivos móviles y el Social Media más recientemente, son herramientas tecnológicas que surgen de la antigua necesidad humana de construir algo que resuelva un problema de la mejor manera posible, de forma rápida, barata y relativamente simple o sencilla. Aunque lamentablemente esto no es tan simple en un mundo complejo lleno de diversidad de situaciones y combinación de factores, que nos llevan por una infinidad de consideraciones.

Ahora, sin importar que seamos una empresa privada, una entidad de gobierno, una asociación civil o un ciudadano común, si deseamos tener y ofrecer soluciones y servicios IoT, debemos preguntarnos ¿Cómo podemos asegurar que un proyecto de IoT llegue al mercado y sea funcional? ¿Para qué querríamos construir algo que funcione dentro de IoT? ¿Qué información obtendremos y enviaremos a cada dispositivo conectado? ¿Que uso y beneficio obtendremos de la información recabada?

IoT como modelo tecnológico y de negocio

Dependiendo de cuál predicción nos inclinamos a creer, el IoT podría comprender entre 20 y 50 billones de dispositivos conectados a la red en los próximos años. Y sin importar cual cifra nos guste, la posibilidad de decir que existirán en promedio al menos 5 dispositivos conectados a Internet por persona, invita a creer que hay una oportunidad única y con una ventana de oportunidad muy pequeña, para desarrollar productos innovadores que no sólo proporcionen soluciones puntuales, sino que tengan una aplicación más amplia mediante la transmisión y recepción de datos a través de múltiples sensores, y de paso puedan convertirse en referentes en su línea de negocio. Pues la verdad es que los productos para el IoT se comunicarán de forma inalámbrica, de forma tal que cualquier servicio típico de IoT debe considerar una arquitectura con los siguientes elementos:

Entendamos que uno de los retos del IoT, es mandar datos de cualquier sensor a través de cualquier protocolo, a cualquier plataforma de forma inalámbrica, usando la menor energía posible y todo esto a través de una comunicación segura. Pero lo más importante para desarrollar soluciones de este tipo y considerando la infinidad de datos que se intercambiaran entre el Servidor de Servicios y los Sensores, es definir con precisión:
  • ¿Qué queremos medir?
  • ¿Cómo lo vamos a conectar?
  • ¿Qué haremos con los datos?

Open Hardware y software Open Source 

Para términos prácticos de este artículo, centrémonos en la más sencilla de estas tres preguntas, ¿Cómo conectar estas soluciones? O ¿Qué tecnología utilizar para implementar soluciones basadas en IoT? Y para ello pensemos en soluciones de tecnología abierta, por ser incluso las más populares y accesibles.

Comencemos hablando del movimiento de código abierto surgido a finales de la década de 1980, el cual para muchos es el núcleo espiritual de Internet, incluyendo una gran parte del hardware, software y protocolos que conforman la infraestructura de comunicaciones global - así como abogar por la apertura, la transparencia y el desarrollo colaborativo, como son los modelos de Open data y Open Linked Data que han cobrado popularidad en los últimos años. Las personas quieren utilizar una gran variedad de dispositivos tecnológicos, para combinarlos entre si y aprovechar mejor sus beneficios, por lo que no les gusta limitarse por dispositivos de un proveedor específico a menos que se consideren “Fans” de una marca en particular, pero son los casos más excepcionales.

Por lo anterior, los proveedores de dispositivos IoT requieren aumentar el número de ecosistemas tecnológicos en los que sus dispositivos puedan integrarse sin grandes esfuerzos. Los desarrolladores de aplicaciones por otro lado necesitan soportar una amplia gama de dispositivos sin tener que desarrollar código específico para cada tipo y marca de dispositivo, por lo que las soluciones de código abierto permiten esta escala, velocidad de innovación y flexibilidad, sobre todo porque se basan en estándares. Ahora bien, el principal reto de la implementación total y operacional del IoT en donde se pretende conectar y soportar de millones de sensores en los próximos años, será la infraestructura, donde se necesitarán millones de enrutadores, gateways y servidores de datos. No hay manera de alcanzar estos niveles de escala sin depender de altos costos en infraestructura, y es ahí donde soluciones de código y hardware abierto implementados por los mismos usuarios, serán clave para su consolidación.

IoT y las Tecnologías Abiertas

El IoT va cambiar la manera en que las personas realizan todas sus actividades cotidianas y exigirán servicios digitales a cada paso, eso implica que deben desarrollarse soluciones respaldadas tanto por grandes corporaciones como por startups o pymes. El software de código abierto promueve la innovación más rápido que las soluciones de licenciamiento, pues se apoyan de la contribución de las comunidades de desarrolladores. El hardware sin embargo, se ha quedado atrás del movimiento de código abierto, en parte a que implica algún nivel de inversión que suele ser costosa y de difícil fabricación. El hardware de código abierto proporciona una manera eficaz de prototipar rápidamente, con riesgos controlados, de forma que el desarrollo es ahora mucho más accesible, aunque como dijimos, a veces no tan económico.

Una tecnología que en años recientes ha cobrado mucha popularidad debido a lo accesible de su modelo tecnológico, así como a sus costos relativamente accesibles en la mayoría de los casos es “Arduino”. El cual permite de forma sencilla y económica conectar cualquier cosa a Internet. Con un circuito Arduino y un módulo Ethernet o WiFi se pueden conectar a Internet sensores, controlar motores o focos vía Internet, o mandar un SMS o email cada vez que se abra la puerta de la casa o alguien toque el timbre, o apagar de forma remota la TV a los niños cuando haya pasado su hora de dormir. Otro modelo popular ha sido la plataforma Raspberry Pi.

Sin embargo como todo modelo tecnológico, existen limitaciones importantes. Arduino es un microcontrolador, Raspberry Pi es una computadora. Arduino es ideal para tareas sencillas, como la lectura de datos de sensores y el cambio de valores en motores u otros dispositivos, mientras que Raspberry Pi con su sistema operativo Linux es capaz de funciones mucho más complejas, pero su costo es menos accesible. Además debe considerarse el propósito final del proyecto, es decir, las otras dos preguntas que planteamos en un principio: ¿Qué queremos medir? Y ¿Qué haremos con esos datos? 

Algunas de las Plataformas más conocidas del IoT con versiones gratuitas, de paga y Open Source son:

  • Cloudino
  • Samsung Artik Cloud
  • aREST Framework
  • Arduino Cloud
  • Zetta
  • OpenHAB
  • Node-RED
  • AWS (Amazon Web Services) IoT
  • Google Cloud Platform IoT
  • IBM Watson IoT

Casos de aplicación real

Una solución que se está desarrollando en INFOTEC un centro de Investigación en Tecnologías del CONACYT es la plataforma CLOUDINO la cual conjuga todos los elementos que hemos mencionado, pues cuenta con un microcircuito en Open Hardware que permite levantar un servidor web y una red WiFi al momento de suministrarle energía y que es perfectamente compatible con todos los modelos de Arduino y sensores comerciales, como con la plataforma Rapsberry Pi lo que le permite crear implementaciones más amplias y poderosas para diversas soluciones.

Además cuenta con un protocolo de comunicación que permite realizar una configuración y programación y reprogramación en tiempo real y vía Web de los distintos sensores, lo que le permitiría a alguien modificar las funciones de un dispositivo en cualquier momento, siempre que cuente con los sensores, o motores adecuados. El último componente es un servicio Web que permite realizar la programación de los microcircuitos, ya sea en modo de bloques, en código o cargando código de otros drivers y dispositivos si así se necesita. Y todo basado en modelos de Software Open Source y Open Hardware, con lo cual se permite tener soluciones poderosas a costos muy accesibles.

Algunas de las soluciones que ya se han liberado y algunas que se han construido en este momento, son un huerto hidropónico en el propio INFOTEC, donde se monitorean y controlan sensores y motores que miden los niveles de nutrientes y agua en el huerto, así como activar motores para suministrar nutrientes o activar una bomba de agua que alimente el sistema de forma automática. Otro proyecto es un sistema de monitoreo de movimiento, temperatura, humedad, acumulación de agua, etc. en el Centro de datos del propio INFOTEC, lo que permite un mejor control de las condiciones de operación del centro por parte sus operadores. Otra iniciativa que está en proceso es un sistema de monitoreo y alarmas para cuestiones de protección civil en lo que se refiere a detectores de humo, calor, sismos, y alertamiento vía SMS y email al personal de las brigadas de Protección Civil.

De manera comercial se está utilizando esta plataforma para la construcción de soluciones para servicios de turismo en hoteles, restaurantes, servicios de salud para monitoreo de pacientes y el de la construcción para el desarrollo de casas y edificios inteligentes con servicios que permitan a sus habitantes el monitoreo constante de la actividad al interior y poder economizar recursos energéticos o mejorar la operación de los servicios generales. Mejorando en toda dimensión la calidad de vida de las personas.

El IoT es una promesa próxima a cumplirse y la ventana de oportunidad de mercado que ofrece es demasiado estrecha como para tardar mucho en consideraciones de si debemos comenzar a desarrollar soluciones basadas en este tipo de tecnología, pues ya sea que seamos empresa, gobierno o personas comunes, la pregunta no es si debemos considerar ofrecer servicios, sino que tanto podemos darnos el lujo de esperar antes de comenzar a desarrollar y aprovechar las ventajas que esto ofrecerá a nuestros clientes, proveedores, o ciudadanos. Pues como dijo Zuckerberg “El mayor riesgo es no asumir ningún riesgo… En un mundo que cambia realmente rápido, la única estrategia en la que el fracaso está garantizado es no asumir riesgos”…

Comentarios

Entradas más populares de este blog

¿Qué tan inteligente es realmente una Inteligencia Artificial?

Entre el Desarrollo y el Negocio. Un Producto tecnológico como negocio

Más allá de la programación… Un cuento de Desarrollo de Servicios

Web Semántica, Una línea de negocios

Humanos mejorados