Los dispositivos de IoT se basan en muchos sistemas operativos diferentes según las aplicaciones de uso final específicas.
Las distribuciones de Linux, como Yocto o Android Things, son muy populares entre los dispositivos domésticos inteligentes. Windows 10 IoT Core es más adecuado para dispositivos de borde de IoT a nivel de servidor (cualquier hardware que controle el flujo de datos en el límite entre dos redes). Y por supuesto, se recomienda el sistema operativo Raspbian para un uso habitual en la Raspberry Pi .
Aquí, el artículo analizará TinyOS que, en términos esenciales, es muy útil para redes de sensores de bajo consumo.
¿Qué es TinyOS?
TinyOS es un sistema operativo de código abierto basado en BSD que utiliza el lenguaje de programación nesC para controlar y gestionar redes de sensores inalámbricos (WSN). Los dispositivos sensores (llamados motas) en dichas redes se caracterizan por su baja potencia, memoria limitada y un factor de forma muy compacto.
TinyOS fue escrito por primera vez por Jason Hill en la Universidad de Berkeley en 2000. Es un software completamente gratuito y de código abierto.

Teniendo en cuenta su uso final, TinyOS es un sistema operativo popular para sensores de baja potencia que controlan la luz, la aceleración, la temperatura, la presión y los objetos acústicos. TinyOS se utiliza a menudo en aplicaciones de la industria 4.0.
¿Por qué TinyOS es útil para redes de sensores inalámbricos?
Los sensores de baja potencia, debido a las limitaciones en su alcance, requieren un uso eficiente de los recursos. TinyOS se basa esencialmente en una arquitectura basada en componentes, para reducir el tamaño del código a alrededor de 400 a 500 bytes, y un diseño basado en eventos, lo que elimina la necesidad de un shell de comandos.
La arquitectura basada en componentes utiliza nesC, que es un lenguaje de programación C diseñado para interconectar sistemas integrados. Cada fragmento de código consta de funciones simples ubicadas dentro de componentes y funciones complejas que integran todos los componentes.
El siguiente ejemplo de fragmento de código basado en componentes NesC muestra la integración de diferentes componentes, como temporizadores, relojes y mensajería.
![Conozca el sistema operativo de los sensores inalámbricos TinyOS Conozca el sistema operativo de los sensores inalámbricos TinyOS]()
TinyOS también utiliza un diseño basado en eventos, cuyo objetivo es poner la CPU en estado de reposo cuando no hay tareas pendientes. Un evento podría ser algo así como activar una alarma cuando la temperatura de un termostato aumenta o disminuye por encima de un valor determinado. Tan pronto como finaliza el evento, las motas del sensor pueden entrar en un estado de "suspensión".
La necesidad de un diseño como TinyOS es imperativa en aplicaciones como el transporte inteligente y las fábricas inteligentes. Debido a que hay miles de sensores, es importante tener una huella de memoria muy pequeña para reducir los requisitos de energía.
¿Dónde se utiliza TinyOS?
Actualmente, TinyOS cuenta con más de 35.000 descargas. Sus principales aplicaciones residen en todo tipo de dispositivos que utilicen redes de sensores inalámbricas.
- Monitoreo ambiental : dado que cada sistema TinyOS puede integrarse en un pequeño sensor, son útiles para monitorear la contaminación del aire, los incendios forestales y la prevención de desastres naturales.
- Vehículos inteligentes : los vehículos inteligentes son autónomos y pueden entenderse como una red de sensores. Estos sensores se comunican a través de redes de área inalámbrica de bajo consumo (LPWAN), lo que hace que TinyOS sea perfecto.
- Ciudades inteligentes : TinyOS es una solución viable para los requisitos de detección de baja potencia para servicios públicos, redes eléctricas, infraestructura de Internet y muchas otras aplicaciones de ciudades inteligentes.
![Conozca el sistema operativo de los sensores inalámbricos TinyOS Conozca el sistema operativo de los sensores inalámbricos TinyOS]()
- Monitoreo del estado de la máquina : las aplicaciones de máquina a máquina (M2M) tienen múltiples interfaces de sensores. No es posible especificar un entorno informático completo para cada sensor. TinyOS puede realizar seguridad, administración de energía y depuración de sensores.
¿Dónde aprender sobre TinyOS?
Se puede acceder a toda la información de descarga en TinyOS desde su página oficial de GitHub (ver: https://github.com/tinyos/tinyos-main ). Además de BSD, TinyOS también es compatible con Mac OS X.
La fuente más amplia de información sobre TinyOS está disponible en la wiki de la Universidad de Stanford (ver: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). Esta fuente contiene información sobre la instalación del programa, instrucciones detalladas y un gran índice de código aportado por muchos otros.
TinyOS es un ejemplo de un sistema operativo diseñado para redes de sensores inalámbricos de bajo costo y bajo consumo. Pero no es la única opción. Otros ejemplos de sistemas operativos similares incluyen Contiki, OpenWSN, FreeRTOS y RIOT.