Un sistema operativo (SO) integrado es un SO especialmente diseñado que realiza tipos específicos de tareas en un pequeño segmento de bloque de memoria, como un microcontrolador/microprocesador. ¿Necesitamos un SO para realizar una tarea? La respuesta es no. Usamos un SO dependiendo de nuestros objetivos, como la realización de tareas dentro de la complejidad del tiempo, la facilidad de administración de múltiples tareas, la necesidad de menos recursos, etc. Pero cuando hablamos de un SO integrado para IoT, esto significa en realidad que el SO integrado en los dispositivos IoT está conectado a una red de dispositivos.
Sistemas operativos de Internet de las cosas y por qué los usamos
Un microcontrolador o sensor compatible con Internet de las cosas (IoT) es un objeto físico o equipo que se convierte en una computadora lista para Internet para conectarse a una red de área local y ejecutar aplicaciones con una base de código. En nuestra vida diaria estamos rodeados de tales dispositivos.
En resumen, decimos que nuestros teléfonos inteligentes y tabletas: tienen un sistema operativo integrado compatible con IoT. Refrigeradores inteligentes, interruptores/ventiladores inteligentes y dispositivos de entretenimiento: todos están equipados con un SO IoT integrado. Así como un SO estándar como Windows, Linux, macOS nos ayuda a administrar o acceder al software de una computadora, un SO IoT integrado nos permite realizar operaciones con los dispositivos conectados. Muchas plataformas de SO IoT se ofrecen con código abierto, por lo que los usuarios pueden ver su código y modificarlo según sea necesario para las aplicaciones de IoT.
Actualmente, existe una gran demanda de dispositivos IoT en la vida cotidiana en el segmento industrial, el SO IoT se utiliza en cada segmento para lograr una mejor optimización de los datos de los sensores, la actualización de datos en tiempo real y la notificación de estados, la administración de cada dispositivo o grupo de dispositivos en tiempo real para acceder a los datos o al mecanismo de ejecución, y lo más importante, sin ninguna interacción física, el usuario puede modificar o enviar actualizaciones a este sistema. Debido a este procesamiento en tiempo real del SO IoT y a la administración confiable de la memoria con una mínima latencia de búfer, también podemos llamarlo sistema operativo en tiempo real (RTOS).
El SO IoT está diseñado para un bajo uso de recursos con limitaciones relacionadas con el tamaño, la memoria, la alimentación y el rendimiento del procesamiento. Al elegir el SO IoT correcto, los usuarios podrán configurar dispositivos IoT que funcionarán en cualquier situación y escenario. Debido a que estos SO son de código abierto, los usuarios pueden elegir una estructura específica dependiendo de sus operaciones.
Elegir el mejor sistema operativo de Internet de las cosas para tu aplicación
Al comprender qué es un SO IoT y por qué, podemos elegir fácilmente el SO correcto para realizar nuestras operaciones de IoT. Debido a que el SO IoT es una plataforma de código abierto, hay muchos SO IoT disponibles en el mercado. Considerémoslos en comparación.
Nombres de SO IoT | Funciones | Logotipo |
---|---|---|
RIOT OS | RIOT es un SO IoT gratuito de código abierto con pilas IoT integradas para aplicaciones de IoT. RIOT se publica bajo la licencia GNU Lesser General Public License (LGPL) y está desarrollado por una comunidad de base que une a empresas, instituciones académicas y aficionados, y se distribuye en todo el mundo. Este SO admite dispositivos IoT de bajo consumo y varios microcontroladores, como de 8 bits, 16 bits y 32 bits, y está diseñado para sistemas con memoria limitada, con énfasis en los dispositivos IoT inalámbricos de bajo consumo. Gracias a la arquitectura de micronúcleo (μ-kernel), el núcleo utiliza ~1,5 KB de RAM. También podemos ejecutar el código RIOT-OS en una computadora Linux/macOS. También admite varias pilas de red, como 6LoWPAN, IPV6, RPL, UDP, TCP, LoRaWAN, 802.15.4, MQTT y mucho más. También admite varias tecnologías PHY (como Bluetooth, NFC, puerto serie, CAN, etc.). También admite paquetes de terceros (como la pila lwIP, uIP, la pila Open-thread). | |
Zephyr | Es un sistema operativo en tiempo real (RTOS) creado específicamente para aplicaciones de IoT. Zephyr recibe soporte de la Linux Foundation y admite varias arquitecturas de hardware (desde pequeños dispositivos Cortex-M hasta procesadores de 64 bits multinúcleo). Admite tecnologías de interconexión como Bluetooth LE, Wi-Fi, NFC, LoraWAN. Para empezar a trabajar con Zephyr se requieren al menos 8 KB de RAM y 512 KB de ROM. Zephyr viene con la licencia Apache 2.0 de código abierto y es gratuito para proyectos comerciales y no comerciales, y también cuenta con soporte a largo plazo (LTS) con actualizaciones de seguridad. | |
Apache Mynewt | Este SO también viene con la licencia Apache License 2.0 de código abierto, que proporciona soporte completo para el entorno para el desarrollo de aplicaciones de IoT. Mynewt utiliza 6 KB de memoria del núcleo para la entrega y el procesamiento de las operaciones de IoT. Admite la conexión de la pila Bluetooth Low Energy 4.2. Admite un temporizador de vigilancia de software de varios niveles, distribución de grupos de memoria, planificación basada en prioridades. | |
Android Things | En 2018, Google lanzó un sistema operativo integrado llamado Android Things. Android Things utiliza solo 32-64 KB de RAM para realizar operaciones. Debido a que Weave está conectado a Android Things, el dispositivo IoT puede detectar cada uno de ellos usando un teléfono inteligente Android. El SDK de Android Things puede ayudar a los desarrolladores a probar, crear y depurar cada solución de IoT de forma remota. Pero, desafortunadamente, Google cerró el panel de herramientas de Android Things. | |
Contiki-NG | En 2002, Contiki fue un SO IoT abierto creado para microcontroladores de bajo consumo. Funciona eficazmente con los protocolos de Internet IPv4 e IPv6. También proporciona soporte para conjuntos de protocolos estándar inalámbricos, como CoAP, 6LoWPAN, RPL. Para ejecutar procesos, se utilizan solo 10 KB de RAM y 30 KB de ROM. Contiki OS se publica bajo la licencia BSD, y los participantes de este SO abierto también son conocidos (por ejemplo, Texas-Instrument, Atmel, Cisco, ENEA, RedWire, Oxford University, SAP y muchos otros) | |
Amazon FreeRTOS | Amazon-FreeRTOS, inventado por Amazon, es un SO de código abierto publicado bajo la licencia MIT de código abierto, con soporte para el desarrollo de aplicaciones de IoT. Ocupa 6-15 KB de memoria, lo que lo hace más confiable para el uso de microcontroladores de baja potencia. Amazon-FreeRTOS viene con AWS IoT Core, lo que ayuda a los desarrolladores a acceder fácilmente al servicio en la nube de Amazon Web Service. Gracias a la seguridad de los datos, Amazon-FreeRTOS admite Transport Layer Security (TLS v1.2) y varios conjuntos de chips de microcontroladores de más de 40 arquitecturas. | |
TinyOS | TinyOS también es un SO de código abierto bajo la licencia BSD. En 2000, lanzó por primera vez su primera versión para su uso. Este SO está diseñado para dispositivos inalámbricos de bajo consumo, computación ubicua, redes personales. Admite la pila completa IPv4, IPv6, 6LoWPAN, RPL. | |
Mbed OS | Mbed OS es un lanzamiento de SO de código abierto bajo la licencia Apache License 2.0, que admite microcontroladores ARM Cortex-M IoT de 32 bits. Los usuarios pueden desarrollar código fácilmente con Mbed online IDE usando un editor de código y un compilador gratuitos. Mbed OS se basa en Keil RTX5, lo que permite al desarrollador desarrollar código en C/C++. Mbed OS viene con varias pilas de protocolos, como Ethernet, USB, CAN, SPI, I2C, RFID, NFC, WiFi, Bluetooth. También proporciona seguridad multinivel. | |
EmMate | EmMate es un sistema operativo de código abierto basado en FreeRTOS, que se distribuye bajo la licencia GPLv3. Admite la multiarquitectura y viene con pilas de protocolos de Internet para el desarrollo de aplicaciones IoT micro y a pequeña escala. EmMate es un SO independiente de la plataforma, escrito en C/C++, por lo que los desarrolladores pueden desarrollar código en C/C++. Gracias al código abierto, los usuarios pueden modificar, ver el código fácilmente, así como contribuir con sus ideas. EmMate también viene con migCloud, que ayuda a los desarrolladores a acceder fácilmente al servicio en la nube para las aplicaciones de IoT. |
La tabla anterior debería ayudarte a comparar diferentes SO IoT y tomar una decisión fundamentada para tu proyecto específico. Actualmente es muy injusto concluir que un SO es superior a otro, pero nuestra elección personal es RIOT OS, principalmente debido a su código abierto y su excelente soporte comunitario.