Plataforma para el Aprendizaje de Tecnologías - IEEE-RITA

Anuncio
IEEE-RITA Vol. 6, Núm. 1, Feb. 2011
49
Plataforma para el Aprendizaje de Tecnologías
Inalámbricas y Redes de Sensores Basada en el
Sistema Open Hardware Denominado
Openmoko
J.M. Hinojo, Member, IEEE, F. Barrero, Senior Member, IEEE, S.L. Toral, Senior Member, IEEE, F.
Cortés
Title– Platform for Teaching Wireless and Sensor Networks
Technologies based on the Open Hardware System called
Openmoko.
Abstract– Recent progress in sensor networks and wireless
systems provides serious difficulties to the higher education
community for teaching these technologies. The complexity is so
high that no practical work content is normally found in the
related learning process. In this paper, a novel platform is
presented for teaching Bluetooth–based wireless sensor networks
and embedded systems. The system is based on a commercial
“Open Hardware” device called Openmoko, a personal computer
and a suite of software applications, with the objective of
introducing a learner–centre approach in aforementioned fields,
based on laboratory works in subjects assigned to the
Telecommunication Engineering degree and the Electronic
Engineering Department of the University of Seville.
Index Terms– Laboratory Education, Sensor Networks,
Wireless Technologies, Bluetooth.
L
I. INTRODUCCIÓN
OS mecanismos de gestión y transmisión de contenidos e
información están evolucionando notablemente en la
actualidad, favorecidos por el desarrollo de la sociedad de la
información y, sobre todo, por las tecnologías electrónicas [1].
Dentro de estos nuevos mecanismos cabe destacar los
estándares de comunicaciones inalámbricas, que permiten la
interconexión de sistemas dotados de una cierta inteligencia,
como pueden ser los sistemas empotrados, formando
complejas redes sin cables. Hoy en día es habitual encontrar
gran cantidad de sistemas interconectados entre sí, empleando
estándares como GPS, GPRS, WiFi, Bluetooth o Zigbee.
Aunque los sistemas de comunicación inalámbrica por
excelencia son las redes WiFi, utilizadas profusamente en el
J.M. Hinojo es Ingeniero de Telecomunicación y colabora con el grupo de
investigación adscrito a la Universidad de Sevilla denominado ACE-Ti,
TIC201 reconocido por la Junta de Andalucía.
F. Barrero, S.L. Toral y F. Cortés son miembros del grupo de investigación
ACE-Ti y profesores adscritos al Dpto. de Ingeniería Electrónica de la
Universidad de Sevilla, Avda. Camino de los Descubrimientos sn, 41092,
Sevilla, (email: [email protected]).
DOI (Digital Object Identifier) Pendiente.
mundo de la informática de consumo, otros estándares como
Bluetooth o Zigbee, de menor alcance y tasa de transferencia
de información pero también de mucho menor consumo, se
han abierto un importante hueco a nivel industrial
(recopilación de información extraída de sensores, acción de
control remota, etc.) o incluso comercial (cualquier teléfono
móvil o PDA que se precie de serlo incorpora en la actualidad
la capacidad de comunicarse empleando el estándar Bluetooth,
lo que ha permitido desarrollar nuevos sistemas de
información como son los sistemas de navegación en
interiores de edificios).
No obstante, la formación que los alumnos de Ingeniería
reciben sobre este tipo de sistemas es fundamentalmente
teórica y carece de la necesaria visión práctica por la dificultad
que supone desarrollar un sistema sencillo con el que los
alumnos puedan trabajar y adquirir destrezas profesionales en
un tiempo razonable [2]. Otro inconveniente asociado a este
tipo de sistemas es su indefinición programática, adscrita en
simultáneo a áreas de conocimiento diferentes como son la
tecnología electrónica, la teoría de la señal y las
comunicaciones o la telemática [3]. Para intentar mejorar la
visión práctica que el alumnado adquiere sobre el manejo de
sistemas de comunicación inalámbricos, en el Departamento
de Ingeniería Electrónica de la Universidad de Sevilla se está
llevando a cabo un importante esfuerzo en pro de la
remodelación de las prácticas de las diferentes asignaturas que
tiene adscritas. Este es el caso de dos asignaturas denominadas
“Complementos de Sistemas Electrónicos Digitales” y
“Laboratorio
de
Instrumentación
Electrónica”
y,
pertenecientes a 3er y 5º curso, respectivamente, de la
titulación de Ingeniería de Telecomunicación. Ambas
asignaturas aúnan esfuerzos en la actualidad para desarrollar
nuevas prácticas que permitan al alumno tener una visión más
clara y práctica sobre el manejo de los sistemas electrónicos
de comunicación y, en concreto, de los estándares
inalámbricos [4], [5]. Los estándares WiFi y Bluetooth son
algunos de los sistemas de comunicación inalámbrica que
centran estos nuevos desarrollos [6]. En este sentido, y dada
las asignaturas involucradas en la experiencia, parece
adecuado el desarrollo de actividades de tipo práctico que
involucren al alumno con el manejo de los sistemas
ISSN 1932-8540 © IEEE
50
IEEE-RITA Vol. 6, Núm. 1, Feb. 2011
empotrados, así como en el análisis y estudio de los sistemas
microprocesadores y microcontroladores actuales [7], con la
caracterización de enlaces inalámbricos basados en Bluetooth
[8]. En esta dirección se encamina la propuesta docente
planteada en este artículo: el desarrollo de un sistema que
permita al alumno familiarizarse de forma práctica con el
manejo de una tecnología inalámbrica tan extendida como
Bluetooth, mediante la programación de sistemas empotrados.
El artículo se ha organizado como sigue. En la siguiente
sección se describe el sistema propuesto. Sus aplicaciones
prácticas se muestran en la sección III. En la sección IV se
detallan los beneficios pedagógicos que se obtienen con este
sistema. Finalmente, las conclusiones se analizan en el último
apartado.
II. DESCRIPCIÓN DEL SISTEMA
El sistema implementado se basa en un ordenador personal
(PC) dotado de conectividad Bluetooth que ejecuta una
distribución de Linux, un dispositivo Openmoko que se
muestra en la Figura 1 [9], y un conjunto de aplicaciones que
permiten a los alumnos caracterizar los enlaces Bluetooth.
Algunas de las características más destacables que se pueden
estudiar del enlace Bluetooth son el establecimiento de
conexiones mediante la búsqueda de servicios por parte de la
aplicación cliente, cómo afecta a la búsqueda la publicación de
servicios de carácter privado o cómo se reconocen dichos
servicios por dispositivos comerciales como pueden ser los
teléfonos móviles comerciales.
Con respecto al PC, se ha utilizado un ordenador de
sobremesa de arquitectura x86, arquitectura con la que el
alumno está normalmente familiarizado. La distribución de
Linux instalada en el equipo se corresponde con una
distribución Ubuntu 9.04. La elección de esta distribución se
debe, en primer lugar, a que dispone de una extensa
comunidad de soporte. De esta forma, si un alumno se
encuentra con algún problema puede recurrir a simples
buscadores web, como Google, o a foros especializados en
esta distribución para resolverlo (se fomentaría así el
autoaprendizaje y la búsqueda de información por parte del
alumno). Un segundo motivo para esta elección pasa por la
gran cantidad de paquetes software existente, lo que permite
tener cómodamente actualizado el sistema, así como instalar
librerías adicionales de una manera sencilla. Por último, la
semejanza de las estructuras de ficheros a las distribuciones de
tipo Debian ofrece un punto de partida avanzado debido a
nuestra experiencia con este tipo de sistemas operativos.
Ubuntu se adapta, por tanto, a las exigencias que se le podrían
imponer a una distribución de Linux destinada a fines
educativos.
En cuanto a las herramientas de compilación para el PC, se
suministrará el compilador gcc [10], que cuenta además con la
ventaja de que se encuentra incorporado dentro del sistema
operativo como una utilidad más. El desarrollo de aplicaciones
mediante compilación cruzada permite que el alumno se
familiarice con un proceso de diseño económico, ya que la
programación y compilación se realiza en una máquina
Fig. 1. Sistema Openmoko denominado Neo FreeRunner.
diferente al sistema empotrado, ahorrando de esta manera
tiempo y costes en el desarrollo de dichas aplicaciones.
Otra ventaja añadida al uso de un sistema operativo
GNU/Linux es la utilización de una implementación libre de la
torre de protocolos Bluetooth denominada BlueZ [11], [12].
Ésta se caracteriza por presentar una gran flexibilidad,
eficiencia y modularidad en su implementación. De forma que
desde el punto de vista de la programación, el desarrollador
tan sólo necesita llamar a las funciones suministradas por la
API facilitada. Con este objetivo, se pueden distinguir los
siguientes módulos:
1)
2)
3)
4)
5)
Núcleo del subsistema Bluetooth.
Nivel L2CAP y gestión de enlaces SCO para audio.
RFCOMM, BNEP, CMTP y HIDP.
HCI UART, USB, PCMCIA y dispositivos virtuales.
SDP y demonios para gestionar los servicios
Bluetooth al arrancar el sistema operativo.
6) Herramientas para la interpretación y análisis de los
paquetes del protocolo.
El otro dispositivo que forma parte del sistema de
comunicaciones inalámbricas basado en Bluetooth es el
teléfono móvil de carácter libre Openmoko, en concreto la
versión Neo FreeRunner. Este terminal se corresponde con un
proyecto de hardware y software de carácter abierto destinado
a usuarios avanzados, con idea de que puedan personalizar el
terminal móvil satisfaciendo sus necesidades. Se caracteriza
por disponer de un microprocesador Samsung S3C2442B, que
presenta una arquitectura ARM920T a 400 MHz. Este tipo de
arquitecturas (ARM9x) se están implantando rápidamente en
los sistemas empotrados y móviles de comunicaciones debido
a su elevada potencia de cálculo, su bajo consumo y el bajo
coste de desarrollo que ofrecen. El uso de esta arquitectura
supone que, a la hora de generar el código fuente de cualquier
programa que se vaya a ejecutar en la plataforma Openmoko,
debamos hacer uso de la compilación cruzada para poder
obtener un ejecutable válido para el procesador en cuestión.
Otras ventajas adicionales que ofrece Openmoko son los dos
acelerómetros disponibles (ubicados en diferentes posiciones
para poder realizar las correcciones pertinentes a las medidas
obtenidas) o la conectividad GPRS, GSM, Bluetooth con
chipset CSR BlueCore 4, 802.11g y GPS, entre otras. Como se
puede comprobar, Openmoko es un sistema empotrado que
puede ser empleado en una gran cantidad de aplicaciones
ISSN 1932-8540 © IEEE
HINOJO et al.: PLATAFORMA PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS Y REDES DE...
diferentes, permitiendo que el alumno pueda investigar y
desarrollar tareas en áreas de conocimientos que involucren
las comunicaciones inalámbricas o los sistemas de
instrumentación, medida y adquisición de datos.
El sistema operativo que gobierna Openmoko es una
distribución de Linux para dispositivos móviles con un kernel
2.6.24, de forma que puede aprovecharse para que el alumno
adquiera abundantes conocimientos sobre la programación de
dispositivos móviles basada en el kernel de Linux, Figura 2. El
motivo por el que se adoptó un sistema operativo libre y no
uno privado, como puede ser Symbian o Windows Mobile, se
debe a que es de código abierto, lo que implica el control
absoluto de las aplicaciones externas adquiridas. Además, se
dispone de una gran libertad de uso y de desarrollo de
aplicaciones, así como de un amplio soporte por parte de
desarrolladores externos (es posible acceder, por ejemplo, a
una extensa API de programación que permite simplificar
tareas como la lectura de acelerómetros o de la señal del GPS).
Se consigue asimismo una gran reutilización de las
aplicaciones desarrolladas, estimándose que la creación de
aplicaciones será rápida puesto que, al ejecutar Linux, el
usuario del sistema únicamente debe conocer el
funcionamiento del mismo para empezar a diseñar y construir
una primera aplicación, algo muy habitual en la actualidad.
En cuanto a los dispositivos usados para establecer la
comunicación inalámbrica, se ha implementado el enlace
Bluetooth empleando dispositivos comerciales; dongle USB
con chipset CSR BlueCore 4 compatible con la versión 2.1 del
estándar Bluetooth. Esto permite realizar tareas como la
modificación de la potencia de transmisión durante el proceso
de inquiry, realizar búsquedas en modo RSSI extendido o
aumentar la velocidad de transferencia. El motivo de la
elección del enlace inalámbrico Bluetooth es su profusión a
nivel comercial, lo que se estima aumentará el interés por
parte de los alumnos. El dongle seleccionado dispone de
chipset compatible con la versión 2.1 del estándar Bluetooth
para que se pueda experimentar con todos los comandos de la
capa HCI, que permiten configurar la comunicación
inalámbrica a bajo nivel.
Finalmente, y para dotar de una cierta funcionalidad a la
plataforma de aprendizaje desarrollada, se ha implementado
una aplicación que sigue una arquitectura de tipo
cliente−servidor, haciendo uso del protocolo SDP (Service
Discovery Protocol) o protocolo de descubrimiento de
servicios. Este protocolo permite a los programas clientes
descubrir la existencia de diversos servicios proporcionados
por uno o varios servidores de aplicaciones, junto con los
atributos y propiedades de los servicios que se ofrecen. Dichos
atributos incluyen, a su vez, el tipo o clase de servicio ofrecido
y el mecanismo o la información necesaria para utilizarlo.
SDP se basa en una determinada comunicación entre un
servidor que contiene los servicios ofrecidos y un cliente que
desea algún servicio específico. El servidor mantiene una lista
de registros de servicios, los cuales describen las
características de estos. Cada registro contiene información
sobre un determinado servicio. Para recuperar la información
asociada a alguno de estos registros, el cliente debe realizar
51
Fig. 2. Estructura software del dispositivo Neo FreeRunner.
una petición SDP. Si el cliente o la aplicación asociada con el
cliente deciden utilizar un servicio deben establecer una
conexión independiente con el servicio en cuestión. SDP
proporciona un mecanismo para el descubrimiento de
servicios y sus atributos asociados, pero no proporciona
ningún mecanismo ni protocolo para utilizar dichos servicios.
Es en este punto donde se establece una comunicación
RFCOMM, Figura 3, que se corresponde con la emulación de
un puerto serie para transmitir información a través de él.
El cliente SDP, por otro lado, realiza una búsqueda de
servicios acotada por determinadas características. No
obstante, hay momentos en los que resulta deseable descubrir
todos los servicios ofrecidos por un servidor SDP sin que
pueda existir ningún conocimiento previo sobre los registros
que pueda contener. Este proceso de búsqueda de cualquier
servicio ofrecido se denomina navegación o browsing.
La tecnología inalámbrica Bluetooth hace un uso muy
amplio de procesos de descubrimiento que permiten a los
dispositivos identificarse entre sí cuando entran dentro del
radio de acción, y establecer las conexiones apropiadas para
que los dispositivos puedan ejecutar las aplicaciones comunes
y acceder a varios servicios. Por medio del descubrimiento de
servicios,
las
redes
personales
son
básicamente
autoconfigurables lo que convierte a los dispositivos portátiles
en elementos tecnológicos sencillos de utilizar. En
consecuencia, las conexiones son enteramente transparentes
para el usuario y no requieren asistentes de instalación ni
configuraciones en línea.
Fig. 3. Enlace de comunicación establecido por RFCOMM.
ISSN 1932-8540 © IEEE
52
IEEE-RITA Vol. 6, Núm. 1, Feb. 2011
III. APLICACIÓN DEL SISTEMA
El sistema tiene como finalidad su aplicación en prácticas
tanto en cursos sobre sistemas microprocesadores, como sería
el caso de la asignatura “Complementos de Sistemas
Electrónicos
Digitales”
centrada
en
dispositivos
microprocesadores y DSPs con aplicación en las
telecomunicaciones, como en asignaturas de últimos cursos,
donde se le presuponen al alumno los conocimientos
suficientes como para poder sacarle el máximo provecho al
sistema mediante la realización de trabajos prácticos. En
función del nivel del curso en el que se utilice se pueden
adaptar las prácticas.
Así, por ejemplo, en las asignaturas de cursos inferiores o
sobre microprocesadores y sistemas empotrados, se puede
emplear el sistema para introducir a los alumnos en el proceso
de compilación cruzada, con idea de que mediante la creación
de aplicaciones sencillas adquieran pericia con el proceso de
realización de programas para microprocesadores. Para ello, se
propondrá a los alumnos el desarrollo de una aplicación que
deben realizar y compilar en el PC empleando el compilador
cruzado y las librerías necesarias para, finalmente, descargarlo
en el sistema Openmoko, donde se ejecutaría y depuraría. Con
este objetivo, se ha desarrollado una API, de libre disposición
para los alumnos, que permite leer los valores de los
acelerómetros del terminal Openmoko. El alumno puede hacer
uso de las funciones incluidas en la API para realizar una
lectura del acelerómetro y, en función del valor obtenido,
generar una respuesta u otra en la pantalla del dispositivo
móvil. La API ha sido desarrollada en lenguaje C y está
pensada para que el alumno pueda interaccionar de forma
transparente con los periféricos comentados anteriormente, de
manera que pueda abstraerse del modo de funcionamiento de
los componentes y centrar su atención en el proceso de
compilación y en la gestión de los recursos del sistema.
Para facilitar la utilización de la API de programación, se ha
generado una amplia documentación con la herramienta
Doxygen. Esta aplicación se corresponde con un generador de
documentación automático para archivos con código fuente de
lenguajes de programación como C, C++ o Java. El único
requisito existente es la utilización del estilo y de las etiquetas
recomendado en el manual de la aplicación. La ayuda
generada puede ser exportada en formato HTML o PDF,
pudiendo ser fácilmente publicada en la web de la asignatura.
Así, se le proporciona al alumno un amplio manual de uso de
la interfaz de programación para promover su autoaprendizaje.
La Figura 4 muestra el tipo de documentación generada para
el interfaz de programación. Se observa el fichero “API.c”, así
como la descripción de las diferentes funciones diseñadas y
sus parámetros.
La práctica que deben realizar los alumnos consta de dos
aplicaciones en la arquitectura cliente/servidor. La primera de
ellas, a desarrollar en el dispositivo móvil Openmoko por
parte de los alumnos, ejerce el papel de cliente. El alumno
debe diseñar la parte de la aplicación encargada de la
adquisición de datos del acelerómetro. Utilizará para ello la
API desarrollada. El trabajo se centra en el uso de las
bibliotecas de funciones, así como en el proceso de enlazado y
de compilación. La parte de codificación se basa en la
interpretación de los datos obtenidos de los acelerómetros del
dispositivo móvil. La parte de la aplicación que funciona
como servidor, encargándose de procesar los datos enviados
por el terminal Openmoko, se ejecuta en un PC y genera la
interfaz gráfica que se muestra en la Figura 5.
Esta parte de la aplicación, desarrollada para probar el
funcionamiento del programa desarrollado por el alumno,
registra un canal RFCOMM en el que permanece a la espera
de un establecimiento de conexión por parte de la aplicación
cliente. En el momento en el que se produce esta conexión, el
servidor queda nuevamente a la espera de un comando
enviado por el cliente para activar un botón u otro en función
de los siguientes “eventos”:
Fig. 4. API desarrollada para el manejo del dispositivo Openmoko.
Aplicación
Logger:
*(Botón Activo)
DOWN -107 -115
DOWN -99 -151
UP 109 79
Arriba
Izquierda
Derecha
Abajo
Fig. 5. Interfaz gráfica del programa servidor o aplicación de supervisión.
ISSN 1932-8540 © IEEE
HINOJO et al.: PLATAFORMA PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS Y REDES DE...
1) Botón ARRIBA. Se activa cuando la lectura
procedente de los acelerómetros indica un
movimiento ascendente.
2) Botón ABAJO. Se activa cuando la lectura
procedente de los acelerómetros indica un
movimiento descendente.
3) Botón IZQUIERDA. Se activa cuando la lectura
procedente de los acelerómetros indica un
desplazamiento lateral hacia la izquierda.
4) Botón DERECHA. Se activa cuando la lectura
procedente de los acelerómetros indica un
desplazamiento lateral hacia la derecha.
Por otra parte, en los últimos cursos, los alumnos poseen un
mayor conocimiento de diversas disciplinas como telemática,
teoría de la señal o electrónica. Esto permitiría sacarle un
mayor provecho al sistema, puesto que en este caso pueden
aplicar los conocimientos adquiridos en la titulación para
aplicarlos en la creación de complejas aplicaciones. Para
ayudar a los alumnos en esta tarea, se ha desarrollado una
segunda aplicación orientada a servicios web. La Figura 6
muestra en un diagrama de bloques la funcionalidad de la
aplicación web desarrollada. Se puede observar que la parte de
la aplicación que actúa como servidor en el PC de sobremesa
se encuentra implementada mediante páginas webs, que el
usuario en cuestión deberá solicitar para obtener cierta
información. Con ello se pretende conseguir que sólo se tenga
que efectuar una conexión a una determinada URL para
obtener los contenidos solicitados. En este sentido, las páginas
web se han desarrollado en PHP para simplificar su
programación y poder interactuar fácilmente con bases de
datos como MySQL. Debido a que se ha optado por utilizar un
servidor web como Apache, en el lado del servidor deberá
existir una segunda aplicación que será la encargada de actuar
a modo de pasarela entre el servidor y los usuarios (Apache
está orientado a la respuesta de peticiones HTTP efectuadas a
través de la torre de protocolos TCP/IP, por lo que para poder
interactuar con el cliente, que usa Bluetooth, se necesita una
pasarela). Las tareas implementadas por la aplicación son las
siguientes:
Publicación del servicio SDP. Mediante este paso se
consigue registrar en el servidor el servicio
correspondiente a la aplicación, permitiendo al
cliente efectuar una búsqueda de dispositivos en
función del mismo. Éste se almacena en una tabla de
servicios que SDP se encarga de hacer pública para
que los clientes puedan efectuar la búsqueda de los
equipos a través de los servicios que ofrece.
Apertura de un socket RFCOMM para la escucha de
clientes. En esta segunda etapa, la pasarela debe
registrar un socket para poder permanecer a la
escucha de posibles peticiones de contenidos por
parte del cliente.
Redirección de la petición del cliente al servidor
Apache. Finalmente, tras aceptar una conexión de un
cliente, la pasarela deberá trasladar la petición del
usuario al servidor Apache. Para esta tarea deberá
53
Cliente
GUI
Conexión
Bluetooth
Petición
tooth
Blue
Conexión
Bluetooth
Pasarela
Bluetooth-HTTP
Apache
Servidor
Fig. 6. Estructura de la aplicación desarrollada.
desempaquetar los datos adquiridos a través del
protocolo RFCOMM de Bluetooth y enviarlos como
una petición HTTP hacia el servidor.
El cliente debe, a su vez, poder buscar un equipo a partir de
un determinado servicio mediante el protocolo SDP. Para ello
es necesario implementar un proceso de descubrimiento para
determinar así los dispositivos Bluetooth que se encuentran
dentro del rango de cobertura del cliente. Después de obtener
la lista de los dispositivos al alcance del cliente, se debe
consultar a cada uno de los equipos por el servicio en cuestión,
obteniendo únicamente una respuesta afirmativa por parte del
servidor. Una vez obtenida la dirección Bluetooth del equipo
servidor, así como los parámetros de configuración de la
comunicación RFCOMM definidos en el servicio, se realiza
una petición HTTP para obtener un fichero con la información
necesaria para construir la interfaz gráfica de la aplicación
cliente: http://127.0.0.1/index.php?menu=main.men. Así, el
usuario puede comprobar los contenidos que existen en el
servidor y solicitar aquel por el que muestre interés mediante
la pulsación del botón adecuado. Al realizar dicha pulsación,
se volvería a desencadenar una nueva petición HTTP hacia el
servidor, solicitando el fichero asociado a la nueva ventana. La
Figura 7 muestra la interacción que se produce entre el cliente
y el servidor.
Se aprovecha, por tanto, el protocolo SDP para descubrir
aquellos dispositivos que pertenecen a nuestro sistema para
solicitarles posteriormente un inicio de conexión y establecer
peticiones de información a través del enlace establecido.
Según este principio de funcionamiento, lo primero que se
ejecuta al arrancar el programa cliente es un escaneo de los
dispositivos que tiene a su alcance para que, una vez
detectados todos, se pueda realizar una consulta a cada uno de
ellos determinando si el servicio que se solicita está
disponible. En caso de encontrarse el servicio, deberán
solicitarse sus atributos para poder configurar la petición de
conexión. Una vez configurada, se solicita el inicio de una
comunicación mediante el establecimiento de una conexión
RFCOMM al canal donde el servidor, por medio de la
pasarela, se encuentra a la escucha. Posteriormente, y después
de la detección del equipo remoto y del establecimiento de la
conexión, el cliente solicita el fichero principal de
configuración de los menús, que alberga la temática de las
entradas. Este fichero es procesado por el cliente para detectar
las entradas asociadas a texto plano y las que hacen referencia
a botones, construyéndose la interfaz gráfica de la aplicación
ISSN 1932-8540 © IEEE
54
IEEE-RITA Vol. 6, Núm. 1, Feb. 2011
Fig. 7. Diagrama de paso de mensajes que describe la interacción entre el
cliente y el servidor.
Fig. 8. Descripción de los ficheros con los contenidos de los menús y su
extrapolación a la interfaz gráfica.
cliente en tiempo de ejecución. El formato del fichero
utilizado para tal fin se muestra en la Figura 8.
En cuanto a la programación del cliente, se ha optado por
utilizar el lenguaje interpretado Python, debido a la facilidad y
flexibilidad que aporta en el diseño de las aplicaciones. La
principal ventaja es que puede correr en cualquier sistema
operativo, ya sea Windows, GNU/Linux o Mac OS X gracias
a que la máquina virtual que ejecuta el código se ha portado a
Java y a .NET. Además, Python se caracteriza por ser libre,
por lo que no se necesita pagar por su utilización, incluso en
sistemas comerciales. Esto se debe a su licencia de tipo Open
Source aprobada por el organismo OSI. La librería gráfica
utilizada para dotar de entorno gráfico a la aplicación utiliza la
biblioteca pyGTK, que se corresponde con la adaptación de
GTK+ al lenguaje de programación Python. Su elección está
justificada por su carácter multiplataforma y por su facilidad
de uso, pudiendo conseguir prototipos de la aplicación final en
un plazo de tiempo inferior al de otros lenguajes como puede
ser C. Al igual que en el caso de Python, se corresponde con
código libre por lo que se puede usar, modificar, distribuir y
estudiar con muy pocas restricciones, como consecuencia de la
licencia LGPL sobre la que se distribuye.
El funcionamiento de esta aplicación se ha comprobado
mediante la interacción de un usuario con la aplicación cliente,
de forma que el dispositivo móvil Openmoko se encontrase en
el rango de cobertura del servidor. Se realizaron dos pruebas,
una primera en la que se modificó el tiempo de búsqueda del
servidor por parte del cliente (buscando minimizar el tiempo
que el cliente debe esperar para poder encontrar al servidor), y
una segunda en la que se declaró un servicio como privado
para comprobar que verdaderamente dicho servicio quedaba
oculto al cliente, Figura 9. La aplicación desarrollada pretende
servir de ejemplo de la potencia que pueden tener las
tecnologías inalámbricas destinadas al intercambio de
información en distancias cortas, como es Bluetooth, cuando
se integra con otras tecnologías ampliamente utilizadas como
son los servidores web. Además, no sólo permite demostrar el
potencial de este tipo de sistemas en el mercado actual sino
que, a su vez, posee una función pedagógica al permitir el
estudio de parámetros importantes del estándar Bluetooth y la
familiarización con aplicaciones orientadas a servicios web.
La aplicación descrita se utiliza como punto de partida en la
asignatura “Laboratorio de Instrumentación Electrónica” para
el desarrollo de un trabajo conjunto. El trabajo se estructura en
los siguientes trabajos asignados a 4 grupos:
1) Empleo de los acelerómetros del sistema para
gestionar la navegación en un menú.
2) Creación de un escritorio sonoro que interprete la
estructura de navegación asociada a ese menú.
3) Adaptación de la información para su transmisión por
enlace Bluetooth.
4) Creación de una interfaz gráfica adaptada al proyecto
y realizada en pyGTK que integre las tres tareas
anteriores.
Cada grupo debe desarrollar sus propias tareas, pero
teniendo en cuenta que los entregables generados deben
cumplir con las especificaciones de modularidad e integración
de una aplicación general. Por tanto, este esquema de trabajo
no sólo fomenta la colaboración entre los miembros de los
grupos, sino que también fomenta la colaboración entre grupos
en base a una especificación global.
Fig. 9. Pruebas realizadas de la aplicación.
ISSN 1932-8540 © IEEE
HINOJO et al.: PLATAFORMA PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS Y REDES DE...
IV. PRESTACIONES PEDAGÓGICAS DEL SISTEMA
El sistema que se plantea pretende englobar beneficios que
se consiguen a partir del denominado aprendizaje cooperativo
[13] y del aprendizaje basado en proyectos [14], sin centrarse
exclusivamente en alguno de estos métodos. El aprendizaje
cooperativo se basa en la teoría constructivista del proceso
enseñanza−aprendizaje, que fomenta la creación de grupos
pequeños formados por estudiantes con diferentes habilidades1
a los que se les encomiendan pequeñas tareas para ahondar en
el conocimiento de una materia. Se basa en el fomento de la
discusión entre los propios alumnos del trabajo realizado, para
mejorar la eficiencia y calidad del proceso de aprendizaje y
potenciar la interacción. Una de las principales características
de esta metodología es la interdependencia que deben tener los
miembros del grupo, que deben identificar que el grupo sólo
podrá lograr sus objetivos si colaboran entre sí todos los
miembros. Permite al alumno, por tanto, desarrollar aptitudes
de tipo social [15]. El aprendizaje basado en proyectos
establece a su vez que la asimilación de conocimiento requiere
de su aplicación en un contexto real, forzando una mayor
implicación del alumno en el proceso de aprendizaje2 [16]–
[17]. El conocimiento se transmite al alumno de forma
tradicional, pero no se considera asimilado hasta que éste no
realiza un proyecto real basado en dicho conocimiento.
El valor pedagógico del sistema desarrollado incorpora
prestaciones de ambos métodos, como se muestra en la Tabla I
y se detalla en [6]. Las principales aportaciones que ofrecería
este sistema, a semejanza de otros sistemas de aprendizaje
cooperativo son [18]–[19]: (i) el conocimiento se crea al
compartirse (se fomenta la interacción entre los alumnos de un
grupo, así como entre grupos de manera que el mayor número
posible de alumnos comparta la información adquirida para
incrementar el grado de aprendizaje colectivo siguiendo la
teoría cooperativa del aprendizaje); (ii) el proceso docente
comienza con la impartición de seminarios para transmitir al
alumno conocimientos previos que le permitan abordar la
tarea planteada; y (iii) se fuerza la participación del alumno
mediante la celebración de reuniones periódicas y de
asistencia obligatoria. Para alcanzar dichas premisas, se ha
fomentado el trabajo en equipo de los grupos para la solución
de problemas en base a un proceso de discusión e
interpretación de resultados, fomentándose la participación en
el grupo mediante la autoevaluación en el grado de
implicación de los miembros. Los grupos de trabajo se han
constituido de manera intencionada para que los alumnos que
los forman tengan diferentes currículum y conocimientos
previos, disponiendo de todos los recursos técnicos necesarios
(acceso total a documentación, equipos de laboratorio y
framework de aplicaciones para manejo del dispositivo
Openmoko) para el desempeño de la actividad propuesta. Por
su parte, como sistema de aprendizaje constructivista, el
sistema propuesto también aporta prestaciones que definen un
1
Obsérvese la diferencia que existe entre la teoría constructivista del
aprendizaje y la forma con la que se conforman los grupos de trabajos
prácticos en la Universidad actual.
2
Esta metodología es diametralmente opuesta a la empleada en el mundo
Universitario, centrada en el profesor y sus exposiciones.
55
aprendizaje basado en proyectos [20]–[21]: (i) procedimiento
basado en el currículum, así como en los principios y
disciplina estudiados, y centrado en aplicaciones reales que se
podrán encontrar los estudiantes en el desempeño de su
actividad normal; (ii) dirigido a un objetivo que genere
cuestiones, permita la construcción de conocimiento y el
desarrollo de una solución válida y aplicable; (iii) fomenta la
autonomía del estudiante.
El conjunto de desarrollos que los alumnos pueden realizar
en el laboratorio sobre la base del sistema open hardware
denominado Openmoko está centrado en las aplicaciones de
los dispositivos móviles comerciales. El uso de redes
inalámbricas soportadas por el estándar Bluetooth o de
dispositivos como son los acelerómetros, muy cercanos al
alumno debido a su empleo en el desarrollo de productos
comerciales relacionados con las TIC (como serían las
videoconsolas de última generación), permite acercar al
alumno a tecnologías emergentes relacionadas con su
formación y futuro profesional. Se conseguiría, de esta
manera, una mayor motivación del alumno, lo que se antoja
especialmente necesario en los últimos cursos de la carrera, en
los que el alumno no percibe una aplicación práctica y real de
los conocimientos adquiridos. Por otro lado, la realización de
un trabajo práctico realista a partir de otros subproyectos de
menor envergadura fuerza la interacción entre alumnos en los
grupos y entre los propios grupos para llegar a buen puerto en
los objetivos planteados, fomentando la discusión e
interacción entre alumnos como metodología docente.
V. CONCLUSIONES
En este artículo se presenta una plataforma de
comunicaciones inalámbricas, basada en el estándar Bluetooth
y diseñada para motivar a los alumnos de la titulación de
Ingeniería de Telecomunicación en la realización de trabajos
prácticos mediante el uso de dispositivos electrónicos de
consumo. La base del sistema recae en un dispositivo “open
hardware” denominado Openmoko, que ofrece un entorno de
trabajo totalmente configurable por el alumno. La existencia
de una comunidad de desarrolladores detrás del dispositivo
seleccionado, especialmente en los aspectos relacionados con
el sistema operativo, permite reducir los tiempos de
aprendizaje, aumentar los conocimientos adquiridos y
fomentar el autoaprendizaje y la búsqueda de información por
parte del alumnado, cualidades que resultarán muy
beneficiosas en su futura actividad profesional. El sistema
permite, finalmente, realizar trabajos prácticos de diferente
envergadura, adaptada a contenido del curso y/o asignatura de
la titulación de Ingeniería de Telecomunicaciones en que se
aplique.
AGRADECIMIENTOS
Este trabajo se ha realizado en el marco del proyecto
“Introducción de Nuevas Metodologías Sistémicas de
Enseñanza en Laboratorio basadas en Proyectos
Cooperativos”, financiado por el I Plan Propio de Docencia de
la Universidad de Sevilla, dentro del programa de proyectos
de Innovación y Mejora Docente.
ISSN 1932-8540 © IEEE
56
IEEE-RITA Vol. 6, Núm. 1, Feb. 2011
TABLA I.
CUMPLIMIENTO, POR PARTE DEL SISTEMA DESARROLLADO, DE PREMISAS RELACIONADAS CON APRENDIZAJES COOPERATIVO Y
BASADO EN PROYECTOS [6].
Aprendizaje cooperativo [*]
Premisas
Habilidades
Toma de
Gestión del
Razonamiento
Habilidades
Motivación
Colaboración
Planificación
Tareas
cooperativas
decisiones
tiempo
sistémico
cognitivas
*
*
*
*
Resolución de la
+
+
+
+
tarea presentada
Generación de la
documentación
del proyecto
Definición de una
interfaz de
integración
Determinación de
hitos y
entregables
Manejo de los
acelerómetros
Programación de
la interfaz gráfica
Gestión de
comunicaciones
inalámbricas
Sesiones de
control
obligatorias
Tareas
Premisas
*
+
*
*
+
+
+
+
+
*
+
*
*
*
+
*
*
*
+
+
+
+
*
*
+
+
+
+
*
+
+
*
*
*
+
*
+
*
*
+
*
+
+
*
+
+
Compartir
conocimiento
Multidisciplinar
Autonomía del
estudiante
Trabajo
realista
Investigación
constructivista
Aprendizaje basado en proyectos [+]
+
Adaptado a
la titulación
Participación
Adaptado a
descriptores de
asignatura
REFERENCIAS
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
S.L. Toral, F. Barrero, M.R. Martínez−Torres, S. Gallardo, “Interactive
multimedia Teaching of Digital Signal Processors,” Computer
Applications in Engineering Education, Vol. 15, no. 1, pp. 88−98, 2007.
S.L. Toral, M.R. Martínez−Torres, F. Barrero, S. Gallardo, M.J. Durán,
“An Electronic Engineering Curriculum Design based on
Concept−Mapping Techniques,” International Journal of Technology
and Design Education, Vol. 17, no. 3, pp. 341−356, 2007.
S.L. Toral, M.R. Martínez−Torres, F. Barrero, “Reforming ICT
Graduate Programs to Meet Professional Needs,” Computer, Vol. 43, no.
10, pp. 20−27, 2010.
F. Barrero, S.L. Toral, S. Gallardo, “eDSPLab: Remote laboratory for
experiments on DSP applications,” Internet Research, Vol. 18, no. 1, pp.
79−92, 2008.
D. Gutiérrez, E. Marsal, M. Soto, J.M. Hinojo, F. Cortés, F. Barrero,
S.L. Toral, “Plataforma para el Aprendizaje de Tecnologías Inalámbricas
y Redes de Sensores basada en el Sistema Open Hardware denominado
OpenMoko,” 10º Congreso de Tecnologías Aplicadas a la Enseñanza de
la Electrónica (TAEE2010), premio “accesit” a las mejores
contribuciones en la temática de laboratorios, 2010.
S.L. Toral, F. Barrero, F. Cortés, J.M. Hinojo, D.G. Reina, “A new
Systemic Methodology for Lab Learning based on a Cooperative
Learning Project,” Procedings del IEEE EDUCON 2010 Conference,
EDUCON2010, 2010.
S.L. Toral, F. Barrero, M.R. Martínez−Torres, S. Gallardo, “Interactive
multimedia Teaching of Digital Signal Processors,” Computer
Applications in Engineering Education, Vol. 15, no. 1, pp. 88−98, 2007.
Bluetooth SIG. Core Specification v2.1+EDR. Disponible en:
http://www.bluetooth.com. (Septiembre, 2010)
Proyecto
Openmoko,
http://wiki.openmoko.org/wiki/Main_Page.
(Septiembre, 2010)
[10] H. Schildt. C: Manual de referencia. McGraw−Hill, 2002.
[11] BlueZ. http://www.bluez.org. (Septiembre, 2010).
[12] Albert S. Huang, Larry Rudolph. Bluetooth essentials for programmers,
Cambridge University Press, 2007.
[13] R.E. Slavin, S. Kagan, S. Sharan, Learning to Cooperate, Cooperating to
Learn, Basic Books, New York, 1985.
[14] E.D. Graaff, A. Kolmos, “Characteristics of Problem-Based Learning,”
International Journal of Engineering Education, Vol. 19, no. 5, pp.
657−662, 2003.
[15] T.Y. Chan, R.M. Wang, B.S. Jong, Y.T. Hsia, T.W. Lin, “Conceptual
graph based learning material producing strategy for cooperative
learning,” 38th Annual Frontiers in Education Conference, Vol. 22−25,
pp. 15−19, 2008.
[16] M. Prince, R. Felder, “The many faces of inductive teaching and
learning,” Journal of College Science Teaching, Vol. 36, no. 5, pp. 14–
20, 2007.
[17] S.W. van Rooij, “Scaffolding project-based learning with the project
management body of knowledge (PMBOK®),” Computers &
Education, Vol. 52, no. 1, pp. 210–219, 2009.
[18] B. Lin, & C. Hsieh, “Web−based teaching and learner control: a research
view,” Computers & Education, Vol. 37, pp. 377–386, 2001.
[19] M. Cole, “Using Wiki technology to support student engagement:
Lessons from the trenches,” Computers & Education, Vol. 52, pp. 141–
146, 2009.
[20] W. Thomas, S.K. MacGregor, “Online project-based learning: How
collaborative strategies and problem-solving processes impact
performance,” Journal of Interactive Learning Research, Vol. 16, no. 1,
pp. 83–107, 2005.
[21] S.W. van Rooij, “Scaffolding project-based learning with the project
management body of knowledge (PMBOK®),” Computers &
Education, Vol. 52, no. 1, pp. 210–219, 2009.
ISSN 1932-8540 © IEEE
HINOJO et al.: PLATAFORMA PARA EL APRENDIZAJE DE TECNOLOGÍAS INALÁMBRICAS Y REDES DE...
57
Jose María Hinojo (S’10) es Ingeniero de
Telecomunicación (2010) por la Universidad de
Sevilla. En 2009 ingresa en el Dpto. de Ingeniería
Electrónica de la Universidad de Sevilla como
becario de colaboración, donde continúa en la
actualidad realizando un Máster oficial en
Electrónica,
Tratamiento
de
Señales
y
Comunicaciones.
Sergio Luis Toral (M’01–SM’06) es Ingeniero
Industrial (1995) y Dr. Ingeniero Industrial (1999) por
la Universidad de Sevilla. En 1995 ingresa como
docente en el Dpto. de Ingeniería Electrónica de la
Universidad de Sevilla, donde continúa en la
actualidad como Profesor Titular.
Federico Barrero (M’04–SM’05) es Ingeniero
Industrial (1992) y Dr. Ingeniero Industrial (1998) por
la Universidad de Sevilla. En 1992 ingresa como
docente en el Dpto. de Ingeniería Electrónica de la
Universidad de Sevilla, donde continua en la
actualidad como Profesor Titular.
Francisco Cortés es Ingeniero de Telecomunicación
(2005) por la Universidad de Sevilla. En 2008 ingresa
como docente en el Dpto. de Ingeniería Electrónica de
la Universidad de Sevilla, donde continúa en la
actualidad como Profesor Sustituto y realizando su
Tesis Doctoral.
ISSN 1932-8540 © IEEE
Descargar