UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS QUIMICAS E INGENIERÍA Cuerpo Académico en Sistemas Electrónicos Aplicados (CASEA) P ROTOTIPO: Estación Base, BS: "Base station" del PROYECTO "Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Falsa, San Quintín, B. C." Tijuana, B.C., México ----- al 1 de octubre del 2014 CASEA : CA en Sistemas Electrónicos Aplicados UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. 2013-2014: Reporte técnico general Contenido Resumen ......................................................................................................................................... 3 Introducción .................................................................................................................................... 3 Descripción...................................................................................................................................... 4 Software y operación del Cliente TCP de la Estación Base. ............................................................ 6 Servidor TCP dedicado a la telemetría marina. .............................................................................. 8 Conclusiones ................................................................................................................................. 10 Referencias.................................................................................................................................... 11 PROMEP: Apoyo para el fortalecimiento del CA p. 2 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. Estación Base: BS "Base Station" Resumen Se presenta la ficha técnica de la estación base que recibe los datos que provienen de una red inalámbrica de sensores para el monotoreo del hábitat marino de baja profundidad, para la producción del ostión en la Bahía Falsa de San Quintín, B.C. Introducción Una red inalámbrica de sensores no es de utilidad si no se dispone de una estación base (BS, del inglés "base station") que se dedique a la recepción de los datos transmitidos. La BS es entonces el destino de los mensajes que emiten los nodos inalámbricos de sensores, de aquí la BS debe tener la capacidad de validar los datos y re-transmitirlos a un servidor para su subsecuente almacenamiento y análisis. En la figura 1, se muestra la ubicación de la BS en la red de sensores que se implementa en la Bahía Falsa. Fig. La estación base se ubicará en las instalaciones de los productores de ostión. La arquitectura de esta red es jerárquica, opera en dos niveles. En el nivel inferior los nodos terminales crean clústeres de 2.4GHz que se comunican con el nodo intermediario CLH. EL CLH dispone de dos radios: un transceptor de corto alcance para coordinar los EP y un radio de 900MHz para comunicarse con la estación base, que se ubica en el nivel superior de la jerarquía. Los CLH envían a la BS mensajes compuestos por los datos de sus sensores locales y los datos enviados por los EP. La BS recibe los mensajes de los CLH, los cuales están codificados con una versión ligera del conocido protocolo JSON, los convierte en JSON estándar, abre una conexión web y lo envía a un servidor dedicado en decodificarlos, extraer los datos pertinentes PROMEP: Apoyo para el fortalecimiento del CA p. 3 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. y finalmente los deposita en una base de datos para su posterior procesamiento y análisis. En la figura 2 se presenta la topología descrita. Fig. 3. Red inalámbrica de sensores de dos niveles patra monitoreo marino. Descripción Aquí se presenta la descripción del diseño y operación de la estación base, y la forma como transfiere los datos al servidor, que sirve de repositorio final. De acuerdo a la arquitectura propuesta, la siguiente lista clasifica lo componentes de la red. Nodos Terminales EP. Dispositivos de baja potencia que representan los sistemas del nivel bajo de la jerarquía inalámbrica que adquieren valores muestreados de los sensores locales. Los EP están construidos con el más mínimo hardware de adquisición de datos y procesamiento, que sean fáciles y económicos de replicar. La función del EP está automatizada para el muestreo digital y envió inalámbrico a 2.4GHz de los valores que miden los sensores en interfaz, su alcance hacia otro EP o un CLH es de 300m sobre agua marina. Nodos intermedios CLH. Estos dispositivos se construyen alrededor de un sistema microprocesador o micro-controlador y cuentan con dos radios abordo. El radio del nivel bajo es de corto alcance y opera a 2.4GHz para recibir datos y comunicarse con los EP. El segundo radio opera a 900MHz para lograr un alcance mayor de hasta 5Km sobre agua PROMEP: Apoyo para el fortalecimiento del CA p. 4 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. marina y mediante el cual se crea el nivel alto de la jerarquía para comunicarse con la estación base. Estación Base BS. Este es un dispositivo resultado de la integración de tecnologías entre un módulo controlador con capacidades de conexión de Internet y un radio de 900MHz en interfaz. El radio de la BS es el transceptor coordinador de la comunicación inalámbrica de toda la red de CLH en el nivel alto de la jerarquía. Por lo que la función de la BS es intercambiar mensajes con los CLH, decodificarlos, extraer datos relevantes de los sensores, volver a codificarlos en otro mensaje apto para transporte por un Socket de Internet, hacia un programa servidor destino para el almacenamiento final de los datos del hábitat marino. La estación base se construye alrededor del modulo micrcontrolador conocido como el RCM4300, cuenta con el microprocesador Rabbit4000 en interfaz con un puerto Ethernet que le permite conexiones de Internet. También dispone de cuatro puertos serie, en uno de ellos se conecta un radio digital de largo alcance llamado AC4490, de Laird Technologies. Por medio de dicho radio se crean los enlaces con los nodos CLH ubicados en el nivel superior de la jerarquía, tal como se muestra en la figura 4, donde interactúan los CLH con la BS. Fig. 3. Radio enlaces entre los nodo CLH y la BS. Para hacer la estación base a la medida de la aplicación, se desarrolló una tablilla donde se inserta el RCM4300 y donde se pone en interfaz con el radio AC4490. El diseño en PCB se muestra en la Fig. 4, y en la Fig. 5 se presenta (dentro de su caja impermeable) la estación base, PROMEP: Apoyo para el fortalecimiento del CA p. 5 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. está en conexión cruzada con el servidor local que se ejecuta en una Laptop para permitir hacer trabajo de campo. Fig. 4. Tablilla de la BS desarrollada para alimentar al RCM4300 y ponerlo en interfaz con el radio AC4490 de 900MHz. Fig. 5. Estación Base BS desarrollada con el RCM4300 y tablilla del radio AC4490 dentro de la caja hermética, con conexión con cable cruzado con una Laptop para trabajo de campo. Software y operación del Cliente TCP de la Estación Base. El software para el RCM4300 se realizó usando el editor y las herramientas de desarrollo que permiten generar códigos con su nativo lenguaje Dynamic C (DC), de Digi Inc., representa una ampliación del lenguaje C convencional, esto es porque DC dispone de múltiples librerías que expanden las capacidades de entrada/salida (E/S) de los módulos RCM de Rabbit y permite operar bajo paradigmas de máquinas de estado de forma integral en la codificación (a lo cual PROMEP: Apoyo para el fortalecimiento del CA p. 6 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. llaman Co-States). En este caso, aprovechamos la librería de E/S de la pila completa de protocolos TCP/IP del RCM4300 para establecer una conexión con la red y abrir Sockets. En la figura 6 se muestra la interfaz visual para el operador que permite valorar el estado de la Estación Base y las operaciones que realiza en tiempo real. Fig. 6. Proceso de inicio de la estación base vista en su ventana de depuración. Tal como se observa en la fig. 6, desde el arranque, la estación base configura su dirección IP, luego abre un Socket y se conecta con un servidor hecho a la medida, quién escucha por el puerto TCP número 10000. La estación base solicita al servidor el sello de tiempo actual o TimeStamp (TS p.ej. en la fig. 5 T:133454780) en formato UNIX, para configurar su reloj de tiempo real, y después envía esta información en un mensaje por el nodo sink AC4490 sink node hacia los CLH que se encuentren en rango. Los CLH requieren este sello de tiempo para que también actualicen sus relojes y puedan incluir los datos en los mensajes destinados a la BS. En telemediciones es crucial poder determinar el tiempo exacto en que se realizaron las muestras del ambiente por los nodos EP y de cuando los CLH toman sus propias muestras de las señales de sensores. El cliente TCP de la estación base se activa cuando el radio sink node recibe datos de los CLH, cuyo destino es el servidor TCP. En la figura 7 se muestra un ejemplo de cuando la BS recibe un mensaje de 57 octetos enviados por el CLH 1 el cual contiene datos del EP número 2, "i":2. Y en la figura 8 se muestra la respuesta del servidor al mensaje enviado por la BS donde contesta con un acuse de recibo o ACK. PROMEP: Apoyo para el fortalecimiento del CA p. 7 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. Fig. 7. Interfaz visual de la BS que muestra la recepción de datos del EP 2 vía el mensaje del CLH 1. Fig. 8. Envío de la BS al servidor del mensaje recibido en la fig. 7. El servidor responde ACK. Para poder acceder a las interfaces viuales del RCM4300 se requiere un cable de conversión serie/USB (Universal Serial Bus) para conectarse a una PC (o Laptop) y cargar el programa en modo de depuración (debugging) desde el ambiente de DynamicC. Si dicho cable no se conecta al puerto A de consola del RCM4300, el RCM no genera la interfaz con el usuario; en otras palabras, sin el cable de consola el RCM hace caso omiso de las instrucciones printf y scanf en su código. En cualquier caso, son convenientes las interaces visuales de depuración cuando se requiere determinar los procesos actuales en la BS y para detectar errores en el comportamiento de los algoritmos que se ejecutan en la BS, pero no es imlicito que se deba hacer, incluso si el modo de consola está activado eso puede mermar la operación principal de la estación base de recepción de la red de sensores y envío de datos al servidor TCP. Servidor TCP dedicado a la telemetría marina. El programa servidor TCP, que aquí desarrollamos, esta codificado en PHP que se ejecuta en un sistema operativo que soporte al servidor web conocido como Apache, así como al servidor de base de datos MySQL (Strucutred Query Language) para almacenar en forma no-volatil. El servidor TCP es entonces una aplicacón en web que eschucha por un Socket IP por peticiones y PROMEP: Apoyo para el fortalecimiento del CA p. 8 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. respuestas del programa TCP cliente que opera en la BS (o RCM4300). Cuando el servidor TCP recibe datos del cliente, el servidor extrae los datos del mensaje recibido, los valida y luego los almacena en la base de datos, así como en archivos de texto plano para fines de respaldo. En la figura 9 se muestra laa interfaz visual del servidor TCP donde se observa la petición del cliente TCP de la estampa de tiempo, y en la figura 10 se muestra la consola del servidor TCP cuando recibe un mensaje de la BS que contiene datos del EP 2 a través del CLH 1. Fig. 9. Solicitud de sincronía de tiempo de la BS y respuesta del servidor TCP. Fig. 10. Recepción de un mensaje de la BS que contiene datos del EP 2 del Cluster 1. Este servidor TCP se dedica exclusivamente en recibir mensajes de la estación base, estos cumplen el con la sintaxis del protocolo de aplicación conocido como JSON (JavaScript Object Notation), el cual es un protocolo relativamente ligero que permite comunicar datos, eventos e incluso llamados a funciones de software originalmente para ejecutarse en un buscador de Internet con capacidades de JavaScript. En nuestro caso, nos solo lo aprovechamos para la comunicación de datos entre el cliente (en la estación base) con el servidor TCP (en la red), sino también aprovechamos una versión reducida que ideamos para la comunicación de mensajes PROMEP: Apoyo para el fortalecimiento del CA p. 9 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. en la jerarquía CLH-BS. Las modificaciones hechas al protocolo mencionado son dos: en lugar de emplear caracteres ANSI de 16 bits empleamos caracteres ASCI de 8 bits, y eliminamos el uso de caracteres redundantes como lo son las comillas dobles para representar nombres de variables y métodos, por lo que al protocolo empleado en la capa de aplicación de la red inalámbrica de sensores le llamamos Light-JSON (o LJSON). El haber empleado este protocolo modificado representa una aportación novedosa que este proyecto ha gestando en el área de redes de comunicaciones. Los datos recibidos por la estación base se envían a un servidor local, con la capacidad de poder transferirlos a lo largo de la nube a un servidor remoto. Para visualizar los datos se realizó una aplicación web prototipo, un ejemplo de visualización de temperatura de tres días se muestra en la figura 11. Fig. 11. Aplicación web prototipo para visualizar la información de la red de sensores marinos. Los detalles técnicos del EP y del CLH, se presentan en reportes técnicos separados, donde se explica su conceptualización e integración con los materiales adquiridos, gracias a los fondos proporcionados por el PROMEP para el fortalecimiento del CASEA. Conclusiones En redes inalámbricas de sensores, la estación base es el destino de los datos recolectados por los nodos que las conforman. En general, la estación base es un sistema digital programable que tiene un radio conectado a un puerto serie. Los datos pueden ser almacenados en la estación base o pueden se re-enviados a un repositorio de datos, como en un servidor fuera de sitio o a través de la nube del Internet. Aquí, se desarrollo una estación base que recibe la información de los sensores inalámbricos, PROMEP: Apoyo para el fortalecimiento del CA p. 10 CASEA : CA en Sistemas Electrónicos Aplicados 2013-2014: Reporte técnico general UABC - FCQI Implementación de una red de sensores para zonas de cultivo de ostión en la Bahía Flasa, San Quintín, B.C. abre una conexión web vía su puerto Ethernet y transfiere los datos pertinentes a un servidor dedicado, que valida el mensaje y almacena la información relevante en una base de datos, para el beneficio del usuario. El trabajo a futuro incluye la necesidad de desarrollar una aplicación web de minería de los datos, que sea flexible para que le dé sentido a la información, como para permitir a los usuarios tomar decisiones informadas. Otra capacidad de la estación base que no se ha aprovechado es la capacidad de opera como servidor web, lo cual pudiera desarrollarse como para poder modificar su comportamiento y configuración a distancia. Referencias [1] Lluch-Belda D, Lluch-Cota DB, Lluch-Cota SE. 2003. Interannual variability impacts on the California Current Large Marine Ecosystem. In: Large MarineEcosystems of the World, trends in Exploitation, Protection and Research.(ed. by G. Hempel; K. Sherman).195-226. Elsevier, Amsterdam. [2] Arduino C++. http://arduino.cc/blog/category/languages/c-languages/. 2011 [3] Arduino ATMega. http://arduino.cc/en/Main/ArduinoBoardMega2560. 2011 [4] Digi Corp. XBee®/XBee-PRO®OEM RF Modules. Product Manual v1.xCx - 802.15.4 Protocol. 2010 [5]. AC4490 Long Range transceiver. AC4490 Users Manual Ver. 3.2.1. 2009 http://lairdtech.thomasnet.com/item/910mhz-modules/ac4490-transceivers/ac-4490-1000m PROMEP: Apoyo para el fortalecimiento del CA p. 11