PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y BLUETOOTH

Página creada Mateo Montoya
 
SEGUIR LEYENDO
PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y BLUETOOTH
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
PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y BLUETOOTH
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
PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y BLUETOOTH
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,
PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y 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
PLATAFORMA BASADA EN MICROPROCESADOR PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS RFID, NFC Y BLUETOOTH
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