PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y BLUETOOTH
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y BLUETOOTH D. GUTIÉRREZ, E. MARSAL, M. SOTO, J.M. HINOJO, F. CORTÉS, F. BARRERO, S. TORAL Departamento de Ingeniería Electrónica. Escuela Superior de Ingenieros. Universidad de Sevilla. España dgutierrezreina@us.es, estebanmarsal@us.es, msoto@us.es, jhinojo@us.es, fcortes1@us.es, fbarrero@esi.us.es, toral@esi.us.es En este trabajo se presenta el desarrollo de una plataforma, basada en un microprocesador de bajo coste, que pretende acercar a los alumnos al uso y desarrollo de aplicaciones basadas en las tecnologías inalámbricas RFID y Bluetooth. Mientras que el estándar NFC representa el ejemplo más claro del elevado crecimiento que están experimentado recientemente los dispositivos RFID, Bluetooth personifica el grado de desarrollo y uso que pueden alcanzar estas tecnologías inalámbricas gracias a los dispositivos electrónicos de uso cotidiano como son teléfonos móviles, PDAs y PCs portátiles. Para mostrar a los alumnos el interés de ambas tecnologías, se ha desarrollado un sistema simple para la realización de trabajos prácticos en una asignatura denominada “Laboratorio de Instrumentación Electrónica”, adscrita a la titulación de Ingeniería de telecomunicaciones en la escuela Superior de Ingenieros de la Universidad de Sevilla. 1. Introducción A lo largo de la carrera de Ingeniería de Telecomunicación, el alumno percibe a menudo ciertas carencias a nivel práctico en su formación. Este hecho es especialmente crítico en el área de la electrónica, y más específicamente en las tecnologías inalámbricas, donde se tienen conocimientos teóricos pero es complicado llevarlos al campo práctico por las dificultades que esto conlleva. Es precisamente una asignatura práctica como el Laboratorio de Instrumentación Electrónica, perteneciente al 5º curso de la titulación de Ingeniería de Telecomunicación en la Escuela Superior de Ingenieros de la Universidad de Sevilla, el espacio que consideramos más adecuado para solventar, dentro de lo posible, esas carencias. Por otro lado, las tecnologías inalámbricas han sufrido una enorme expansión en los últimos años, integrándose en una amplia gama de dispositivos móviles, como teléfonos, PDAs y computadoras. Dos de estas tecnologías son el estándar NFC (Near Field Communication) y la tecnología RFID (Radio Frequency Identification) las cuales en multitud de ocasiones se confunden. RFID es una tecnología que surge a finales de la década de los cuarenta y que se impulsa su uso a través de sistemas de vigilancia electrónica. Los dispositivos RFID pueden operar dentro de tres distintos rangos de frecuencias en función de la aplicación particular [1]; baja de 125 kHz a 134 kHz o de 140 kHz a 148.5 kHz, alta de 13.56 MHz y ultra alta entre 868 MHz y 928 MHz. Se definen dos elementos en las comunicaciones RFID, la etiqueta o tag y el lector o interrogador. Por otro lado NFC es un protocolo de comunicaciones de corto alcance que surge de combinar tecnologías de interconexión y RFID. NFC permite a dos dispositivos electrónicos realizar una comunicación punto a punto con el simple hecho de que ambos entren en contacto (en la práctica porque estén a una distancia muy corta, hasta 10 cm) utilizando la banda alta de frecuencia de 13.56 MHz [1, 2]. Por su parte, Bluetooth es una especificación que define redes inalámbricas de área personal (WPAN) de corto alcance, trabajando en las frecuencias 2.4 GHz a 2.4835 GHz. La banda de frecuencias se divide, a su vez, en 79 canales, con un ancho de banda de hasta 3 Mbits/s. Los dispositivos que cumplen el estándar Bluetooth se conectan entre sí conformando las redes denominadas Piconets, o redes maestro-esclavo que pueden estar formada por un único maestro, hasta 7 dispositivos activos y 255 estacionados todos ellos como
esclavos. A su vez, varias de estas redes Piconets se pueden unir formando las denominadas redes Scatternets [3, 4]. El sistema de aprendizaje desarrollado permite a los alumnos experimentar con las tres tecnologías de forma independiente, o enlazarlas para formar un sistema pasarela entre ellos (fig.1). Dada la escasez de dispositivos de tipo lector NFC o RFID, se ha incorporado la funcionalidad pasarela NFC- Bluetooth al sistema para poder realizar aplicaciones basadas en dispositivos NFC [5, 6], empleando equipos electrónicos comerciales fáciles de localizar y accesibles a los alumnos como son los teléfonos móviles, que en la actualidad vienen casi todos provistos de conectividad Bluetooth. Figura 1: Esquema de funcionamiento del sistema desarrollado. El objetivo es que tecnologías tan novedosas como NFC se integren en los nuevos sistemas de enseñanza universitaria dentro del nuevo marco europeo [7]. Sistemas como el que se presenta ayudan a la integración de este tipo de tecnologías, encajando perfectamente con un nuevo enfoque eminentemente práctico que se está implantando en la asignatura y que ofrece al alumno la posibilidad de realizar un pequeño desarrollo basado en sistemas reales, en este caso basado en el sistema microprocesador presentado, y que permite manejar las tecnologías inalámbricas Bluetooth, NFC y RFID. 2. Descripción del sistema El sistema de aprendizaje implementado se basa en un sencillo microprocesador que se encarga de manejar las comunicaciones RFID, NFC y Bluetooth. Aunque el sistema permite leer y escribir tanto tags RFID como NFC, la descripción del sistema se va realizar teniendo en cuenta sólo el estándar NFC, ya que el funcionamiento con RFID sería similar. La comunicación NFC se realiza mediante un lector/escritor de etiquetas pasivas (NFC target) que lee la información contenida en ellas. La etiqueta no necesita alimentación, y simplemente aprovecha el campo magnético generado por el lector para alimentarse y poder transferirle los datos. El encargado de generar el campo electromagnético se denomina Iniciador (NFC Initatior) [2]. Por su parte, la comunicación Bluetooth se realiza mediante un dispositivo embedded Bluetooth que permite ser controlado mediante comandos ASCII enviados por el microprocesador. Estos comandos, parecidos a los comandos AT, permiten establecer enlaces RFCOMM hacia cualquier otro
dispositivo remoto con enlace Bluetooth, como puede ser un ordenador personal o un teléfono móvil. El microprocesador elegido ha sido el Atmega128. Se trata de un microprocesador de 8 bits de núcleo AVR, que se ha programado utilizando ANSI C para desarrollar un conjunto de librerías elementales de acceso a los dispositivos inalámbricos del sistema. Se ha escogido este microcontrolador por tratarse de un dispositivo profusamente empleado en el ámbito industrial, dado su bajo coste y versatilidad. El microprocesador posee sin embargo otras características que lo hacen aconsejable en un ambiente educativo, en especial, contiene una gran cantidad de interfaces para comunicar con otros dispositivos electrónicos como son UARTs, I2C y SPI. Para simplificar el desarrollo del sistema, se ha utilizado el sistema de desarrollo JMS2206 que contiene el microprocesador Atmega128 trabajando con un cristal de 4 MHz. A su vez, incorpora la interfaz de programación JTAG, permitiendo utilizar herramientas de depuración de código (debugger ATJTAGICE). Con este sistema, los alumnos pueden desarrollar sus propias aplicaciones, visualizando en tiempo real la ejecución de código programado en la memoria FLASH del microprocesador. Entre los diferentes dispositivos de acceso a etiquetas NFC pasivas, se escogió el dispositivo HF Multi ISO OEM de ACG, compatible con las normativas ISO14443 A/B, ISO 15693, ISO 18000-3, dispositivos RFID EPC, Mifare© y NFC. El principal motivo para esta elección es que el lector soporta un gran número de clases de etiquetas tanto de RFID como NFC. Mediante una interfaz serie, el lector NFC se conecta con el microprocesador Atmega. Utilizando esta misma interfaz, el lector NFC se puede conectar a un PC para que los alumnos visualicen y ejecuten, con la ayuda de la aplicación Hyperterminal de Windows o alguna similar, todos los comandos integrados en las librerías desarrolladas para realizar escrituras y lecturas de las etiquetas de forma sencilla e intuitiva, y de forma análoga a como actuaría el microprocesador en el sistema completo. Los dispositivos embedded Bluetooth seleccionados son indistintamente el WT-11 o WT-12. La diferencia entre ambos es la clase de dispositivo Bluetooth, clase 1 y clase 2 respectivamente. La clase del dispositivo está estrechamente ligada con el alcance de la comunicación Bluetooth,
A continuación se muestra una imagen del sistema pasarela implementado (fig.2). Figura 2: Imagen del sistema desarrollado. En la parte superior se puede observar el lector/escritor de tags. Situado a la derecha de la placa, el dispositivo Bluetooth, en este caso WT-12 con todo el hardware de acondicionamiento asociado al dispositivo. A la izquierda se encuentra el sistema hardware del microprocesador, entre éste y el WT- 12 se encuentra el zumbador. Por último los diodos leds se encuentran situados en la parte superior, junto a la bornera de alimentación externa. El sistema pasarela es un sistema abierto desde el punto de vista hardware permitiendo integrar un gran número de sensores haciendo usos de las interfaces disponibles del microprocesador, como se puede observar en otros diseños de sistemas pasarela [8]. Desde el punto de vista del desarrollo de aplicaciones, se han implementado varios programas de ejemplo en ANSI C para la conexión con dispositivos remotos provistos de Bluetooth. Se ha optado por desarrollar las aplicaciones empleando la librería de desarrollo de BlueZ [9], que nos otorga una extensa API para el manejo de conexiones Bluetooth. Dado que BlueZ está desarrollada en C bajo licencias de código abierto, es posible tener un control total sobre la implementación realizada, lo que ofrece numerosas ventajas desde el punto de vista educativo. Por otro lado, BlueZ es nativa para sistemas UNIX, de manera que viene integrada por defecto en la mayoría de distribuciones Linux más conocidas, con lo que las dependencias de paquetes y compatibilidades con las distintas arquitecturas son absolutas. Algunos de los usos y vertientes didácticas de este tipo de aplicaciones son las siguientes: Modo espía, o aplicaciones simples que nos permiten tener una visión en pantalla de las tramas Bluetooth recibidas y realizar un análisis de las mismas para comprobar cómo se realizan los procesos de búsqueda, de apertura o cierre de una conexión en Bluetooth. Iniciador de aplicaciones en local, actuando la conexión entrante como iniciador de procesos corriendo en local e incluso pasándoles condiciones y/o parámetros a los
mismos. Este tipo de aplicaciones permite integrar el sistema con otras aplicaciones realizadas en clase, o para dar una visión de cómo otras ramas del conocimiento, por ejemplo la domótica, podrían hacer uso de estos sistemas. Conexión con aplicaciones en remoto, como servicios web, actuando la conexión entrante como lanzadora del proceso cliente que consume el servicio, permitiendo, a su vez, añadirle condiciones y parámetros a éste. Cabe destacar que este tipo de aplicaciones ofrecen una visión más software del sistema, y ofrecen la posibilidad de analizar otras áreas temáticas como son el desarrollo de aplicaciones, el manejo de APIs, la realización de arquitecturas productor-consumidor o cliente-servidor, el trabajo a distintos niveles de abstracción (desde conexiones a sockets RFCOMM para el Bluetooth hasta manejo de servicios web), la generación de aplicaciones multi-hilo y multiproceso (llamadas al sistema, forks- joins, OpenMP, MPI, regiones críticas, semáforos, señales, etc.), el trabajo con interfaces de entrada- salida, y prácticamente cualquier integración a nivel de software que didácticamente creamos conveniente. Aunque toda la implementación está desarrollada en C, todas las funcionalidades y beneficios para el alumno son perfectamente extrapolables usando cualquier otro lenguaje de propósito general, ya que otras opciones, como Java, incluyen sus propias APIs para trabajo con dispositivos y manejo de conexiones Bluetooth. Por otro lado, el desarrollo de aplicaciones para dispositivos móviles es también posible haciendo uso de la propia librería BlueZ (para dispositivos con arquitecturas y con distribuciones Linux soportadas), de opciones en Java (para terminales con máquina virtual instalada) o empleando .NET (para terminales con Windows Mobile o similar). La realización de aplicaciones de escritorio para la parte relacionada con el dispositivo NFC ofrece opciones como el uso de la API de la librería LibNFC [10]. 3. Aplicación al Laboratorio de Instrumentación Electrónica Este sistema va a ser empleado en el Laboratorio de Instrumentación Electrónica de 5º curso de la titulación de Ingeniero de Telecomunicación, como complemento para la formación práctica de los alumnos. Se trata de una asignatura práctica en la que los alumnos trabajan en grupos usando diferentes equipos de instrumentación como osciloscopios, analizadores de espectro, multímetros, analizadores lógicos, etc. Las prácticas están estructuradas en dos grupos. El primero, contiene prácticas guiadas, explicadas paso a paso. En estas prácticas, los alumnos aprenden y revisan el manejo básico de los aparatos de instrumentación, usándolos para obtener medidas en circuitos sencillos. El segundo grupo contiene prácticas donde los alumnos tienen que usar todo el conocimiento que han aprendido durante el primer grupo de prácticas, junto con otros conocimientos adquiridos durante la carrera, para solucionar los problemas propuestos en la práctica. Dado que esta asignatura pertenece al 5º curso, los alumnos ya tienen conocimientos de instrumentación, y aunque se supone que son capaces de manejar la mayoría de los aparatos, es aconsejable recordarles su uso. En esta estructura se han detectado algunos problemas, entre ellos destaca la falta de aplicación directa de los circuitos sobre los que se trabaja. Con el uso de esta plataforma de aprendizaje se pretende motivar al alumno mediante el empleo en aplicaciones prácticas reales de dispositivos electrónicos inalámbricos cotidianos. Para ello, se han planificado diversas sesiones de trabajo en las que los alumnos serán introducidos en el uso de las distintas tecnologías involucradas en el sistema desarrollado, hasta llegar al grado de conexionarlas formando el sistema pasarela completo. A continuación se esboza el contenido de las distintas sesiones planificadas: Familiarización con dispositivos embedded Bluetooth, y en el manejo y envío de comandos ASCII mediante comunicación serie desde un PC hasta los dispositivos WTs, para su configuración y el establecimiento de las comunicaciones Bluetooth. Manejo del lector/escritor de tags mediante un PC con comunicación serie. Estructura de memoria de los distintos tags, login de sectores, escritura y lectura de bloques de memoria. Introducción a las librerías BlueZ de Linux y uso de las mismas con dispositivos dongles USB. Desarrollo del sistema pasarela NFC-Bluetooth. Programación del microprocesador Atmega y
uso de la aplicación de depuración. Inserción de la comunicación del sistema pasarela con dispositivos móviles. Desarrollo de aplicaciones en el PC o en el teléfono móvil para mostrar los resultados del sistema de aprendizaje. 4. Conclusión En este trabajo se presenta una plataforma para la realización de prácticas relacionadas con la programación de sistemas empotrados, microcontroladores de bajo coste, dispositivos de comunicación inalámbrica NFC y Bluetooth. El sistema propuesto constituye una herramienta docente novedosa y útil en asignaturas de últimos cursos y carácter eminentemente práctico, como es el caso del Laboratorio de Instrumentación Electrónica en el que se utilizará el sistema, puesto que acerca aplicaciones de tipo práctico y reales al alumno. Trabajar con sistemas reales permitirá atraer la atención de los alumnos, ayudándoles a comprender mejor la utilidad de los conocimientos adquiridos a lo largo de la carrera. Finalmente, la amplia funcionalidad del sistema desarrollado permitirá a los alumnos desarrollar infinidad de aplicaciones prácticas con dispositivos móviles de uso diario. Referencias [1] Dean A.Gratton. Developing Practical Wireless Applications 216-224. [2] ECMA_International. Near Field Communication –white paper-(2004). [3] Bluetooth SIG, Bluetooth Baseband Specification, version 2.1+EDR, www.bluetooth.org. [4] Bluetooth SIG, Host Controller Interface Functional Specification, version 2.1+EDR, www.bluetooth.org. [5] C.Y.Leong, K.C.Ong, K.K.Tan*, O.P.GAN, Near Field Communication and Bluetooth Bridge System for Mobile Commerce. IEEE International Conference on Industrial Informatics 50-55 (2006). [6] M. Sallinen, E. Strömer, A. Ylisaukko-oja. Sensor Technologies and applications, SENSORCOMM’08. Second International Conference586-591 (2008). [7] G. Matas, I. Luque, M.A. Gómez-Nieto. How NFC can be used for compliance of European Higher Education Area Guidelines in European Universities. Near Field Communication NFC’09, first international workshop 3-8 (2009). [8] H. Mika, H. Mikko, A. Ylisaukko-oja. Practical implementation of passive and semi-passive NFC enabled sensor. Near Field Communication NFC’09, first international workshop 69-75 (2009). [9] Página oficial del proyecto Bluez http://www.bluez.org/ [10] Página oficial del proyecto LibNFC http://www.libnfc.org/
También puede leer