Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
24
Diseño e implementación del Prototipo
Introducción.
Este prototipo pretende plasmar de una forma visible el proyecto
Access4zb realizado por el gIe para AICIA. Se ha conectado una red de nodos
sensoriales inalámbricos IEEE 802.15.4 mediante una pasarela con conexión
GPRS y un software en un servidor con un terminal móvil mediante SMS a
través de la plataforma RedBox de Minerva.
Objetivos del prototipo:
Se pretende mostrar la monitorización y gestión de una red sensorial
inalámbrica mediante sencillos mensajes SMS. A través de la plataforma
Minerva/RedBox, gestionar los clientes y las alertas emitidas mediante un
software adapto.
Figura 13 Esquema del prototipo
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
25
A continuación haremos una breve descripción de los componentes hardware y
software.
Descripción general.
Se dispone de 5 nodos con distintos sensores integrados más un nodo
coordinador que compondrían la red sensorial; una pasarela que gestiona la
red conectada al coordinador por un cable RS232 y con un modem GSM; una
aplicación Web escrita en JSP que recibe y envía los SMS mediante
Minerva/RedBox.
Figura 14 Sistema completo: Móvil, pasarela y nodos
Los nodos se colocan en torno a la mesa. El nodo coordinador, la pasarela y la
placa de pruebas de ésta se conecta por el cable de RS232 y una cable
propietario de la pasarela. Para poder monitorizar la consola, se conecta la
pasarela al puerto RS232 del PC (o adaptador USB). Todos estos elementos
requieren de conexión a la red eléctrica, mientras que los nodos funcionan con
batería.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
26
Para monitorizar la pasarela se utiliza un programa de consola (Putty,
por ejemplo). Una vez conectado el adaptador USB-RS232 a la pasarela y
ejecutado la consola, se enciende la pasarela. Hay que recordar que el
transformador no va conectado directamente a ésta, sino a su placa de
desarrollo. Además del cable de electricidad (negro), entre la pasarela y la
placa hay otra cable (RJ45) para conectar el modem analógico y redireccionar
el segundo puerto serie de la pasarela. Una vez conectado los cables, se
enchufa el transformador.
En la consola aparecerá la señal de booting y saldrá la señal del
sistema. En el script de inicio ya se ha ejecutado el programa de
redireccionamiento del puerto serie (programa en los ejemplos de OWASYS)
además de un servidor de web, boa. Hay varias versiones del programa de
control de la red. El que se utiliza para el prototipo es /home/David/Pasarela.
Hay que ir al directorio y ejecutarlo.
Tras la puesta en marcha del programa, la pasarela indica en la consola
que está esperando el coordinador. Es entonces cuando hay que encender el
nodo coordinador conectado a la placa de desarrollo mediante un cable RS232.
Hay que tener en cuenta la polaridad del cable, puesto que se necesita un
adaptador que cruza los cables. El coordinador mandará el mensaje de inicio y
a su vez la pasarela, al recibirlo mandará el suyo. Si todo está correcto seguirá
el proceso.
Posteriormente se encienden cada uno de los nodos. En la consola
aparecerá los mensajes enviados por el coordinador, así como el SMS enviado
al server. Se recibirá un SMS en el terminal móvil avisando de que cada nodo
se ha conectado correctamente.
A partir de este momento se podrá interactuar con la red: se recibirán
las alertas, a los teléfonos especificados en la base de datos del servidor,
cuando se produzca alguna alerta en los sensores, se podrán enviar peticiones
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
27
de temperatura y acciones a los nodos según un patrón de SMS preestablecido
y cargado en el servidor.
Especificaciones de Hardware
Como se ha comentado anteriormente, la pasarela se comunica con el
nodo coordinador mediante un cable RS232 a través de la placa de desarrollo.
La polaridad de este cable es muy importante, puesto que ambos conectores
(del nodo coordinador y de la placa de pruebas) son hembra. Se ha instalado
un conversor, pero que además cruza los cables.
Los nodos se conectan al coordinador por el protocolo IEEE 802.15.4 .
Al realizar el encendido se realiza una negociación. En nuestro caso concreto
no se asigna dinámicamente la dirección, sino que se ha fijado manualmente.
La pasarela posee un modem GSM integrado. La tarjeta SIM va
insertada en la ranura correspondiente. La activación por medio del PIN se
hace vía software. La antena es necesario que ocupe un lugar alto. Se puede
optar tanto por la cableada, (que se utiliza también para el GPS) como por la
rígida.
Tarjetas Inalámbricas 802.15.4
Introducción
El reciente avance en las comunicaciones inalámbricas y la electrónica
ha permitido el desarrollo de redes de sensores inalámbricas de alta densidad.
Estos adelantos han capacitado el desarrollo de dispositivos de bajo coste y
bajo consumo, capaces de procesar datos y permitir una comunicación entre
ellos; modificando en la actualidad el concepto de red de sensores. Dentro de
este nuevo escenario se prevé un futuro en el que minúsculos nodos sensores
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
28
monitoricen el medio continuamente y reporten su información a un nodo
coordinador o estación base central.
Como se ha indicado en apartados anteriores el propósito del proyecto
es realizar un sistema que permita de forma remota gestionar y recibir
información de redes inalámbricas a través de terminales de telefonía móvil
mediante mensajes SMS o vía web a través de PCs; por lo que uno de los
objetivos del proyecto es la creación de una red de sensores inalámbrica
basada en el estándar 802.15.4.
Modelos y tipos de tarjetas inalámbricas 802.15.4.
La red inalámbrica 802.15.4 está formada por 5 nodos sensores y un
nodo coordinador que se conecta a la pasarela de comunicación.
Los nodos de la red se componen básicamente de:
Un microcontrolador, el “cerebro” del sensor que permite el control y gestión de
la red, información, procesarla y comunicar sus propias medidas a la red.
Una interfaz de transmisión/recepción vía radio, módulo RF.
Una fuente de alimentación, comúnmente baterías tipo AA.
Placas de sensores externos o sensores integrados el placa del nodo, que son
los que realizan la monitorización del entorno, (sensores de temperatura,
medidores de presión, detectores de luz, acelerómetros, detectores de
presencia, etc).
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
29
Esquema general nodo sensor.
Todos los nodos sensores integran un sensor de temperatura, además
de un sensor específico cada uno: sensor de obstáculo IR, de ruido, intensidad
luminosa, de presencia PIR y acelerómetro de 3 ejes.
Los nodos sensores están alimentados mediante pilas AA, aunque
también se pueden conectar a la red eléctrica. Posee dos interruptores, uno
como reset del sistema y otro que se utiliza para aplicaciones de
funcionamiento.
El nodo coordinador posee un conector DB9 para poder ser conectado a
la pasarela de comunicación.
La estructura básica de todos los nodos es la siguiente:
Transceiver el PAN4555, basado en MC13213 integra el transmisor/receptor a
2.4 GHz y el microcontrolador MC9S08GT.
Conexión Background Debug Module (BDM) que permite la depuración del
programa en la placa mediante el cable USB Multilink.
Interfaz Uart .
Sensor de temperatura TMP102.
Placa sensor externo o sensor integrado (acelerómetro).
Pulsadores (reset y aplicación).
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
30
Leds
Regulador de tensión a 3.3V.
Conector de alimentación (tornillera).
Conector para 2 pilas AA.
Jumper que selecciona alimentación externa o por baterías.
La alimentación de los nodos se puede realizar de dos formas, mediante
alimentación externa o batería. La selección se realiza mediante un jumper, en
el siguiente dibujo se puede observar que el jumper selecciona entre VDD1
(exterior) y VDD2 (bateria).
Si se decide utilizar alimentación por batería, la placa lleva en la parte de
atrás un holder battery para la colocación de dos pilas AA.
Si por el contrario se elige alimentación externa, se debe conectar un
adaptador de corriente a la tornillera de color verde que aparece en cada una
de las placas. Este módulo lleva un regulador de tensión U5 a 3.3V, el
regulador utilizado en la elaboración de las placas es el MCP1827S de
Microchip y utiliza dos condensadores de desacoplo, uno a la entrada de 4.7µF
y otro a la salida de 1µF, que se corresponden con C1 y C2.
Figura 15 Conexionado alimentación
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
31
Los nodos disponen de 2 botones o switches y 2 leds. El pulsador P1 se
conecta al pin 8 del PAN4555 ETU, que se corresponde con el puerto PTA6 del
microcontrolador utilizado como señal KBI. El pulsador P2 se corresponde con
el reset de la placa, se conecta a la señal reset del sistema.
Los leds LED1 y LED2 se conectan al pin 18 y 17 respectivamente que
se corresponde con los puertos PTD6 y PTD4 del microcontrolador. En la
siguiente figura se muestra el conexionado de estos componentes.
Figura 16 Conexionado de pulsadores y leds.
En el Anexo B se detalla el esquemático de los distintos tipos de nodos.
Elementos de las tarjetas y sus especificaciones
El componente más importante en los nodos es el transceiver,
componente que integra tanto el módulo RF y el microcontrolador.
En la selección del transceiver se ha tenido en cuenta que el principal
objetivo del proyecto es realizar un prototipo, por lo que se ha buscado un
módulo que permitiera una fácil integración del mismo dentro de la propia placa
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
32
hardware, pero que debiera cumplir todas las especificaciones impuestas por
nuestra red.
El transceiver elegido pertenece al fabricante PANASONIC, y se trata del
PAN4555 ETU (Easy to Use), idóneo para la realización de prototipos y
evaluación de redes, aunque en el caso del coordinador se ha utilizado
PAN4555 en su versión normal.
El dispositivo PAN4555 ETU, es una versión easy to use del PAN4555,
es un dispositivo pensado para dar los primeros pasos en el estándar 802.15.4.
Aporta facilidades a la hora de testearlo, ya que gran parte de los pines
del microcontrolador están accesibles de forma fácil. PAN4555-ETU es un
transceiver de corto alcance, bajo en consumo, de la banda ISM a 2.4 GHz que
proporciona las características de capa física del estándar inalámbrico IEEE
802.15.4 y contiene un microcontrolador de la familia de HS08 de Freescale.
Utiliza como entorno de desarrollo CodeWarrior de Metrowerks y se
recomienda utilizar el puerto BDM-USB Multilink de Pemicro para su
programación.
Las características principales del PAN4555-ETU son compartidas con
las del PAN4555:
Alta sensibilidad de -92dBm en 1% Packet Error Rate.
Baja tension de alimentación (2.0V a 3.4V).
Rango de operación de temperatura -40ºC a +85ºC.
Dos opciones de antenas: “Single port 50” o antena cerámica.
16 canales seleccionables a 250 kbps en la banda de 2.4Ghz.
Modo de bajo consumo para incrementar la vida de la batería.
Memoria 60k Flash y 4k RAM.
Canales A/D con 10 bits para la rápida y fácil conversión de entradas
analógicas, como temperatura, presión y niveles de fluidos, a valores digitales.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
33
Canales de 16 bits para salida TPM.
Puerto BDM para programar directamente el MCU.
20 líneas digitales I/O con pull-ups programables.
Figura 17 Pinout PAN4555 ETU
Los pines están distanciados 2.54mm, lo que lo hace muy fácil de implantar en
cualquier placa de evaluación mediante una línea de conectores.
Las principales características técnicas del PAN4555-ETU relacionadas con
sensibilidad, consumos, alimentación se muestran en la siguiente tabla.
Parámetros Valor Nota
Sensibilidad de recepción -‐92 dBm Para 1% PER
Potencia de salida 0 dBm Máxima
Alimentación 2.0V a 3.4 V Valor medio 2.7 V
Control de Rango de
Potencia
30 dB
Tasa de datos máxima 250kbps Aire
Consumo
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
34
Modo recepción 37 mA
Modo transmisión 30 mA
Modo IDLE 500 µA
Modo Doze 35 µA
Modo Hibernación 1 µA
Modo Off < 1 µA
Valor nominal de
potencia de salida
Rango de temperatura -‐40ºC a 85ºC
Tabla 3. Características técnicas PAN4555 ETU
El transceiver PAN4555 ETU está formado por el módulo MC1321X de
Freescale. La propuesta de Freescale para la arquitectura 802.15.4 es
compartir el hardware y software en la capa física. La familia MC1321X de
segunda generación del estándar 802.15.4 incorpora un transceiver a 2.4 GHz
de bajo consumo y un microcontrolador de 8 de la familia HS08 en un
encapsulado LGA de 71 pines.
La solución MC1321X puede ser usada para aplicaciones inalámbricas,
desde redes simples punto a punto hasta conseguir redes de mallas completas.
La combinación del transceiver RF y el microcontrolador en un pequeño
espacio, 9x9x1mm, permite que la solución se caracterice por su reducido
coste.
La familia MC1321X contiene un transceiver RF que cumple el estándar
802.15.4 opera en la banda de frecuencias de 2.4GHz. El transceiver incluye un
amplificador de bajo ruido, con potencia de salida de 1mW, regulador de
tensión y un codificador/decodificador de espectro expandido.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
35
Los módulos MC1321X contienen un microcontrolador basado en la
familia HCS08, especialmente la Versión A de la familia HCS08. La plataforma
contiene además memoria FLASH cuyo tamaño varía desde 16K hasta 60K y
proporciona solución para sensores inalámbricos y aplicaciones de control que
requieren redes que soporten desde una simple red punto a punto hasta
complejas redes mesh.
Destacar que el software es compatible con el utilizado en familias anteriores
como MC1319X y MC1320X.
Figura 18 Estructura interna MC1321X
MC13211 MC13212 MC13213/214
Topología Pto-‐Pto -‐ Estrella Pto-‐Pto-‐ Estrella -‐ Mesh
Software Simple SMAC
(SMAC)
IEEE 802.15.4 MAC Pila ZigBee
Memoria 16 KB FLASH
1 KB RAM
32 KB FLASH
2 KB RAM
60 KB FLASH
4 KB RAM
Versión CW CodeWarrior 16KB
Special Edition
CodeWarrior 32K SE
Upgrade
CodeWarrior 64K
SE Upgrade
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
36
Tabla 4. Tabla resumen familia MC1321X.
El microcontrolador que utiliza se corresponde con un componente de la
familia HCS08 de Freescale, en particular el MC9S08GT. Otros
microcontroladores ofrecen un bajo consumo pero a costa del rendimiento, sin
embargo, la familia HCS08 de 8 bit pueden superar el rendimiento de muchos
microcontroladores de 16 bit sin comprometer ese bajo consumo. El alto
rendimiento y bajo consumo, combinado con la capacidad de depuración on-
chip de los HCS08 han sido las principales causas de su selección.
La familia de microcontroladores HCS08 fue desarrollada para
aplicaciones como unidades universales de control remoto que se mantienen
en descanso durante largos periodos de tiempo pero que deben estar
disponibles rápidamente y operar a altos niveles de rendimiento según la
demanda. Otras posibles aplicaciones incluyen instrumentos de mano,
contadores, sistemas de seguridad y otros dispositivos portátiles e inalámbricos
tanto para uso industrial como para el mercado de consumo.
En contra de lo que hacen otros MCUs de bajo voltaje y consumo, el HCS08 no
sacrifica rendimiento para proporcionar un funcionamiento de bajo consumo a
1,8 V. La mayoría de las aplicaciones de bajo consumo tienden a funcionar en
un modo “sleep” o descanso hasta que son necesarias, es entonces cuando los
usuarios esperan que el dispositivo funcione a pleno rendimiento.
Los HCS08 integran un nuevo puerto de un solo hilo denominado
Background Debug Mode (BDM) con un innovador emulador, trigger y trazador
on-line el cual se utiliza a través de sencillos cables serie o pads BDM, el cual
permitirá reemplazar complejos sistemas de desarrollo mediante hardware
externo para tareas de emulación y desarrollo.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
37
Los HCS08 utilizan una potente herramienta de desarrollo Metrowerks
CodeWarrior Development Studio for HCS08 Special Edition, junto a código de
demostración para ayudar a los diseñadores de sistemas a conocer
rápidamente la familia de microcontroladores HCS08. Pasarela
Introducción:
Se ha utilizado una pasarela genérica con varios puertos de
comunicación y con un sistema operativo Linux embebido sobre el que corre la
aplicación de gestión. Para la gestión y monitorización de dicha pasarela se
utiliza, además, una placa de pruebas que viene con ella.
Modelos y tipos de pasarelas
El modelo utilizado para este prototipo es la pasarela OWASYS 22A9.
Lleva un micro ARM7 de 32 bits, 16 Mbyte de RAM y 8 Mbyte de memoria
Flash. Posee múltiples puertos de conexiones: GSM, RS232, Ethernet, GPS,
RS485, 2 entradas analógicas, 5 entradas digitales, entrada y salida de audio,
etc.
Como se ha indicado posee un sistema operativo Linux Kernel 2.4.18,
compilado para el micro ARM, así como las librerías propietarias que permiten
la inicialización de los módulos de entrada-salida.
9 Cft. http://www.owasys.com/en/BOK_100_1003_R2F.pdf
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
38
Figura 19 Pasarela Owasys 22A
Esta pasarela, de aspecto robusto, soporta una gran cantidad de tipos
de conexiones y puertos. En el frontal se encuentra visible un conector DIN9
para le puerto RS232, dos conexiones BNC para sendas antenas, dos
conectores RJ45, un puerto multiprósito y un conector para la corriente
eléctrica.
Posee un modem GSM integrado con un slot para la tarjeta SIM. Permite
conexión GSM/GPRS con el software adecuado. Cuenta además con un
Modem analógico v92 convertible a RS232 que se conecta por uno de los
puertos RJ45. El otro es la salida de una tarjeta de red Ethernet. Uno de los
conectores BNC, como se ha comentado anteriormente, pertenece al modem
GSM, y el otro es la salida de la antena del módulo GPS. El puerto
multipropósito presenta una serie de entradas y salidas analógicas y digitales y
la conexión de alimentación. Por último presenta un par de conectores de audio
para la salida y entrada conectados a una tarjeta de sonido. Además de la
pasarela, se ha utilizado una placa de desarrollo UDK .
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
39
Figura 20 Placa de desarrollo UDK de OWASYS
Esta placa proporciona la conectividad a la red eléctrica a la pasarela mediante
un transformador. Además facilita el acceso simplificado a un segundo puerto
RS232 conectad, como se ha comentado, a través del modem analógico. Tiene
también una multitud de puertos de entrad salida tanto analógicos como
digitales fácilmente accesibles desde la placa de desarrollo. La placa de
desarrollo viene también con un CD que contiene el compilador cruzado para el
micro ARM así como las librerías y ejemplos para crear aplicaciones. El cross-
compiler viene para el sistema operativo Linux.
Interfaces
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
40
Para la conexión con el nodo coordinador, la pasarela utiliza el puerto
serie RS232. La comunicación se realiza a 11520 bit/s con 8 bits de datos, 1 bit
de parada, sin paridad ni control de flujo. Puesto que se necesita monitorizar la
consola del programa, se ha optado por redireccionar el puerto de
comunicaciones al puerto COM3 a través de la placa de desarrollo. Los datos
de comunicaciones se establecen en una librería del código.
Utiliza también el modem GSM integrado. Posee una ranura para la
inserción de la SIM y un conector coaxial de antena. Hay que conectar la
antena que trae con el kit de desarrollo, sino no hay cobertura GSM suficiente.
Para la consola del sistema se ha utilizado el puerto RS232 disponible en la
pasarela. Puesto que se necesita un segundo puerto Serie, se ha conectado la
pasarela con la placa de desarrollo mediante un cable RTB desde el conector
del modem RJ45 de la placa a la pasarela. De esta forma se puede utilizar un
puerto serie para la monitorización y otro para la comunicación Mediante una
pequeña aplicación, que viene en el Kit de Desarrollo, se reenvía la conexión al
coordinador por este puerto (COM3) mientras que la consola queda en el
COM1. Dicha aplicación se describirá más adelante.
La placa de desarrollo UDK se conecta a la corriente eléctrica mediante
una fuente de tensión continua de 12V. Desde la misma placa de desarrollo,
mediante un cable adaptativo, se alimenta la pasarela. Dicho cable puede ser
sustituido para conectar la pasarela directamente a la alimentación.
Servidor
No hay hardware específico por lo que se ha utilizado un servidor
disponible en centro de datos del departamento. Es necesario una conexión a
Internet con una IP pública fija y el acceso al puerto 80 desde esa IP pública
conocida. En nuestro caso, está registrado con el dominio maria.gte.us.es. En
la parte de software se especificará los sistemas incluidos en el servidor.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
41
Móvil
Se utilizará cualquier terminal móvil con el estándar GSM para mandar y
recibir los SMS. En concreto, para la demostración se ha utilizado un terminal
Vodafone 715.
Hardware Adicional
Sensores
Introducción
Los nodos de la red inalámbrica 802.15.4 integran distintos tipos de
sensores encargados de monitorizar el entorno donde se encuentran
localizados. Esta red de nodos sensores va a permitir controlar eventos o
actividades que se produzcan en el entorno como puede ser apertura de
puertas, rotura de vidrios, detección de presencia, control de luminosidad,
temperatura ambienten, encendido y apagado de fuentes luminosas, etc; y
poder interactuar ante las distintas situaciones.
Figura 21 Foto de los sensores y el nodo
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
42
Descripción
Sensor de temperatura
El sensor de temperatura TMP102 de Texas Instruments posee una
interfaz de comunicación de dos líneas y está disponible en encapsulado
SOT563. No requiere de componentes externos para su funcionamiento y es
capaz de leer temperaturas con una resolución de 0.0525ºC.
Una característica del TMP102 es que es compatible tanto con SMBus
como con I2C; permite cuatro direcciones distintas para el mismo dispositivo,
por lo que se podrán utilizar hasta cuatro sensores de temperatura en un
mismo nodo.
El TMP102 es ideal para medir temperaturas en variedad de aplicaciones como
en computadores, temperatura ambiental, industrial, instrumentación. Es
dispositivo que puede operar en un rango de temperatura desde -40ºC hasta
los 125ºC.
El sensor de temperatura TMP102 tiene la característica de poder
direccionar cuatro dispositivos iguales en una misma línea I2C. La siguiente
tabla describe los distintos niveles del pin A0, que sirve para seleccionar
distintas direcciones.
Direcciones
TMP102
Pin A0
1001000_ 0x90 GND
1001001_ 0x92 VDD
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
43
1001010_ 0x94 SDA
1001011_ 0x96 SCL
Tabla 5. Tabla de direccionamiento sensor TMP102.
En las placas se han utilizado la dirección 0x92, conectando el pin A0 al
de alimentación.
Figura 22 Conexionado sensor de temperatura TMP102
Para su correcta conexión se recomienda el uso de resistencias pull-up
en los pines SCL, SDA y ALERT; y una capacidad 100nF en la alimentación.
Acelerómetro
El LIS3LV02DQ del fabricante ST, es un acelerómetro de 3 ejes lineal de
salida digital que incluye un sensor y una interfaz digital capaz de dar
información sobre el sensor y proporcionar una señal externa de la medida de
la aceleración a través de una interfaz serie I2C/SPI.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
44
El sensor, capaz de detectar la aceleración, es fabricado usando
delicados procesos por parte de ST para producir sensores inerciales en silicio.
La interfaz de comunicación en cambio es fabricada usando un proceso CMOS
que permite un alto nivel de integración para diseñar un circuito dedicado que
mejore las características del sensor.
El LIS3LV02DQ tiene un fondo de escala seleccionable de ±2g, ±6g y es
capaz de medir aceleraciones por encima de un ancho de banda de 640 Hz por
eje. El ancho de banda del dispositivo deberá ser seleccionado acorde a las
condiciones de la aplicación. El dispositivo puede ser configurable para generar
una señal de interrupción inercial wake-up/free-fall cuando se supere una
aceleración determinada en algunos de los 3 ejes.
Figura 23 Acelerómetro LIS3LV02DQ
LIS3LV02DQ está disponible en un encapsulado plástico SMD y se
especifica para rangos de temperatura de -40ºC a +85ºC. LIS3LV02DQ
pertenece a la familia de productos adecuados para una gran variedad de
aplicaciones:
Detección de caída libre (Free-fall).
Funciones de activación de movimiento en sistemas portátiles.
Sistemas antirrobo y navegación inercial.
Equipos de realidad virtual y de juegos.
Redes de sensores de alta densidad.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
45
El núcleo del acelerómetro está alimentado a través de la línea Vdd
mientras que los pads de I/O son alimentados a través de la línea Vdd_IO. Se
recomienda el uso de condensadores que aíslen al circuito de la fuente de
alimentación, componente C8; éstos deberán estar colocados tan cerca como
sea posible del pin de alimentación del dispositivo.
Nº
Pin
Nombre Función
1 NC
2 GND GND
3 Vdd VDD
4 NC
5 GND GND
6 INT Interrupción caída PTA5
7, 8 NC
9 SDO
10 SDA I2C Serial Data
11 Vdd_IO VDD
12 SCL I2C Serial Clock
13 CS VDD
14,15 NC
16 CK GND
17 GND
18 NC
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
46
19 Vdd VDD
20-28 NC
Tabla 6. Tabla de Pines del sensor LIS3LV02DQ.
El acelerómetro posee dos interfaces de comunicación para acceder a
sus registros de información SPI e I2C. Para habilitar la interfaz I2C se debe
conectar el pin CS a VDD. Los pines SDA y SCL son los utilizados en la interfaz
I2C y deben conectarse a las resistencias pull-up de la interfaz.
El pin INT se conecta al PTA5 del microcontrolador que gestiona la interrupción
generada por el acelerómetro cuando detecta un evento de caída libre,
previamente el acelerómetro se debe configurar para que detecte dicho evento.
Figura 24 Conexionado acelerómetro LIS3LV02DQ
Sensor de obstáculos IR
El sensor S135 del fabricante MSE es un detector IR de obstáculos que
detecta la presencia de un objeto sin contacto físico con el mismo. Consiste en
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
47
un emisor/detector de luz infrarroja modulada. Esta característica lo hace
prácticamente inmune a interferencias provocadas por otras fuentes de luz.
Un diodo emisor emite una haz infrarrojo modulado a una frecuencia de 7.7
KHz, el rebote de dicho haz sobre un objeto, es captado por un foto transistor
detector que acondiciona la señal recibida.
Figura 25 Sensor de obstáculo IR
Parámetro Valor
Tensión alimentación 5V
Consumo en reposo 6.5mA
Consumo activo 7.8mA
Tensión salida reposo >4.5V
Tensión salida activa <0.2V
Longitud de onda 940-950nm
Distancia máxima de detección 5 cm
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
48
Tabla 7. Características técnicas del sensor IR.
En el siguiente esquemático los pines 1, 2 y 3 se corresponden con
alimentación, tierra y salida del sensor respectivamente.
Figura 26 Esquemático MSE-S135 sensor IR.
El dispositivo MSE-S135 no necesita de ningún ajuste especial. En
determinadas aplicaciones quizá se deba mover ligeramente la orientación
tanto del emisor IR como del receptor.
Cuando no se detecta ningún obstáculo (reposo), la tensión medida en debe
ser de unos 5V (nivel lógico “1”). Al colocar un objeto frente al circuito, a una
distancia de unos 5cm, se obtener una tensión de 0V (nivel lógico “0”).
Sensor de ruido
Se trata de un sensor activado por sonido del fabricante MSE. Un
micrófono recoge la señal de sonido o ruido ambiente. Esta señal es
amplificada y, si se alcanza un determinado nivel o umbral, se produce un
pulso lógico de disparo de unos 100 ms de duración y activo por flanco
ascendente.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
49
Figura 27 Sensor de ruido MSE-S100
Mediante un potenciómetro de ajuste es posible regular el nivel sonoro al
que se desea se produzca la señal de disparo en la salida. De esta forma se
puede ajustar la sensibilidad del circuito. El circuito en reposo (ausencia de
ruido/sonido) mantiene la señal de salida a nivel lógico “0” permanente.
Las características técnicas del sensor de ruido son las siguientes:
Parámetro Valor
Tensión alimentación 5V
Consumo en reposo (sin sonido) 2.6mA
Consumo activo (con sonido) 1.7mA
Tensión salida reposo 0V
Tensión salida ruido >3.5
Duración pulso de activación 100ms
Tabla 8. Características del sensor de ruido.
A continuación se detalla el esquemático de la placa del sensor de ruido:
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
50
Figura 28 Esquemático MSE-S100 sensor de ruido.
El pin 1 se corresponde con alimentación, 2 a tierra y 3 a la salida. El
ajuste del sensor de ruido MSE-S100 permite regular el nivel sonoro necesario
para disparar la señal de salida. Se realiza mediante el potenciómetro ajustable
P1.
Tras conectar la alimentación, es necesario que se espere un mínimo de
100ms antes de procesar la señal de salida, ello es debido a que el circuito
necesita de ese tiempo para su propia estabilización y durante el cual se
pueden generar falsas señales de disparo.
Sensor de luz
Se trata de un dispositivo sensor de luz visible basado en el
fototransistor BPW40. El circuito se alimenta con una tensión de 5V. La
variación de luz ambiente detectada por el fototransistor es acondicionada y
amplificada para proporcionar a la salida una tensión variable entre 0,1 V y 5V
en función de dicha variación.
La tensión de salida se obtiene por la salida (conexión 3 de la borna) y puede
ser tratada de forma analógica o digital en los posteriores procesos de
automatización y control.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
51
Figura 29 Sensor de luz MSE-S130
Sensor de presencia PIR
PIR Sensor de Parallax es un sensor piroeléctrico que detecta
movimiento mediante un material cristalino que genera una pequeña carga
eléctrica cuando es expuesto al calor en forma de radiación infrarroja. La salida
del sensor se puede configurar mediante un jumper para que sea activo por
nivel alto o bajo.
Figura 30 Sensor de presencia PIR
Parámetro Valor
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
52
Tensión alimentación 5 - 3.5V
Consumo activo 100μA
Tensión salida nivel alto >2.5
Tensión salida nivel bajo 0
Distancia máxima de detección 6m
Tabla 9. Características técnicas del sensor de proximidad.
El sensor PIR requiere de un tiempo de estabilización. Este tiempo será
de unos 10 a 60 segundos, durante este periodo no se debe dar situaciones de
movimientos sobre el campo de visión del sensor. El sensor PIR tiene un rango
aproximado de unos 6 metros, este rango puede variar dependiendo del
entorno.
Alimentación
Se ha comprobado que todos los sensores a excepción del sensor de
presencia PIR, pueden funcionar a tensiones de alimentación menores de 5
voltios, incluso menores de 3 V. Esto hace posible que los nodos puedan ser
alimentados mediante pilas recargables.
Interfaces
Tanto el sensor de temperatura como el acelerómetro presentan
interfaces I2C. Se ha utilizado para la obtención de la temperatura, y los datos
del acelerómetro. Para este último, además, se ha monitorizado la interrupción
en caída libre.
El interfaz I2C, o Inte-Integrated Circuit, presenta un bus donde un
dispositivo maestro puede interactuar con más de un dispositivo esclavo.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
53
Inventado por Philips, presenta dos líneas para la comunicación: SDA (Serial
Data Line) y SCL (Serial Clock Line).
Figura 31 Esquema de conexión I2C
Existe la posibilidad de gestionar hasta 112 dispositivos simultáneos a
través de este bus. El resto de sensores presentan salidas a niveles estables,
por lo que se pueden asimilar a salidas digitales. El micro PAN4555 presenta
varias entradas digitales. Se ha optado por utilizar una de ellas para la
monitorización de las señales de los distintos sensores.
Software del prototipo Tarjetas Inalámbricas 802.15.4
Introducción
A continuación se detalla el software necesario para poder llevar a cabo la
programación de un nodo.
Software de Aplicación
Beekit
Beekit es una herramienta de trabajo para aplicaciones de conectividad
inalámbrica que genera un código base a través de una interfaz gráfica de
usuario. Esta herramienta genera un espacio de trabajo con archivos que
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
54
pueden ser integrados en un entorno de desarrollo integrado para continuar con
su desarrollo y posterior depurado.
Figura 32 Ventana de Beekit
Al iniciar un nuevo proyecto mediante Beekit te permite seleccionar entre
varias tecnologías de Freescale, seleccionamos el codebase deseado, en el
caso del proyecto Minerva HCS08 MAC Codebase 1.0.4. Tras elegir el
codebase nos aparecerá una ventana donde se selecciona la aplicación base
de nuestro proyecto, sobre la cual realizaremos los cambios oportunos para
ajustarlo a nuestras necesidades.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
55
Figura 33 Selección de aplicación Beekit
A continuación aparecen distintas ventanas de configuración sobre
características del nodo, como por ejemplo: selección de target, velocidad de la
UART, dirección MAC del nodo, dirección PAN ID, etc.
Tras haber configurado los principales módulos que forman parte de la
plataforma, se finaliza y se obtendrá la solución creada con las características
elegidas en los pasos anteriores. En el recuadro Solution Explorer de la interfaz
principal de BeeKit se pueden ver todas estas características.
El último paso en el uso de este programa es el de exportar la solución,
para poder utilizarla en CodeWarrior. Para ello, hay que seleccionar en el menú
Solution Export Solution…, y creará los ficheros necesarios en la carpeta
que se indicó inicialmente para su posterior importación.
Codewarrior
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
56
CodeWarrior Development Studio for Microcontrollers es una
herramienta integrada con la finalidad de conseguir un diseño rápido con los
microcontroladores RS08, HC(S)08 y ColdFire, de Freescale.
Permite la creación de proyectos de trabajo de una manera muy fácil,
construir un sistema con compiladores C/C++ optimizados, permite el uso de
lenguaje Ensamblador, depurador gráfico con niveles del código, soporte para
programación de la Flash, simulación completa de cualquier microcontrolador,
visualización de los datos, contiene herramientas para inicializar nuestro micro,
sus periféricos internos y externos.
Mediante Codewarrior se modifica el código base generado con la
herramienta Beekit de acuerdo a las especificaciones de la red.
Una vez inicializado el CodeWarrior, para importar un proyecto que ha
sido creado con BeeKit, como se ha descrito en el apartado anterior, se pulsará
FilesImport Project…, donde aparecerá una nueva ventana, en la que se
seleccionará la ruta elegida anteriormente para ubicar nuestro proyecto y se
buscará el archivo con extensión xml. En un paso posterior se pedirá guardar el
proyecto en un nuevo archivo con extensión mcp, que es el que usa
CodeWarrior para abrir la aplicación importada.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
57
Figura 34 Ventana principal de Codewarrior
True-Time Simulator & Real-Time Debugg.
Se trata de un depurador y simulador en tiempo real de
microcontroladores. La mayor característica de este software es que permite un
paso a paso, viendo las distintas variables que forman la aplicación y los
valores de los registros de microcontrolador que se emplee.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
58
Figura 35 Ventana principal de True-Time Simulator & Real-Time Debugg
En el caso de que haya errores en la simulación respecto a lo aplicación
deseada, se volverá al CodeWarrior para corregirlas, compilar de nuevo el
proyecto y volver otra vez a esta interfaz para continuar depurando la
aplicación.
Secuencia de instalación
Para programar el microcontrolador de los nodos inalámbricos
necesitamos un soporte hardware, Multilink P&E Micro.
Mediante el Multilink P&E Micro se carga la aplicación generada en el Beekit y
modificada mediante Codewarrior, en el microcontrolador. Permite comunicar
un microcontrolador cuya frecuencia de bus se encuentra entre los 32 KHz y 35
MHz. Los dispositivos de P&E detectan automáticamente la frecuencia a la que
conecta con la plataforma. Necesita que la tensión de alimentación se
encuentre entre los 1.6V y los 5.25V.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
59
Debugger Multilink de P&E Micro
Posee dos LEDs en la carcasa, uno es de color azul que indica que el
Multilink está alimentado y funcionando, otro es de color amarillo que indica que
la plataforma está alimentada y ha sido detectada.
Al conectar el depurador, este dispositivo será automáticamente detectado por
el sistema operativo llamado como “P&E USB Device”. Si lo se conecta antes
de instalar los controladores no se detectará la unidad.
Para empezar a trabajar con el dispositivo se debe seguir los siguientes pasos:
Comprobar que la plataforma está apagada y que ninguna interfaz está
conectada.
Conectar el Multilink a la plataforma con el conector de 6 pines. Asegurarse de
que la numeración de los pines es correcta.
Conectar el Multilink al PC a través del cable USB. Entonces el LED azul se
encenderá.
Encender la plataforma, el LED amarillo se encenderá.
Tras terminar de usar el dispositivo, antes de desconectar los cables hay que
apagar la plataforma.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
60
Figura 36 Debugger Multilink de P&E Micro
Pasarela
Introducción
Como se ha comentado, la pasarela es un pequeño sistema embebido
con un micro ARM. Todo el software que hemos usado se ha realizado en C
estándar, compilando después para la plataforma adecuada con un cross-
compiler.
Sistema Operativo y Firmware
La pasarela cuenta con un Linux Embedde 2.4. es una versión reducida
en aplicaciones, pero con todas las funcionalidades básicas. No presenta
usuarios, solo usuario root. Tiene un sistema de archivos en la memoria Flash
ext2.
Software de comunicaciones
Las librerías que vienen en el Kit de desarrollo permiten el acceso a todas los
puertos de comunicaciones de la pasarela. Existen, además, ejemplos de
software para las comunicaciones. Se ha utilizado uno de ellos para el envío y
la recepción de SMS por el modem GSM, mientras que para la comunicación
serie con el coordinador se ha optado por crear nuestra propia API, usando el
sistema Linux como base. (se “escribe” en el fichero del puerto serie).
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
61
Software de Aplicación
El software que gestiona la pasarela ha sido escrito totalmente en
lenguaje C, puesto que permite controlar a muy bajo nivel el hardware
empleado. Está compuesto por nueve ficheros de código y once cabeceras de
definiciones. El main() está en el fichero pasarela.c . Los nombres de los
ficheros son indicativos de sus funciones y están recogidos en los anexos.
Figura 37 Ficheros de la aplicación.
Tanto LoadGSMfunctions, LoadIOfunction, LoadLibrary,
LoadRTUfunction como UserErrors han sido tomados del Kit de Desarrollo de
Owasys. Se encargan de la carga de las librerías iniciales: GMS, puerto serie,
etc…
Descripción de la aplicación:
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
62
La función main(), tras realizar la carga de las distintas librerías para el
inicio del modem GSM, de la conexión GPRS y del puerto serie, espera a que
el coordinador mande una señal de inicio.
Tras esta señal, pone en funcionamiento dos hilos: uno para la
recepción de datos por el puerto serie y otro para la recepción por mensajes
SMS. También es lanzado un hilo para el mantenimiento.
El programa entra en un bucle a la espera de las señal del hilo de
recepción del SMS(GSM_SMS.c), interpretando dicha señal (intermedio.c) se
manda un comando por el puerto serie (puertoserie.c) correspondiente a la
orden del SMS. En el hilo del puerto serie, a su vez, se espera la llegada de un
dato por el puerto serie (puertoserie.c), e interpretándolo (intermedio.c) lo
manda vía SMS (GSM_SMS.c).
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
63
Figura 38 Esquema del programa de pasarela.
De esta forma se realiza la función principal de la pasarela: reenviar los
mensajes de la red sensorial a la red GSM mediante mensajes SMS.
Secuencia de compilación
El proceso de compilado, como se ha comentado anteriormente, se
realiza con el cross-compiler para el procesador ARM. Desde la plataforma
Eclipse se puede realizar cambiando la localización del compilador.
Figura 39 Ajustes para el cross-compiler
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
64
Para realizar correctamente la compilación del programa hay que especificar la
posición de los ficheros de cabecera proporcionados por el fabricante (-I) en los
comandos el compilador gcc. Para el linker hay que especificar, además de la
posición de las librerías (-L) las opciones -lpthread y -ldl para el lincado
multithread del programa.
La escritura de la memoria flash se puede hacer fácilmente a través del
sistema operativo Linux embebido. Se han utilizado dos métodos: a través del
protocolo scp via telnet, o con la descarga, desde el propio sistema (mediante
wget) de los ficheros puestos en un servidor web externo.
Secuencia de arranque
El programa compilado se ejecuta en la sesión de arranque en el propio
Línxu. Tras iniciar el módulo de puerto serie, se lee un fichero donde está el
PIN de la tarjeta SIM integrada en el Modem GSM de la pasarela. Además
existe otro fichero con el número de teléfono correspondiente al punto de
acceso de Minerva RedBox. El programa trasmite logs a la pantalla terminal.
Estos mensajes se pueden ver realizando un Telnet a la pasarla. Nos va
indicando todos los pasos de carga de datos.
Como se ha comentado anteriormente, el programa espera, tanto un
SMS a través del Modem GSM como un mensaje del puerto serie. En
cualquiera de los casos se imprime en la pantalla el contenido del mensaje por
la salida estándar. De esta forma se puede seguir la lógica del programa.
Servidor
Introducción
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
65
Para gestionar los SMS mandados desde el cliente y desde la pasarela
a través de RedBox se ha diseñado una aplicación en un servidor que
transforme los mensajes en uno y otro sentido y permita una monitorización de
lo que se realiza.
Sistema Operativo y servicios.
En el servidor corre un Linux Debian con un kernel 2.6 sin consola
gráfica. Se ha instalado un servidor de Tomcat 6.0 y un servidor Apache2.
Además posee un Base de Datos MySQL 5.0.32 así como un servicio conexión
SSH mediante Openssh y un server SCP para el envío seguro de archivos.
El servidor acepta las conexiones mediante ssh, por lo que se pueden
realizar túneles para su conexión. Los puertos de escucha se definen en la
siguiente tabla.
Aplicación Puerto
Apache2 80
Tomcat 8080
MySQL 3306
SSH 9876 Tabla 10. Puertos del Servidor
Desde el exterior, el firewall se ha configurado para poder reenviar las
llamadas al puerto 80 al servidor. A su vez, Apache está configurado para
reenviar las direcciones correspondientes a Tomcat. El acceso a la base de
datos, no obstante, queda detrás del firewall y solo es accesible mediante
túneles ssh.
Software de Aplicación
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
66
Sobre el Server Tomcat se ha desplegado una aplicación Web dinámica
llamada access4zb. La aplicación consta de una serie de páginas estáticas,
dinámicas y de servlet de java.
Figura 40 Aplicación Web Dinámica
La aplicación de ha realizado en tecnología JavaServer Page (JSP). Las
páginas JSP se componen de partes en código HTML y parte en código Java
que vendrá interpretado en el servidor en tiempo de ejecución. Esta tecnología
es muy potente, puesto que permite utilizar toda las clases de java disponibles.
Las clases de java están precompiladas y serán llamadas en tiempo de
ejecución. Para este tipo de páginas se emplean servidores como Tomcat o
Jboss que proporcionan a los clientes las páginas en formato HTML como
resultado final.
Se ha implementado también una base de datos MySQL para almacenar
todos los datos del sistema. La base de dato contiene las tablas de mensajes
de RedBox, la de SMS recibidos, la de listado de teléfonos, la de el estado de
los nodos y la de las peticiones enviada a la red.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
67
De esta forma, desde la aplicación el usuario puede interactuar con los
distintos elementos del sistema:
Gestión de teléfonos de usuarios (listado, inserción de nuevos clientes, alta en
notificaciones.).
Envío de SMS directamente a través de Minerva.
Registro de mensajes recibidos. Son los mensajes tal como vienen de RedBox,
tanto SMS como notificaciones.
Registro de SMS recibidos tras elaborar los mensajes de la red e identificar los
elementos.
El estado de los nodos. Analizando los mensajes de la red se puede establecer
el estado de los nodos.
Los nodos transmite tres tipos de mensajes a la aplicación:
Respuestas a lecturas de sensores. En nuestro caso de temperatura. Indicación de activación de los otros sensores: movimiento, ruido, presencia,
acelerómetro, etc.. Confirmación de actuación: estado del LED en nuestro caso.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
68
Estos tres elementos viene visiblemente representados en un esquema
de una residencia hipotética con los sensores. Determina así el carácter
residencial del proyecto.
Tabla 11. Simulación de los sensores en una residencia
Cuando la aplicación se inicia, se llama, por defecto, a un servlet definido en un
archivo de configuración como listener. Este servlet, que no es más que una clase de
java con una herencia determinada, proporcionará la conexión a la base de datos
MySQL para todos los elementos de la aplicación: teléfonos, nodos, sms, mensajes,
etc. <?XML VERSION="1.0" ENCODING="UTF-‐8"?>
<WEB-‐APP XMLNS:XSI="HTTP://WWW.W3.ORG/2001/XMLSCHEMA-‐INSTANCE" XMLNS="HTTP://JAVA.SUN.COM/XML/NS/JAVAEE" XMLNS:WEB="HTTP://JAVA.SUN.COM/XML/NS/JAVAEE/WEB-‐
APP_2_5.XSD" XSI:SCHEMALOCATION="HTTP://JAVA.SUN.COM/XML/NS/JAVAEE HTTP://JAVA.SUN.COM/XML/NS/JAVAEE/WEB-‐APP_2_5.XSD" ID="WEBAPP_ID" VERSION="2.5">
... <LISTENER>
<LISTENER-‐CLASS>MINERVA.CONTEXTLISTENER2</LISTENER-‐CLASS> </LISTENER> </WEB-‐APP>
Figura 41 Fichero de configuración web.xml
Se ha creado un paquete java con una serie de clases para manejar los
sms, los teléfonos, los comandos, los estados de los nodos, etc. En esta clase
se apoyan los servlet jsp para la recepción de mensajes provenientes de la red
Minerva. En el proceso de gestión del proyecto se ha definido una página web
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
69
donde Minerva hará las peticiones de los mensajes y una palabra clave para
identificarlos. Esta aplicación puede ser independiente, pero por comodidad se
ha incluido en el mismo servidor y bajo el mismo proyecto.
Cuando se ha definido el proyecto en Minerva, para la recepción de
mensajes de parte de la aplicación, se configuró la página
www.maria.gte.us.es/access4zb/recibir.jsp y la palabra clave VICE.
Puesto que la aplicación web discrimina entre mensajes recibidos por el
cliente móvil y por la pasarela, se ha implementado dos páginas, cliente.jsp y
pasarela.jsp, para gestionar los mensajes de uno y otro tipo. Estos mensajes
vienen interpretados, en base a unas palabras claves preestablecidas y
archivadas en el servidor mediante un fichero xml (sms.xml). De esta forma, el
cuerpo de los mensajes puede ser cambiado sin necesidad de recompilar la
ampliación.
Figura 42 Estructura de los sms
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
70
A través de los SMS recibido de la pasarela, el estado de los nodos y la
componente física de sus sensores viene recogida en la base de datos. Esto
permite visualizar el estado de los nodos en el mapa antes citado.
Para el envío de SMS a través de Minerva, se ha generado
automáticamente una clase de java mediante un plug-in de Eclipse llamado
Axis 2.0 a través del servicio web proporcionado por RedBox/Minerva en el
descriptor de servicios WDSL.
Figura 43 Plug-in Axis de Eclipse
Los servicios webs se caracterizan por ofrecer determinados procesos
ejecutados localmente a otras máquinas. El intercambio de información se
realiza mediante ficheros xml. El servicio tiene una descripción estandarizada
en el formato WSDL para definir los parámetros de entrada y salida del servicio
web. Mediante el plug-in Axis se genera las clases de java que utilizarán el
servicio web basándose en la correspondiente descripción.
En nuestro caso el proceso genera dos clases que se utilizarán para
enviar los SMS a través de Minerva.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
71
Uso RedBox
Introducción
La red RebBox se utiliza para el envío y recepción de mensajes SMS,
MMS y LBS desde la red móvil a la aplicación servidor. Mediante un servicio
Web descrito con un WDSL se envían los mensajes y se reciben mediante
peticiones POST a un servidor predeterminado.
Figura 44 Estructura de RedBox/Minerva
Uso de Minerva/RedBox
La red sensorial IEEE 802.15.4 viene dotada de una apertura universal
mediante la pasarela y la red Minerva. El acceso al control y a la información de
la red a través de SMS es una utilidad añadida a la red de sensores que la
hacen accesible desde cualquier terminal móvil, haciendo posible interactuar
con la red desde cualquier posición. La recepción de alarmas en tiempo
mínimo, en un lenguaje comprensible y la posibilidad de comandar acciones
mediante simples mensajes dotan a la red sensorial de un potencial mayor.
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
72
RedBox permite además un único punto da acceso para múltiples
pasarelas, controlando los clientes que acceden a los servicios, haciendo un
uso óptimo de los recursos proporcionados por la red. No se necesita conocer
la estructura interna de la red, ni la configuración de la pasarela, sino
solamente el teléfono de acceso de Minerva/RedBox y los códigos SMS
preestablecidos.
Elementos de Minerva/RedBox.
Como se ha indicado anteriormente, Minerva/RedBox permite el envío y
la recepción de SMS, MMS y LBS. Para nuestra aplicación se ha utilizado
solamente los mensajes cortos, bien sean SMS-MO (enviados por el usuario
móvil) o SMS-MT (enviados por la red). Además la red proporciona una serie
de notificaciones que también serán gestionados por la aplicación.
Para el envío de SMS-MT se ha utilizado el descriptor de servicios
proporcionado por Minerva antes tratado y un punto de acceso SOAP donde
enviar los parámetros de los mensajes mediante campos XLS.
<?XML VERSION="1.0" ENCODING="UTF-8"?>
<SOAP:ENVELOPE XMLNS:XSI="HTTP://WWW.W3.ORG/2001/XMLSCHEMAINSTANCE"
XMLNS:XSD="HTTP://WWW.W3.ORG/2001/XMLSCHEMA"
XMLNS:SOAP="HTTP://SCHEMAS.XMLSOAP.ORG/SOAP/ENVELOPE/">
<SOAP:BODY>
<ENVIOSMS XMLNS="HTTP://193.147.165.85:9002/MINERVA">
<CODIGO_CUENTA>STRING</CODIGO_CUENTA>
<CLAVE_CUENTA>STRING</CLAVE_CUENTA>
<CODIGO_CANAL>STRING</CODIGO_CANAL>
<NUMERO_DESTINO>STRING</NUMERO_DESTINO>
<CONTENIDO_SMS>STRING</CONTENIDO_SMS>
<PERMANENCIA>INT</PERMANENCIA>
<FECHA_HORA_ENVIO>DATETIME</FECHA_HORA_ENVIO>
<EMERGENTE>BOOLEAN</EMERGENTE>
<ACUSE>BOOLEAN</ACUSE>
</ENVIOSMS>
</SOAP:BODY>
Figura 45 xml de envió de SMS
INTEGRACIÓN DE REDES SENSORIALES EN LA PLATAFORMA MINERVA
73
Entre los elementos fundamentales del mensaje, está el código de
cuenta y la clave, necesarios para la tarificación del servicio ofrecido por
Vodafone, y el contenido del mensaje. Para completar el xml que se enviará a
la Red, se utilizarán la clase previamente creada.
La red responderá con un ACK o NACK según el mensaje haya sido o
no aceptado. Los menajes de notificación de parte de la red entregan en un
punto de acceso preasignado, que puede ser o no el mismo que el de
recepción de mensajes.
Para la recepción de mensajes de parte de los móviles, SMS-MO, se ha
definido un punto de acceso en nuestra aplicación. Como se ha comentado
anteriormente, se ha creado un página jsp que espera, como parámetros los
datos del mensaje recibido.
RedBox/Minerva tiene un único punto o teléfono de recepción de SMS,
pero mantiene una discriminación según una palabra clave al inicio del cuerpo
del mensaje. Enviará el mensaje al punto de acceso definido para el proyecto
como una petición POST con una serie de parámetros.
WWW.MARIA.GET.US.ES/ACCESS4ZB/RECIBIR.JSP?TIPO=SMSMO&SOURCE_ADDRESS=34654123
456&MESSAGE_BODY=INFORMACION%20TRAFICO&DATE=14%2F06%2F2007&TIME=13%3A5
8&REDBOX_CONTEXT_ID=PAS11A117439550611504&DESTINATION_ADDRESS=600124456
Figura 46 Petición de mensaje desde RedBox
En la petición se indica el tipo de mensaje (SMS-MO), el teléfono que lo
envía, el cuerpo del mensaje y diversa información de control. Toda esta
información viene interpretada por la página del servidor, como se ha
comentado anteriormente.