37 Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007 Red Híbrida Inalámbrica de Sensores basada en la plataforma Telosb Carlos A. Cota A., Leocundo Aguilar N., Guillermo Licea S., J. Antonio García M.* Facultad de Ciencias Químicas e Ingeniería, Universidad Autónoma de Baja California, Baja California CP-22390 TEL: +(664)6821033, ext. 5800, correo-e: al241172@uabc.mx, leo_aguilar@uabc.mx, glicea@uabc.mx, jagm@cicese.mx Resumen — Se presenta la implementación de un red híbrida de sensores inalámbricos, basada en las plataformas Telosb, desarrollada por la Universidad de Berkeley California y Módulos S, desarrollados por la Universidad Autónoma de Baja California, para el monitoreo de variables ambientales como temperatura, y humedad. Se explican detalladamente las características de cada una de las arquitecturas de sensores, la interfaz requerida para la comunicación entre los dos tipos de arquitectura de redes de sensores y los resultados obtenidos durante su implementación. También se exponen futuros trabajos a desarrollar en este tipo de redes híbridas. Abstract — This document presents the implementation an hybrid wireless sensor network, based on the platform Telosb, develop by Berkeley University of California and Modulo S develop by Universidad Autonoma de Baja California, these are used for monitoring environmental variables like temperature and humidity. The characteristics are explained in details for each sensor network architecture, the required interface for communication between two kinds of sensors and the obtained results during its implementation. Also are exposed futures works to develop in this type of hybrid networks. Descriptores — Red, Sensor, inalámbricos ,monitoreo, Telosb. *Investigador del Centro de Investigación Científica y de Educación Superior de Ensenad. I. INTRODUCCIÓN L a necesidad de obtener información de nuestro entorno para su control, estudio y almacenaje provocó la aparición de dispositivos electrónicos capaces de reaccionar ante fenómenos eléctricos, mecánicos y fotosintéticos. Estos dispositivos reciben el nombre de sensores y nos sirven para obtener una representación eléctrica de un fenómeno físico que está ocurriendo en el entorno que lo rodea. Los sensores no trabajan de manera independiente, tienen conectados a ellos elementos electrónicos como microcontroladores, temporizadores entre otros que controlan la correcta operación de los mismos. Así, a esta combinación de dispositivos electrónicos se les conoce como plataforma de sensores. Los avances en la electrónica digital, micro-electromecánica y en comunicaciones inalámbricas han permitido el desarrollo de dispositivos de sensores de baja potencia y múltiples funciones. Con estos dispositivos se pueden colectar, procesar y comunicar de forma autónoma información acerca de su entorno. Cuando varios de estos dispositivos operan y colaboran utilizando comunicaciones inalámbricas con un flujo de información de unos a otros constituyen una red inalámbrica de sensores [1]. Al conjunto de dispositivos que realizan el trabajo de sensar son llamados nodos sensores. 38 Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007 La capacidad de monitorear y manipular elementos físicos presenta enormes posibilidades para casi cualquier disciplina científica. Principalmente el procesamiento de señales distribuidas de estas redes de elementos sensores ofrece oportunidades y desafíos para investigar las necesidades de estos sistemas que se encuentran masivamente distribuidos, físicamente acoplados, conectados de forma inalámbrica y limitados en energía [2], [3], [4]. Figura 2. La plataforma de sensores Telosb. Esta plataforma tiene un ultra bajo consumo de potencia con un modulo de comunicación inalámbrica [5]. Sus características eléctricas son: Nodo sensor Figura1. Ejemplo de una arquitectura de red de sensores. Las redes inalámbricas de sensores típicamente son de una arquitectura de un solo nivel (flat arquitecture). Esto quiere decir que todos los nodos sensores son iguales y homogéneos en su forma y función. Existen en el mercado una variedad de plataformas inalámbricas de sensores, pero es una que por sus continuas revisiones y mejoras es quien ha ganado aceptación entre los desarrolladores, esta plataforma recibe el nombre de Telosb. Por otra parte, en nuestra institución se ha desarrollado una plataforma de sensores inalámbricos llamada Módulos S que ofrece la oportunidad de implementar una red a bajo costo. Ahora existe el reto de realizar una arquitectura que nos permita interconectar la red de sensores basada en Telosb y la red de sensores basada en módulos S de esta forma tener una red de sensores inalámbricos híbrida. II. LA PLATAFORMA TELOSB. Esta plataforma de sensores fue desarrollada por la Universidad de Berkeley California [Figura 2]. 1. Microprocesador. Está dotado con un microcontrolador de arquitectura RISC de 16bit desarrollado por compañía Texas Instruments, el MSP430 F1611 con 10 KB de memoria RAM, 48 KB de memoria Flash y 128 Bytes de memoria de almacenaje. Tiene un ultra bajo consumo de potencia tanto en su modo activo como en el de hibernación, con el cual puede durar hasta un año con dos baterías AA. Además este microcontrolador está dotado con 8 puertos externos ADC y 8 puertos internos ADC. El ADC interno puede ser usado para medir la temperatura interna o para medir la carga de la batería. Están disponibles una amplia variedad de periféricos como SPI, UART, puertos digitales I/O, temporizador watchdog y temporizadores con la funcionalidad de captura y comparación. El F1611 también incluye un modulo DAC de 12-bit, supervisor de voltaje y 3 controladores DMA. 2. Comunicación con la PC. La comunicación con la PC se realiza a través de un controlador de USB de la compañía FTDI. Esto implica que en la computadora estén instalados los controladores de software. Esto debido a que la comunicación con el microcontrolador se hace en RS-232 y se requiere de la creación de un puerto virtual COM (VCP) [6]. 3. Comunicación entre sensores. La comunicación inalámbrica entre los sensores es realizada por el controlador CC2420 de la compañía Chipcon. El CC2420 cumple con el estándar de comunicación IEEE 802.15.4 39 Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007 permitiendo algunas funciones de MAC. Con bajo consumo de potencia en la operación [7]. Puerto de Programación y Expansión Hay una serie de elementos que están también interconectados pero depende de la configuración que se adquiera de esta plataforma [Figura 3]. Microcontrolador PIC12F683 Sensor de Temperatura y Humedad Módulo de RF TXM-315-LR Fuente de Poder Batería de Litio CR2032 Figura 5. Organización del Módulo S. El nodo se alimenta con una batería de litio de 3V con capacidad de 225 mA, el microcontrolador es un PIC12F683 de la compañía Microchip[9], es de bajo consumo de energía, arquitectura RISC, sólo 1K de palabras de memoria para programa tipo Flash, y 64 bytes de SRAM. Posee un sensor de temperatura, humedad [10] así como un modulo de transmisión RF y cuenta con una antena embebida en el circuito impreso. La Tabla I muestra los consumos de acuerdo a la actividad Tabla 1. Consumo de energía según actividad. Figura 3. Diagrama de desarrollo de la plataforma Telosb[8]. Esta plataforma es compatible con el sistema operativo modular TinyOS desarrollado también por la Universidad de Berkeley en California y el desarrollo de las aplicaciones en NesC (Network Embebed System C), un lenguaje de programación orientado a componentes. III. EL MÓDULO S Este módulo sensor ha sido desarrollado por la Universidad Autónoma de Baja California. Los costos de la implementación de una red de sensores inalámbricos basada en Módulos S [Figura 4], son mucho más económicos que los Motes Telosb. Micro Timer LED Sensor Transmisor Total Energía Activo Transmitiendo 400uA 25uA 3.8uA 3.8uA n/a 0 1uA 1.1mA 5nA 5mA 420uA 6.13mA Dormido 2uA 8uA 0 1uA 5nA 11uA El mayor consumo de energía es cuando está en la actividad de transmitir información y además de ello, esta actividad toma varios milisegundos según el tamaño del paquete (p.e. 20.8 mS para un paquete de 20 bytes a 9600 Baud). La actividad de este módulo en la red de sensores es realizar el sensado en intervalos de tiempo establecidos por el desarrollador y transmitir la información de manera inalámbrica después de lo cual entra en el estado de hibernación hasta que se cumpla el tiempo establecido para volver a transmitir [Figura 6]. 30 seg Dormido (Bajo Consumo) Depertar Figura 4. Módulo-S. La Figura 5 muestra un diagrama a bloques correspondiente al Módulo S, se pueden ver los diferentes bloques que lo componen y que se describen brevemente. Sensado y Transmisión 1s Figura 6. Diagrama de actividades del Módulo S a una tasa de muestreo de 30 segundos.. 40 Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007 IV. LA COMUNICACIÓN ENTRE LAS REDES V. LA INTERFAZ A MÓDULO-S Como se comentó en la introducción se poseen dos arquitecturas de sensores inalámbricos distintas, con características muy particulares que las hacen atractivas al desarrollador. Ahora el objetivo es proveer de un elemento a través del cual se puedan interconectar los dos tipos distintos de redes de sensores. Esto nos permitiría combinar dos plataformas de sensores de forma tal que sería una red híbrida y estratificada; permitiendo de manera inmediata el combinar todas las características de los dos tipos de redes. La importancia de un proyecto de este tipo se puede ver en el momento de implementar una red de sensores que involucren un gran número de ellos; podemos configurar la red a fin de reducir costos y evitar el desperdicio de recursos en los elementos implementándolos a la medida, por ejemplo: se desea monitorear la humedad y temperatura entre otras variables en toda el área de un invernadero [Figura 8], esto se logra de manera muy fácil si se implementa un solo tipo de sensores, pero resulta en un desperdicio de recursos puesto que implementar módulos de recepción, transmisión, almacenaje y control por cada punto puede que no sea necesario. Su función dentro de la red de sensores es el establecer la comunicación entre las dos distintas redes de sensores, es decir ser un Gateway de la red de módulos S a la red Telosb. Con la creación de esta interfaz se busca el poder interconectar distintas arquitecturas de sensores inalámbricos a los Módulos S, la Figura 7 muestra un diagrama a bloques de la organización de la interfaz. Puerto de Programación y Expansión Microcontrolador PIC16F689 Módulo de RF RXM-315-LR Puerto Serie Figura 7. Organización de la Interfaz. Como se puede apreciar la interfaz posee sólo la capacidad de recepción, acompañado del microcontrolador PIC16F689 de la compañía Microchip y un puerto de comunicación que igual puede ser usado para programación y expansión, este puerto es el que sirve para transmitir en el estándar RS-232 la información adquirida con la plataforma Telosb. Nodo TelosB Nodo TelosB con Interfaz Figura 8. Invernadero con red inalámbrica de sensores. Módulo S Figura 9. Arquitectura resultante de la combinación de Telosb y Módulos S. La arquitectura de este ejemplo es de un solo nivel (flat arquitecture) [Figura 1], es decir todos los sensores transmiten, reciben, almacenan y controlan. Una forma más óptima de desarrollar una red de sensores es combinando las dos arquitecturas de sensores Telosb y Módulos S, formando una arquitectura de red jerárquica; donde los Módulos S tendrían sólo el trabajo de adquirir datos y transmitirlos en intervalos de tiempo y los nodo Telosb, el almacenaje y transmisión entre la red de sensores de esta arquitectura [Figura 9]. Como se puede apreciar en la figura anterior existen dos redes de sensores, una formada por la plataforma Telosb con la interfaz conectada estableciendo intercomunicación entre ellos y transmitiendo información a una PC; por otra parte existe una red tipo estrella entre la plataforma Telosb e interfaz y un conjunto de Módulos S los cuales mandan la información periódicamente a una sola plataforma Telosb. 41 Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007 La interconexión de Telosb y la interfaz a la red de Módulos S es a través del puerto de expansión de Telosb y el puerto de programación de la interfaz. La Figura 10 muestra el diagrama a bloques de esta interconexión. Telosb Interfaz Telosb con Interfaz a Módulos S Figura 10. Diagrama Telosb e Interfaz a Módulos S. Como se puede apreciar, a la plataforma Telosb solo se le conecta la interfaz al puerto de expansión de Telosb. El microcontrolador transmite la información a la plataforma Telosb mediante comunicación serie. A. Sincronización entre nodo S y la Interfaz. Los Módulos S se comunican y asocian con una única Interfaz instalada en un nodo Telosb y puede tener asociados un máximo de 32 módulos S. La asociación entre una Interfaz y uno Módulo S se realiza mediante un diálogo llevado acabo en una conexión física tipo serie entre ellos. El conectar un Módulo S a la interfaz se inicia un diálogo para sincronizar por tiempo y asociar direcciones únicas entre ellos. Así, la interfaz genera una dirección aleatoria (ID) para el Módulo S y una marca de tiempo de transmisión que son almacenados en una tabla en memoria no volátil en la interfaz. De esta forma, el Módulo S conoce en que tiempo debe de sensar y transmitir, así como la dirección de la interfaz instalada en el nodo Telosb que debe ser incluida en el paquete. Interfaz Módulo S B. Errores en fuente de oscilación. Debido a que los Módulos S (nodos S) utilizan el tiempo como forma de sincronización, existen efectos que limita este tipo de sincronización a aplicaciones con baja tasa de sensado. El efecto de error se introduce en los de tiempos que lleva los nodos debido a la tolerancia de los cristales utilizados aún siendo de alta precisión. Las tolerancias estándares de un cristal de miden en ppm (partes por millón) y son de máximo 10 ó 20 para cristales de precisión. El porcentaje de error introducido de ppm es calculado mediante (1). error (%) = ppm × 100 10 -6 (1) Considerando el uso como base de tiempo de un cristal de máximo ±10ppm, se tiene un porcentaje de error de 0.1x10-4 %. Esto es si en un día existen 86400 segundos existirá en el peor caso un error de 864mS. La Figura 12 muestra el peor escenario del efecto de error en el tiempo causando un desplazamiento en los tiempos de transmisión. En ella el tiempo de duración de la transmisión de paquetes está dado por TTX y el tiempo entre transmisión del nodo S1 y S2 por ∆T considerando un error máximo positivo o negativo (ε). ∆T TTX TTX T0 Nodo S1 -εε +εε Nodo S2 T0 + ∆T/2 -εε +εε T0 + ∆T/2+ TTX/2 TTX -εε +εε Figura. 12. Conflicto en tiempo de transmisión Start( ) Ack( ) Rand_ID( ) Ack( ) Interfaz_ID( ) Ack( ) Time_Mark( ) Ack( ) Sens_Rate( ) Ack( ) End( ) Ack( ) Figura. 11. Diagrama de colaboración del diálogo entre Interfaz y Módulo S. En dicho escenario el nodo S1 presenta un error que lo hace ir más rápido y por otro lado S2 lo contrario, un error que lo hace ir lo más lento. Bajo esta situación los nodos iniciaran conflicto en la transmisión en ∆T/2, dado que S1 termina su transmisión y S2 inicia inmediatamente. Sin embargo, esta situación prevalecerá solo por TTX/2 retornado a un escenario sin conflicto pero en espera de otro. Como ejemplo numérico consideremos ∆T=1 minuto, para alcanzar ∆T/2 será necesario estar operando aproximadamente un mes para que se presente el conflicto; y el conflicto será por aproximadamente 1 hora. Esto considerando que el tiempo de transmisión del paquete es de 20.8mS (20 bytes a 9600 Baud). 42 Encuentro de Investigación en IE, 28 — 30 de Marzo, 2007 VI. CONCLUSIONES 1. La implementación de una red de sensores con arquitectura de módulos S la hace mucho más económica que la plataforma Telosb, lo cual se traduce en un ahorro significativo en recursos cuando sólo nuestro interés es el sensado de ciertos fenómenos. 2. La arquitectura estrella de la red de sensores que forma la combinación de los módulos S con los módulos SE, permiten especializar el trabajo de las plataformas dentro de la red; es decir un grupo determinado de sensores se dedicaran a tan sólo sensar y transmitir a la interfaz conectada a nodo Telosb y otro grupo se dedicará al control y retransmisión de esta información adquirida por grupos de módulos S a su cargo. 3. La plataforma Telosb, se está convirtiendo en un estándar de las redes inalámbricas de sensores, por ello el desarrollo de dispositivos que nos permitan la interfaz con este tipo de redes serán muy importantes en el futuro. 4. La combinación de la plataforma Telosb y Módulos S forman una serie de redes estrellas que disminuye el costo de implementación de redes de sensores delegando a la plataforma Telosb el trabajo de enrutamiento de la información al nivel de esta plataforma. 5. Actualemte se cuenta con una red de cinco nodos TelosB y cinco Módulos S. Las experimentaciones que se han realizado en cuanto tiempo de vida de la batería y conflictos de recepción por errores en tiempo de oscilación; han mostrado resultado acorde a simulaciones realizadas. Sin embargo es necesario contruir un mayor número de Módulos S para experimentar con una red de mayor alcance y tráfico. De tal forma que se pueden cotejar los resultados experimentales con resultados de simulaciones de redes semejantes. VII. TRABAJO FUTURO El Firmware desarrollado para el Módulo S y la Interfaz está estructurado de forma que los cambios en este pueden llevarse acabo fácilmente. Sin embargo existen algunos puntos que deben ser mejorados en el futuro, esto en respuesta a mediciones y posibles aplicaciones futuras de mayor tasa de sensado. En el caso particular del Módulo S se propone hacer un macro lenguaje que ayude a desarrollar aplicaciones haciendo a un lado los detalles del hardware y enfocándose sólo a la funcionalidad del módulo. Un desarrollo de este tipo se enfrenta a nuevos retos en cuestión de software, al manejarse distintas arquitecturas y familias de microcontroladores, por ello se hace evidente la necesidad de programar bajo un estándar de programación conocido y de alto nivel; y que pueda generar código de forma automática. Se trabaja con la implementación de una máquina virtual capaz de ejecutar un subconjunto del lenguaje Java para la plataforma Telosb. Esto con la finalidad de usar un modelo de programación orientada a objetos en lugar de uno orientado a componentes (NesC); y así permitir la creación de aplicaciones sin necesidad de un conocimiento muy profundo acerca de la arquitectura de las plataformas. REFERENCIAS [1] Akyildiz I.F., Su W., Sankarasubramaniam Y., Cayirci E., “Wireless Sensor Networks: a survey”, Elsevier, Computer Networks, pp-393-422,(2002). [2] Hac, A., “Wireless Sensor Network Designs”, John Wiley & Sons, Honolulu, pp (2003). [3] Callaway E. Jr., Callaway E., “Wireless Sensor Networks: Architectures & Protocols” Auerbach Publications, Florida, pp- (2003). [4] Ilyas M., Mahgoub I., Handbook of Sensor Networks: Compact Wireless and Wired Sensing Systems, CRC Press, Florida, pp. Capítulo 13, (2005). [5] Hoja de especificaciones: Ultra Low IEEE 802.15.4 compliant wireless sensor module. [6] http://www.ftdichip.com/. [7] Hoja de especificaciones: CC2420 2.4 GHz IEEE 802.15.4/ZigBee RF Transceiver. [8] TMote-Sky preliminary Datasheet, May 2005. Moteiv Corporation. [9] Microchip Technology Inc., PIC12F683 Data Sheet. “http://ww1.microchip.com/downloads/en/DeviceDoc/4 1211C.pdf”. [10] Sensirion, The Sensor Company, Data sheet SHT11 “http://www.sensirion.com/images/getFile?id=25”.