Sistema de Control y Monitoreo Integrado con Wireless Application Protocol (WAP) Aplicación: Sistema de Seguridad Autores: Hans Christian Guevara Parker ([email protected]) Alejandro Real Espinoza ([email protected]) Asesor: Ing. José Oliden Martinez [email protected] Universidad Peruana de Ciencia Aplicadas Av. Prolongación Primavera 2390, Monterrico, Surco, Lima RESUMEN El presente proyecto muestra una nueva etapa de control de procesos a distancia que hace uso dela tecnología WAP para permitir el control y monitoreo remoto de procesos haciendo uso de un teléfono móvil. A través de este sistema se puede controlar a distancia tanto un proceso informático como un proceso electrónico. Tenemos que trabajar con microcontroladores para sensar el estado actual de los equipos o para controlarlos a través de una señal. Son muchas las aplicaciones las de un microcontrolador, podríamos por ejemplo desde sensar una señal analógica de temperatura hasta controlar un robot a distancia, a través de WAP es posible controlar estos procesos. Todo teléfono celular tiene ciertas limitaciones de ancho de banda por la información que se transmite normalmente, pero aun así, es posible controlar, consultar información, obtener alertas y lo más importante de todo es darle la misma seguridad de acceso a estos sistemas que la de las aplicaciones residentes en terminales de PC o aplicaciones Web. mensajes de texto de un dispositivo móvil para comunicaciones seriales. OBJETIVOS • Desarrollar un sistema de control y supervisión a distancia, totalmente transportable de bajo consumo de energía y con niveles de acceso para la seguridad del sistema. • Descentralizar procesos de control y supervisión. • Mantener constantemente informadas a las personas encargadas de cada equipo de control, sobre su estado actual de los procesos y los mismos equipos. • Proponer una nueva etapa de control en forma desconectada, consumiendo mínimos recursos. • Investigar las funciones del módem GSM del celular para el envío de mensajes de texto mediante el uso de los comandos AT. • Desarrollar un software de aplicación de que optimice y automatice el envío de INTRODUCCION HERRAMIENTAS DE SOFTWARE 1. Wireless Application Protocol–WAP Es un nuevo protocolo que permite acceder a Internet desde un teléfono Móvil como si se tratase de un navegador. Consideraciones Técnicas El tamaño del dispositivo y la movilidad son los dos puntos fuertes que avalan el éxito de esta tecnología. Aplicaciones de consulta y transacciones bancarias, operaciones en bolsa o compra de entradas para el cine son algunos de los servicios que esta tecnología ya está explotando. En el futuro tratamos de abrir además un interesante abanico de posibilidades en el terreno de control de equipos electrónicos, ya que el teléfono móvil por si solo podría ofrecer mecanismos de seguridad y manipulación de dispositivos remotamente tal como se desarrolla en el presente proyecto. Secuencia de envió y recibo de información 00000000 01 04 6A 00 7F7 55 03-4D 61 69 6E 43 61 72 64 00000010 00 36 03 54 68 69 73 20-69 73 20 74 68 65 20 66 00000020 69 72 73 74 20 63 61 72-64 00 Cuando el teléfono móvil recibe esta información, deshace el trabajo del “compilador” y muestra en la pantalla del terminal la página WML inicial que se solicito, tal como se muestra a continuación: Figura 1 Secuencia de envió/recibo de información Funciones de un WAP Gateway El lenguaje para diseñar un sitio WAP es WML. Si ven una página WML pueden fácilmente, al igual que una página HTML ver su contenido, pero esto es muy diferente a lo que un teléfono móvil entiende. Por ejemplo, supongamos que tenemos una sencilla página WML: <?xml version="1.0"?> <wml> <card id="miCard" title="This is a first card"> <p align="center"> Universidad UPC </p> </card> </wml> Pero cuando solicitan esta página desde el teléfono, el Gateway “compila” esta página y genera un código que ocupa menos espacio y que puede ser enviado rápidamente. Por ejemplo la salida para un teléfono será tal como se muestra a continuación: Figura 2 Pantalla del teléfono celular Descripción de la secuencia de envío y recibo de información 1. Petición de una URL 2. El dispositivo (móvil) envía una URL a un proxy WAP mediante el protocolo WAP. 3. El proxy WAP convierte la URL en formato HTTP que es enviada al servidor Web 4. La petición HTTP es procesada por el servidor Web. Puede tratarse de una petición estática o puede intervenir un CGI, ASP (Active Server Pages) o JSP. 5. El servidor Web devuelve una pagina WML con la cabecera HTTP 6. El proxy WAP recibe la página, y tras su verificación la convierte a formato binario que será enviado al móvil. 7. El móvil recibe la respuesta en formato WAP. Procesa el WML que contiene mostrando el primero de los elementos <card> ¿Qué se usa para conectar un celular a Internet? En el terminal móvil hay un "navegador específico simple", parecido a Netscape Navigator o Internet Explorer, que se encarga de la coordinación con la pasarela a la que realiza peticiones de información, que son tratadas y encaminadas al servidor de información. El servidor procesa la petición y envía la información resultante a la pasarela, que la procesa y la envía al teléfono móvil. El lenguaje utilizado es el WML (Wireless Markup Languaje), una versión de HTML (Hipertext Markup Languaje). La inteligencia se pone en los servidores WAP, mientras que en los terminales se añade un simple micro navegador al objeto de que no se encarezcan demasiado. 2. Microsoft Visual Studio – Visual Basic 6.0 La herramienta Visual Basic es de gran ayuda para los terminales no remotos, configurando los terminales Seriales ó Paralelos es posible enviar y obtener datos de algún hardware específico, por ejemplo como es el caso de nuestro proyecto, se diseña un HyperTerminal personalizado, de esta manera, así es posible leer datos de un microcontrolador PIC16F877, que controla periféricos, a través del protocolo de comunicación serial. Visual Basic cumple la tarea de sensar y mostrar un grafico muy amistoso que represente el buen o mal funcionamiento de los equipos de control. Además, Visual Basic nos permite una serie de opciones para registrar estas informaciones en una base de datos, utilizando las herramientas de Microsoft Active data Objects (ADO), para posiblemente más tarde generar un reporte o talvez un grafico estadístico que represente la función de un equipo en un determinado periodo, de esta manera es mas fácil tomar decisiones para mejorar la producción de una empresa. 3. Microsoft SQL Server 2000 SQL Server es un sistema de administración de bases de datos relacionales, potente y de alto rendimiento, para entornos distribuidos cliente/servidor. SQL Server ofrece una arquitectura unificada de administración de datos que es potente, fiable y abierta para numerosas aplicaciones y orígenes de datos. En nuestro Proyecto SQL Server maneja una base de datos de alrededor de 6 tablas relacionadas que mantiene información acerca de los usuarios, acerca de los equipos, acerca de las fallas, acerca de las horas y fechas de cambios, acerca de la ubicación exacta del equipo que presenta fallas, etc. Tanto Visual Basic como la aplicación en WAP son los encargados de explotar esta información almacenada en la base de datos para posteriormente visualizarlas en sus terminales. HERRAMIENTAS DE HARDWARE 1. Microcontrolador PIC16F877 Un microcontrolador es un circuito integrado programable de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador (computador). Se dice que es “la solución en un chip” porque su reducido tamaño minimiza el número de componentes y por lo tanto el costo final del producto en desarrollo. En su memoria sólo reside un programa destinado a gobernar una aplicación determinada; sus líneas de entrada / salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar. Este CHIP es el encargado de controlar nuestros diversos periféricos. Además, a través de un teclado y un panel LCD podemos independizar el control del equipo desde la computadora y obtener el control total desde el microcontrolador. Otra de las ventajas del PIC es comunicarse serialmente para transmitir o recibir datos de la computadora u otro equipo que también pueda comunicarse serialmente. LCD Bus Vcc TECLADO 1 123 0 Vcc1 a1 5 RS232 2 a2 456 789n b1 3 a3 6 MODULO PIC b2 b3 7 C0 HE 4 a4 b4 COMPUT 8 GND 0 Figura 3 Comunicación Microcontrolador - PC 2. Modem GSM Ericsson T39m implementar un sistema capaz de realizarlo de la forma más eficiente y rápida. Seria muy interesante saber que un sistema de seguridad no solo avise a las personas de seguridad cercanas a ella a través de una alarma sonora o silenciosa, por que no siempre estará esa persona allí. Si Ud. Tiene un sistema de seguridad por ejemplo cuidando su casa, mientras ud esta en el trabajo, de que manera ud se podría enterar? Posiblemente hay varias soluciones, una de las más sencillas y prácticas es que su sistema de seguridad le avise a su celular mediante un mensaje de texto (SMS) que algo anda mal, o quizás a la compañía de seguridad. Este fragmento del proyecto busca una forma alternativa y sencilla (desde el punto de vista del usuario final), de mantenerlo informado en cualquier lugar, por que es mediante su celular. DESCRIPCION DEL PROYECTO UNIVERSIDAD UPC Base de Figura 4 Posibles interconexiones del dispositivo GSM, T39m No todos los teléfonos poseen estas características tan completas, sobre todo la incorporación de un MODEM dentro del equipo. Tenemos que tomar en cuenta que la presente proyecto trabaja con un equipo GSM, por lo tanto algunas de sus características no se encontrarán en los equipos CDMA y TDMA. De todas estas posibilidades de interconexión con otros equipos, nos es necesario utilizar el Modem GSM. A través de él, tenemos la posibilidad de obtener el control total del equipo celular con el manejo de la programación de los Comandos AT. Como una aplicación de nuestro proyecto es implementar un sistema de seguridad con tecnología móvil, tenemos que tener muy en cuenta que la comunicación entre el equipo de seguridad y la persona encargada del equipo es muy importante, para ello debemos Red SM Empresa de Segurida d Cable RS232 SMS SMS PI C SM Respons able del Área Otro Sistema de Control Sens or Área 1 Figura 5 Esquema general de proyecto Sens or Área 2 El proyecto se divide en dos etapas: 1) Comunicación Bidireccional entre un Dispositivo Móvil y una Base de datos (SQL Server), usando como canal de comunicación el Protocolo WAP, para enviar y recibir los datos entre el servidor y el móvil como si se tratase del protocolo HTTP entre el servidor y el navegador de Internet. Para este fin se implemento un Servidor WAP conectado a la red de nuestra Universidad, además de un servidor SQL Server, que mediante una aplicación desarrollada en Visual Basic 6.0 para la simulación de los datos, permita realizar las demostraciones de lectura, escritura y modificación de datos desde un dispositivo móvil. 2) Aplicación orientada a los sistemas de seguridad electrónicos, haciendo uso de las tecnologías móviles aplicando además los SMS de sistemas GSM que son manejados a través de los comandos AT del celular. Para la implementación de la Comunicación Bidireccional entre un Dispositivo Móvil y una Base de datos (SQL Server), se realizaron los siguientes pasos: Paso 1: Celular - WAP Gateway El Celular solicita una información del servidor WAP, para eso previamente se comunica con el WAP Gateway en forma binaria y vía inalámbrica. Para este caso la función del Gateway la cumple el proveedor de servicios ( Telefónica del Perú). Paso 2: Gateway – Servidor WAP El WAP Gateway entiende la solicitud realizada en forma binaria por el celular y la convierte en formato WML (Wireless Markup Language). Cuando la información es convertida a WML entonces se puede transmitir al servidor WAP (o servidor WEB ) haciendo uso de http Paso 3: Servidor WAP – Base de datos Cuando el servidor recibe el pedido en WML, empieza a buscar la información solicitada en la base de datos. Para tal efecto se necesita conocer SQL para implementar las consultas. Un punto importante es que la solicitud no puede darse directamente en SQL, este deberá mezclarse con un el formato WML (similar al HTML). Con este nuevo formato similar a de de una pagina ASP se podrá acceder a una Base de datos desde el servidor, recoger información o también ingresarla, modificarla y eliminarla, según sea el caso. Paso 4: Base de datos - Servidor WAP Ahora le toca el turno a la base de datos. Ella devuelve una información y a través de la codificación WML Script es posible que el servidor muestre solamente como salida información WML, que será la información que el transmitirá de regreso al WAP Gateway. El trabajo del servidor es muy importante por que el analiza el pedido en un formato WML y responde en el mismo formato. Paso 5: Servidor WAP - Gateway El servidor WAP envía de retorno vía HTTP la respuesta solicitada en formato WML. Lista para ser convertida por el Gateway a un formato conocido para el celular Figura 6 Bloques de comunicación Paso 6: Gateway - Celular El Gateway convierte la información a un formato binario de menor dimensión para la transmisión. El celular recupera la información en binario, luego la compila y finalmente puede visualizar la información que el servidor le envió. el servidor, a las personas encargadas de la seguridad del sistema. Para lograr esto es necesario acceder a las funciones del módem GSM del celular mediante sus comandos AT. Estos comandos se automatizan en Visual Basic para optimizar el funcionamiento del sistema. CONCLUSIONES Figura 7 Visualización de la información en T39m El presente proyecto demuestra la implementación de un sistema remoto de control, supervisión y monitoreo usando tecnología WAP. Las pruebas realizadas indican que el manejo remoto de información y base de datos para cambiar el estado de puede realizarse de manera eficiente y segura. SISTEMA DE SEGURIDAD BIBLIOGRAFÍA El sistema de seguridad y supervisón remota se implementa tal como se indica a continuación: • Ericsson Mobile Communications AB, 2001. Mobile Phone T39 Developers™ Guidelines -AT Commands • FORTA, Ben y otros. Desarrollo WAP con WML y WML Script ANAYA. Madrid 2001. • SILER, Brian y SPOTTS, Jeff Edición Especial Visual Basic 6.0 A) Control mediante un microcontrolador (PIC16F877) cierto número de sensores, alarmas, equipos de iluminación o actuadotes, aplicados a un sistema de seguridad electrónico. B) Detección de la activación de uno de los sensores y enviar esta información del PIC, al computador, a través del puerto serial C) Software de aplicación que capturé las señales emitidas, por el PIC, para reconocer el estado actual de los sensores y posteriormente realizar dos acciones importantes: La primera acción es registrar esta información en una base de datos SQL Server, para poder generar reportes y gráficos estadísticos que informen acerca del correcto funcionamiento de los sensores, durante un determinado periodo de tiempo. La segunda acción se realiza paralelamente a la primera, consiste en utilizar la mensajería de textos (SMS) predeterminados por el usuario para el envío de estas notificaciones registradas en