50
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

Diseño e implementación del Prototipobibing.us.es/proyectos/abreproy/11965/fichero... · INTEGRACIÓNDE*REDES*SENSORIALESEN*LAPLATAFORMAMINERVA* 24 * Diseño e implementación del

  • 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.  

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.