Las Redes de Sensores Inalámbricas (Wireless Sensor Networks, WSN) son un campo en auge en los últimos años debido a sus múltiples aplicaciones en distintos sectores (agricultura, medio ambiente, industria, seguridad, etc.). Las WSN se postulan, dentro de las tecnologías inalámbricas, como una de las opciones de futuro más prometedoras debido, entre otras cosas, a la inminente llegada del Internet de las Cosas (Internet of Things, IoT). Es por estas razones que los grandes fabricantes han lanzado líneas de investigación centradas en esta tecnología.
Las WSN consisten en un conjunto de pequeños nodos sensores que se comunican inalámbricamente para monitorizar distintos parámetros del ambiente, como pueden ser humedad, temperatura, movimiento, actividad, presión, etc.
Estos nodos están formados generalmente por un microcontrolador, sensores, memoria, un transceptor radio y batería; y existen gran cantidad de nodos o plataformas con distintos componentes. Debido a esta gran diversidad de nodos, se hace necesario tener una capa de abstracción hardware o sistema operativo que permita utilizar la misma aplicación de redes de sensores en distintas plataformas hardware y proporcionar herramientas para desarrollar aplicaciones más complejas.
La eficiencia de este sistema operativo es algofundamental en sistemas de bajos recursos como los utilizados, por ello existen numerosas líneas de investigación cuyo objetivo es optimizar estos sistemas operativos haciéndolos dinámicos y proporcionándoles inteligencia. Para ello es necesario proporcionar ciertos datos externos al sistema operativo para que pueda adaptarse dinámicamente al entorno de cara a optimizar su eficiencia. Estos datos externos pueden ser la temperatura del nodo, su movimiento, su consumo, el nivel de batería, así como datos de otros nodos cercanos como la potencia recibida en la interfaz radio, sus parámetros característicos o su estado.
Proporcionar dichos datos externos será el objetivo principal a satisfacer a lo largo de este Trabajo Fin de Máster (TFM). Además, cabe destacar la importancia de la capa de abstracción, ya mencionada anteriormente, que el sistema debe facilitar a la aplicación de nivel superior que utilice sus servicios.