WSN. Redes Inalámbricas de Sensores

Un elemento importante para hacer realidad estos escenarios que parecen de ciencia ficción, lo constituyen las redes inalámbricas de sensores (WSN, por sus siglas en inglés). En efecto, si el entorno debe reaccionar a ciertas condiciones que se presenten, primeramente se deben conocer dichas condiciones, siendo ahí donde entran en juego los sensores.

Aplicaciones
Los elementos necesarios para conformar las WSN se encuentran ya disponibles comercialmente. Por lo tanto, ya se están aplicando dichas redes en ámbitos tan diversos como la agricultura, el sector militar, la geofísica, etc. Una aplicación interesante se ha dado en los países escandinavos, donde al colocar sensores de movimiento sobre cerdos y otros animales de corral se sabe, con base en el patrón de movilidad, cuando dichos animales están en época reproductiva. En California y Nevada se han hecho estudios para determinar la propagación de incendios, medir la intensidad de los mismos y cuantificar los niveles de contaminación consecuentes. En el noroeste de Estados Unidos y sur de Canadá se utilizan redes para censar parámetros que influyen en la calidad de la uva para vino, tales como la temperatura y la humedad. De hecho, no necesitamos ir tan lejos para buscar ejemplos, pues este tipo de aplicaciones de monitoreo de campos agrícolas también se está gestando ya en nuestro país, particularmente en Baja California; en efecto, mediante una colaboración entre Instituto Nacional de Investigaciones Forestales, Agrícolas y Pecuarias (INIFAP) y el Centro de Integración de la Innovación Tecnológica (CENI2T), se está desarrollando el hardware, el software y las aplicaciones específicas para mejorar la calidad de los cultivos, minimizar la ocurrencia de plagas y optimizar el uso de recursos como pesticidas y, sobre todo, agua.

¿Qué las hace diferentes?
Existen diferencias significativas que hacen a las WSN muy diferentes de las redes tradicionales, inalámbricas o no. Tal vez la diferencia más notoria, de donde derivan muchas otras, se encuentra en el hecho de

Aplicación agrícola de WSN

que los nodos de las redes no son computadoras, impresoras, dispositivos de conmutación u otros similares. En el caso de las WSN, los nodos son pequeñas unidades (del tamaño de una caja de cerillos) que tienen solamente unos pocos kilobytes de memoria, un procesador de unos cuantos MHz, una unidad de radiocomunicación de pocos metros de alcance, y una fuente de poder consistente en una o dos baterías tipo AA. Y lo más interesante es que, con tan limitados recursos, se espera que estas redes sean capaces de realizar enrutamiento, hacer agregación de datos, correr aplicaciones, autoconfigurarse y operar en forma desatendida por varios meses o incluso años. Resulta fácil imaginar entonces, que desarrollar algoritmos, protocolos y sistemas para este tipo de redes presenta retos muy interesantes.

Programación de las WSN
Actualmente los desarrolladores tienen que programar casi directamente sobre la plataforma de hardware (sensores), pues no existen bibliotecas, APIs, middleware, frameworks, toolkits, ni otras herramientas de software que permitan abocarse al problema en cuestión sin que la plataforma constituya otro problema más. Por otra parte, las arquitecturas tradicionales de sistemas operativos para sistemas empotrados no resultan ser siempre las más adecuadas cuando se piensa en WSN, esto es debido al espacio de almacenamiento y capacidad de memoria que requieren, así como a la carga que representa la implementación de funcionalidades que resultan ser innecesarias para aplicaciones específicas; además, el manejo del hardware resulta costoso en términos de complejidad y consumo de energía. Es por ello que surgen nuevas propuestas como el sistema operativo TinyOS, cuya finalidad es la de reducir el uso de espacio en memoria y el “overhead” del sistema.

El TinyOS es un sistema operativo basado en eventos, desarrollado para correr en WSN, y actualmente es el más utilizado en este tipo de sistemas. Se distingue entre otros ya que permite a las aplicaciones manejar el hardware directamente, no existe el concepto de kernel, no maneja memoria virtual ni memoria dinámica, se compila junto con la aplicación incluyendo sólo los módulos requeridos por la aplicación evitando así agregar funcionalidad innecesaria al sistema operativo. Para implementar aplicaciones en TinyOS se utiliza una extensión del lenguaje C que se denomina nesC.

Los programas en nesC básicamente están hechos con componentes, los cuales están ligados entre sí mediante interfaces claramente definidas; estas interfaces permiten a cada componente ofrecer servicios a otros componentes o bien utilizar servicios de otros componentes. Así, TinyOS no es otra cosa más que un conjunto de componentes predefinidos que permiten manipular el hardware. Luego, los servicios que estos componentes ofrecen a través de sus interfaces pueden ser utilizados por cualquier otro conjunto de componentes creados por cualquier programador y así es como se crea una aplicación en TinyOS con nesC.

Conclusión
Las redes inalámbricas de sensores no son solamente un tópico de investigación en la academia, pues ya existen productos disponibles comercialmente que permiten establecerlas y utilizarlas. El desarrollo de este tipo de redes plantea nuevos problemas en ingeniería de software y hardware, pero a su vez acerca más a la realidad escenarios que antes se pensaron como ciencia ficción. En nuestro país se están dando los primeros pasos no solo para la utilización de las WSN, sino también para su desarrollo.

Referencias
• M. Weiser. “The Computer for the Twenty-First Century”. Scientific American, vol 265, no 3, Septiempre. 1991.
• Ian F. Akyildiz, et al. “A Survey on Sensor Networks”. IEEE Communications Magazine, Agosto. 2002.

Acerca de los Autores
J. Antonio García Macías es investigador en el CICESE (www.cicese.mx) y director de un proyecto sobre WSN en el CENI2T (www.ceni2t.com).

Christian P. García Martínez es ingeniero senior en el CENI2T.

>