Red Híbrida Inalámbrica de Sensores basada en la

Anuncio
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”.
Descargar