EVENTOS
Introducción
De forma concisa se desea brindar una herramienta para la extracción automática de datos de un RPE de forma inalámbrica, de tal forma que los datos extraídos serán almacenados en una computadora para su uso posterior. Eliminando el uso de cables, se conseguirá optimizar la velocidad de extracción de información en todo momento, con más confiabilidad en el medio de comunicación. Los datos estarán siempre actualizados en una computadora.
El aporte del proyecto para el Sistema de Transporte Colectivo (Metro) es garantizar que la información de los sucesos de los trenes esté siempre disponible, valiéndose de medios tecnológicos modernos.
Tecnología Seleccionada y sus Características
A continuación se muestra la tabla 6 donde se describen las características de las tecnologías analizadas en este capítulo con el fin de especificar bajo cuáles de ellas se han tomado en cuenta para elegir Zigbee.
Estandar Bluetooth ZigBee Wi-Fi
IEEE 802.15.1 802.15.4 802.11a/b/g
Banda de frecuencia 2.4Ghz 868/915Mhz; 2.4Ghz 2.4Ghz; 5ghz
Velocidad máxima de la señal 1 Mbps 250kbps 54kbps
Rango de distancia 10 – 100 m 10 – 1500 m 100 m
Potencia de transmisión 0 - 10 dBm (-25) – 0 dBm 15 -20 dBm
Ancho de banda de canal 1 Mhz 0.3/0.6 Mhz; 2Mhz 22 Mhz
Tipo de modulación GFSK BPSK(+ASK); O-QPSK BPSK; QPSK; COFDM; CCK; M- QAM
Difusión FHSS DSSS DSSS, CSK, OFDM
Mecanismo de coexistencia Salto de frecuencia adaptable Selección de dinámica de frecuencia
Selección de dinámica de frecuencia; control de potencia
(802.11h)
Redes Básicas Piconet Star BSS
Extensión de redes básicas Scatternet Cluster tree, Mesh ESS Número máximo de nodos por
red básica 8 >65000 2007
Tipo de encriptación E0 Secuencia de cifra AES block cipher (CTR, modo de contador)
RC4 Secuencia de cifra (WEP); AES block cipher Autenticación Shared secret CBC-MAC (Ext de CCM) WPA2 ( 802.11) Protección de datos 16 bits - CRC 16 bits - CRC 32 bits - CRC
Tabla 6. Cuadro comparativo de las tecnologías Bluetooth, ZigBee, y Wi-Fi.
De los aspectos importantes que se tomaron en cuenta fueron el alcance de la señal ya que el sistema requiere cubrir distancias en un rango de15m hasta 100m; este requerimiento es cubierto por las opciones mostradas en el cuadro. Al ser Bluetooth y Wi-Fi una tecnología de mayor uso y difusión por usuarios particulares, se han desarrollado métodos para interceptar información, dejando a ZigBee totalmente al margen de esta anomalía, lo cual para el proyecto lo vuelve más confiable.
Otra característica importante es la interconexión entre dispositivos, que en este caso requiere conexiones con varios dispositivos por el número elevado de registradores a los que se tiene que solicitar extracción de información. La encriptación y autentificación también son aspectos que interesan para la seguridad del sistema. Zigbee sin lugar a dudas es la tecnología que mayores beneficios aporta en la implementación, además la facilidad de configuración, y rentabilidad para los propósitos de realizar una extracción confiable y con mayor eficiencia.
ZIGBEE vs. BLUETOOTH
ZigBee es muy similar al Bluetooth pero con algunas diferencias:
Una red ZigBee puede constar de un máximo de 65535 nodos distribuidos en subredes de 255 nodos, frente a los 8 máximos de una subred (Piconet) Bluetooth.
Menor consumo eléctrico que el de Bluetooth. En términos exactos, ZigBee tiene un consumo de 30mA transmitiendo y de 3uA en reposo, frente a los 40mA transmitiendo y 0.2mA en reposo que tiene el Bluetooth. Este menor consumo se debe a que el sistema ZigBee se queda la mayor parte del tiempo dormido, mientras que en una comunicación Bluetooth esto no se puede dar, y siempre se está transmitiendo y/o recibiendo.
Xbee
Los módulos XBee de MaxStream se tratan de transmisores y receptores de baja potencia y tienen como objetivo las aplicaciones que requieren comunicaciones seguras con baja tasa de envío de datos y maximización de la vida útil de sus baterías.
Además permiten enlaces seriales de señales TTL en distancias de 30 metros en interiores, 100 metros en exteriores con línea de vista y hasta 1.5 Km con los módulos Pro. Es ideal para conexiones con diversos tipos de topología, lo que a su vez lo hace más seguro, barato y que no haya ninguna dificultad a la hora de su construcción porque es muy sencilla.
Los módulos XBee utilizan el protocolo IEEE 802.15.4 mejor conocido como ZigBee. El objetivo de los módulos con la implementación de la tecnología ZigBee es crear redes tipo mesh que tengan las propiedades de auto-recuperación y bajo consumo de energía.
De fábrica cada módulo XBee viene configurado con un PAN ID (el identificador de la red personal) de 3332 y configurados con una tasa de transferencia de 9600 baudios, con datos de 8 bits, sin paridad y 1 bit de paro.
Ahora teniendo en cuenta las características de Zigbee, y las características básicas de los módulos Xbee, seleccionados, se puede decir que se tienen los materiales esenciales para el desarrollo del proyecto. Con lo que se proseguirá a realizar un esquema general de la elaboración y diseño del presente trabajo.
Diagrama de Flujo
El diagrama de flujo es una representacion grafica que se utiliza para hacer de manera mas especifica, practica y comprensible el funcionamiento de en este caso nuestro proyecto.
A continuacion se muestra un diagrama de flujo donde se muestran las acciones que el prototipo debe incluir en su funcionamiento para los propositos que se han planteado la elaboracion de dicho prototipo.
Figura 18. Diagrama de flujo del proceso de extracción.
Diseño de Hardware
Se muestra a continuación de manera precisa y práctica lo que concierne a la parte física del prototipo, con el fin de identificar, especificar su diseño, su elaboración, y las consideraciones respecto al mismo.
Diagrama a bloques
Figura 19. Diagrama a bloques del sistema.
Básicamente el sistema se ha conformado por dos bloque fundamentales que permiten la trasferencia inalámbrica de los datos, por un lado se tiene el Registrador de eventos asociado al modulo de RF transmisor, y por el otro lado se tiene al modulo de RF receptor asociado al sistema que almacena la información, como se muestra en la figura 19.
Bloque RFT
Se trata del bloque de transmision que consta principalmente de el modulo de transmision xbee, y su placa de exploracion con sus respectivos componentes de acuerdo a la hoja de especificaciones de xbee. A continuacion se especifica en forma de lista los componentes especificos que conforman el bloque de RFT y sus caracteristicas técnicas.
Circuitos integrados
XB1 --- XBP24-AWI- 001, XBEE PRO serie 1. 100mW.
IC1 --- FT232R, Conversor USB serie, emulador de puerto serie IC2 --- LD1117, Regulador de voltaje a 3.3v
Conectores y Puertos
X1 --- Mini USB, Conector tipo hembra
Capacitores
C1 --- 10uf/16v, Electrólitico de Tantalio. C2 --- 10uf/16v, Electrólitico de Tantalio. C3 --- 10uf/16v, Electrolítico de Aluminio. C4 --- 0.1uf/50v, cerámico. C5 --- 0.1uf/50v, cerámico. C6 --- 0.01uf/50v, cerámico. Resistencias R1 --- 68 Ω, 1/4W R2 --- 68 Ω, 1/4W R3 --- 68 Ω, 1/4W R4 --- 68 Ω, 1/4W Diodos
LED1 --- Color verde difuso. 5mm. LED2 --- Color Azul. 5mm.
LED3 --- Color rojo difuso. 5mm. LED4 --- Color Amarillo. 5mm.
A continuación se muestra un diagrama esquematico del diseño y las conexiones del módulo, y los pines con la placa de exploracion.
Figu ra 20 D iag ra ma de c omun ic ac ión X B E E y r eg is tr ad or d e ev en to s elec tr ón ic os .
Como se observa en el diagrama, la primera etapa es de regulación y puede ser alimentada con 5volts y brindar al modulo 3.3volts necesarios para su operación. Posteriormente por medio del circuito integrado MAX3232 se acoplan las señales de entrada y salida del registrador de eventos electrónicos el cual trabaja con protocolo RS232, dicho protocolo tiene niveles de tensión que va de -15volts a 15volts, este integrado por lo tanto convierte los 15volts a 3.3volts y -15volts o 0volts que son los niveles que soporta el módulo XBee.
A continuación se muestra el diseño del circuito impreso elaborado en el programa Proteus (Ares), y una imagen real de la placa y el modulo xbee.
Figura 21. Circuito impreso Imagen bottom y top respectivamente.
Bloque RFP
Se trata del bloque de recepcion que consta principalmente de el modulo de xbee, y su placa de exploracion con sus respectivos componentes de acuerdo a la hoja de especificaciones de XBee. A continuacion se especifica en forma de lista los componentes especificos que conforman el bloque de RFP y sus caracteristicas técnicas.
Circuitos integrados
XB1 --- XBP24-AWI- 001, XBEE PRO serie 1. 100mW. IC1 --- LD1117, Regulador de voltaje a 3.3v
IC3 --- MAX3232, Convertidor de protocolo, velocidad máxima 250kbps.
Conectores y Puertos
X1 --- DB9, Conector tipo hembra.
J1 --- power Jack, conector para alimentación 5v – 12v.
Capacitores
C1 --- 0.1uf/25v, Electrolítico de Alumino. C2 --- 0.1uf/25v, Electrolítico de Alumino. C3 --- 0.1uf/25v, Electrolítico de Alumino. C4 --- 0.01uf/50v, Cerámico.
C6 --- 10uf/16v, Electrolítico de Alumino. C7 --- 10uf/16v, Electrólitico de Tantalio. C8 --- 10uf/16v, Electrólitico de Tantalio. C9 --- 0.1uf/25v, Electrolítico de Alumino. C10 --- 0.01uf/50v, Cerámico. Resistencias R1 --- 68 Ω, 1/4W R2 --- 68 Ω, 1/4W R3 --- 68 Ω, 1/4W R4 --- 68 Ω, 1/4W Diodos
LED1 --- Color verde difuso. 5mm. LED2 --- Color Azul. 5mm.
LED3 --- Color rojo difuso. 5mm. LED4 --- Color Amarillo. 5mm.
Figu ra 23 . D iag ra ma d e co mun ic ac ión X B E E y P C .
Aprovechando la alimentación del puerto USB de 5v por medio de un regulador de voltaje LD117 se logra convertir a 3.3volts, como se señaló en el párrafo anterior, los módulos requieren de estos niveles de voltaje para funcionar. El circuito integrado FT232RL permite una conversión entre protocolos, básicamente simula un puerto serial, la principal ventaja que brinda es poder hacer la instalación del sistema en la mayoría de las computadoras de actualidad y sin la necesidad de una fuente externa de alimentación.
Para el diseño del circuito impreso se ocupó un paquete de programas llamado proteus 7 profesional, para la parte de diseño en específico fue ocupado ARES. Los resultados se muestran a continuación.
A)
B)
Figura 24. A) Vista desde la parte inferior (Bottom), y B) vista real de la placa de exploración y el modulo Xbee.
Diseño de la base de datos
Tablas
Campos, Tipos de datos y Relaciones
Los datos que serán extraídos desde los Registradores Electrónicos de Eventos y almacenados en una base de datos pueden clasificarse de acuerdo al tipo de datos que, dependiendo de la información contenida en ellos, mejor se adapte a las necesidades. Siendo necesario generar hasta dos tablas: una para los trenes atendidos, otra que contenga información acerca del registrador, una más para los datos contenidos en el RPE y resultados en procesos de extracción.
Al usar MySQL como Sistema de Gestión de Datos, y SQL como lenguaje de consulta, se proponen los tipos de datos de acuerdo a los campos requeridos. La versión del software a utilizar será mysql-5.0.51b-win32. Las tablas son:
1. Tabla Trenes: Contiene información acerca de los convoyes que circulan en el
sistema. Se les puede identificar con los siguientes campos:
a. Id_Tren: Almacena el numero identificador para un tren completo. Este
campo será una clave primaría, al existir un único numero relacionado con un tren en particular. El campo es de tipo entero, sin signo, de 4 bytes, auto incrementable y no admite valores nulos.
b. Nombre_Tren: Conformado por dos números y un carácter que las
separa. El tipo de dato adecuado para este campo es varchar con una
longitud de 7 bytes, sin valores nulos. Un ejemplo es para el tren 045- 046.
c. Línea: Un dato de tipo entero para anotar la numeración de la línea por
la que circula el tren. Este campo no debe admitir valores nulos.
d. Modelo: Representado con cuatro caracteres, que puede tener
números y letras, requiere un tipo de dato varchar con longitud de 4
bytes.
2. Tabla RPE: Contiene información básica acerca del dispositivo que conforma
a un registrador:
a. Id_RPE: Numero entero de 4 bytes, sin signo, no permite valores nulos,
auto incrementable; identifica a un dispositivo Registrador Electrónico de Eventos de otros. Su función es de clave primaria.
b. Id_Tren: Este campo tiene el mismo formato que su campo homónimo
ubicado en la tabla Trenes. Esto es, para poder crear una relación entre
ambas tablas. Con esto se evita la redundancia de datos y se traduce en un ahorro de espacio de almacenamiento.
c. No_RPE: Además de matricular a los trenes, también se colocan
identificadores numéricos a los registradores. El tipo de dato adecuado es entero sin signo, para cubrir seis cifras.
d. Software: Nombre del programa con el cual el registrador trabaja. Se
requiere un tipo de dato varchar de 6 bytes.
e. Carro: Nombre del carro donde se localiza al registrador. Con una
longitud de 6 bytes y tipo de dato varchar se puede representar este
dato.
3. Tabla Datos: Contiene los datos extraídos de un registrador, que
corresponden a todos los procesos que un tren ha tenido en un periodo de tiempo. Es necesaria información adicional, que no proporciona el Registrador Electrónico de Eventos, para llevar un control acerca de los procesos de extracción efectuados:
a. Id_Orden: Este campo contiene el número que identifica de manera
única un proceso de extracción de datos. También funcionará como clave primaria.
b. Id_Tren: De forma similar que en la tabla anterior, en esta tabla se
añade un campo que ayude a relacionar un proceso de extracción con su tren.
c. Kilometraje: Un valor integer unsigned cubre el requerimiento para
números de hasta seis cifras que representan un aproximado del kilometraje recorrido. No se admiten valores nulos y su longitud es de 4 bytes.
d. Fecha: Este campo guarda la fecha en que al tren se le extrae
información. En SQL existe un tipo especial para almacenar un conjunto de números que representen un año, mes y día, llamado date.
No se admitirán valores nulos para este campo.
e. Hora: Similar al campo anterior, un tipo de dato llamado time que ayuda
a representar horas en formato de veinticuatro. Este campo y el campo Fecha ocupan 3 bytes cada uno. Sirve para guardar la hora de la extracción para un tren.
f. Directorio: Para algunas extracciones, un registrador puede utilizar una
de entre dos aplicaciones externas (software) que generan archivos especiales de datos. Se generan carpetas en una unidad de almacenamiento de acuerdo al nombre del tren operado, dentro también se generan carpetas según la fecha y los archivos de la aplicación se guardan en ellas. Este campo guarda una ruta de ubicación para tales archivos, requiriendo un tipo de dato varchar. La
longitud queda así: 3 bytes para la raíz de almacenamiento, 7 bytes para el nombre de carpeta tren, 4 bytes del numero de orden, 3 bytes para el nombre completo del archivo con extensión y 2 bytes de caracteres que separan carpetas. En total, el campo Directorio tiene una longitud final de 19 bytes. Por ejemplo, la ruta C:\045-046\0009\A.e
La base de datos junto las tablas y sus relaciones se pueden representar así:
Figura 25. Representación grafica de las tablas y su relación en base de datos.
En la figura anterior se observa que la tabla tren tiene relación con el registrador y los datos. Sólo puede existir un único convoy por nombre de tren, pero pueden existir varias órdenes de servicio de extracción para el tren.
Como se mencionó en el capitulo anterior, la integridad de datos es un factor que ayuda a mantener la información almacenada lo más completa y correcta posible. Al seleccionar el tipo de dato que una columna debe almacenar se logra cumplir con la integridad de dominio, mientras que al seleccionar un campo como clave principal se consigue la integridad de entidad, finalmente el uso de relaciones entre tablas aporta la integridad referencial.
Las tablas van a estar alojadas en una base de datos que nombramos: Metro_RPE.
Tipo de Tablas
Al tener los campos, tipos de datos y relaciones que van a tener los registros de la base de datos, queda preguntarse la forma en que la información se va a almacenar en la computadora que figura como Servidor de Datos. Esto tiene que ver con el tipo de tabla declarada y depende las cualidades con las que se generan los campos, así como las relaciones que se generan entre tablas. Entonces se requiere de un motor de almacenamiento.
MySQL soporta varios motores de almacenamiento para tablas, pero de ellos sólo se elegirá uno para todas las tablas. Estos son algunos:
MySAM: Este motor de almacenamiento genera tres tipos de archivos con extensiones FRM para almacenar la definición de tabla, MYD para sus registros y MYI que almacena los índices. Brinda almacenamiento y recuperación de datos rápida. Es utilizado en aplicaciones donde las consultas para recoger datos es asidua. Al generar archivos por separado para definiciones y datos de las tablas complica en ocasiones la recuperación de la información.
MEMORY: Antes conocida como HEAP, es un motor de almacenamiento en memoria. Genera un archivo FRM con la definición de la tabla. Como lo indica su nombre, los datos son almacenados en la memoria del servidor, lo que hace que las consultas sean rápidas. Una característica a considerar es el hecho de que los datos tienen un almacenamiento temporal y existen mientras la maquina servidor esté encendida; al apagar el equipo toda la información insertada se pierde, excepto la definición de la tabla, y al prender la PC la tabla inicia sin datos. Además, el servidor de datos debe poseer los recursos suficientes para mantener activas las tablas.
ARCHIVE: Genera archivos con extensiones ARZ y ARM. Es utilizado para almacenar grandes volúmenes de datos, sin índices.
InnoDB: Un motor de código abierto soportado en MySQL. Permite índices, lo que ayuda a la hora de crear relaciones entre tablas. Confiable al recuperar información gracias a la integridad de datos que soporta, siendo un factor importante si se maneja con datos de importancia crítica.
La información contenida en los registradores es de vital importancia no sólo durante el proceso de mantenimiento de los trenes, sino en eventos críticos como un descarrilamiento de vagones, accidentes con personas, o momentos especiales dónde se requiera de los datos para revisión. Es claro que las opciones que ofrece el motor de almacenamiento MEMORY no cubren absolutamente en las necesidades que deseamos cubrir, y aunque el sistema ARCHIVE está diseñado para volúmenes grandes de información carece de índices indispensables para crear relaciones entre tablas y posiblemente se tengan datos repetidos. El motor de almacenamiento MySAM se descarta al no soportar relaciones mediante claves entre tablas y poca confiabilidad al recuperar la información.
Finalmente se elige al motor de almacenamiento InnoDB para todas las tablas mencionadas en el desglose del subtema anterior.
Acceso a la Base de Datos
Para tener control de los datos de forma segura, se crea una instancia en MySQL con el Asistente de Instancias MySQL. A continuación se describe el proceso suficiente para crear dicha instancia:
1. Ejecutar el Asistente de Configuración de Instancias MySQL.
Figura 26. Pantalla ejemplo del Asistente de configuración de Instancias en MySQL.
2. Se elige la opción configuración detallada
Figura 27. Pantalla ejemplo del modo de configuración.
3. Se configura una computadora con tipo de servidor Developer Machine, Maquina de Desarrollo como se muestra en la figura 28. De esta forma el uso
de recursos del Sistema Gestor de Datos como memoria, espacio en disco y procesamiento será mínimo, con lo cual otros programas instalados en la misma computadora pueden ejecutarse.
Figura 28. Pantalla ejemplo de configuración del tipo de servidor.