30 de abril de 2015

Pizarra digital casera

No hace mucho, en la academia Crisan Formación, montamos un pequeño grupo maker para hacer aquellas cosas que nos apetecía, y a las que normalmente no les dedicamos tiempo. Y en este artículo voy a explicar una de esas cosas, que concretamente es crear una pizarra digital de bajo presupuesto.

Imagen de Francisco Cardoso Lima

Para ello, nos hemos basado en el proyecto Wiimote Whiteboard, que a su vez se inspira en el trabajo de Johnny Chung Lee.

Como nos gusta especialmente el software libre, la hemos desarrollado particularmente para el sistema operativo Ubuntu. Más abajo describiré los pasos que pueden ser necesarios para hacer funcionar el software, pero primero explicaré los aspectos generales para hacerlo funcionar.

 Componentes

Lo más práctico es partir de una lista con el material o componentes que se necesitan para llevarlo a cabo.
  • Tiza digital
  • Wiimote
  • Bluetooth
  • Ordenador
  • Proyector
La disposición de todos ellos se puede apreciar en la imagen siguiente.
Imagen de Francisco Cardoso Lima
Para interactuar con la pizarra digital, se emplea la tiza digital o bolígrafo de infrarrojos 1. Su luz infrarroja será detectada por el mando de la Wii 2, que está conectado a través de bluetooth con el ordenador 3. Por último las imágenes se proyectarán gracias al proyector 4 sobre la pared o pantalla 5.
De todos estos componentes, la tiza digital con infrarrojos, deberemos de fabricarla nosotros mismos. Lo que no es excesivamente complicado, y para lo que bastará con acudir a la tienda de electrónica más cercana, para adquirir:
un LED emisor infrarrojo, dependiendo del mismo una resistencia, un pulsador, y una pila con su portapilas correspondiente.

Una vez los tengamos, los conectaremos para formar el circuito de la tiza digital, y los montaremos dentro de algún tipo un rotulador vacío con el que podamos contar.

Configuración

Los siguientes pasos a realizar, se refieren a la configuración en el ordenador, y consistirán en:
  • Disponer de bluetooth en el ordenador
  • Asociar el wiimote con el ordenador por bluetooth
  • Descargar la aplicación para controlar la pizarra
  • Instalar las librerías adicionales
El disponer de bluetooth en Ubuntu no supone problema, tanto si el ordenador ya cuenta con este dispositivo, como si se lo conectamos en un puerto USB, lo reconocerá inmediatamente.


Lo que no suele ser tan inmediato es el asociar el wiimote por bluetooth debido a un bug. Nosotros lo hemos hecho instalando lswm, que nos permite conocer la dirección MAC del wiimote, y luego asociándonos a dicha MAC con hcitool, del siguiente modo:

sudo apt-get install lswm
sudo lswm

(Nos devolverá la MAC del mando, por ejemplo
Put Wiimotes in discoverable mode now (press 1+2)...
E8:4E:CE:53:66:97)

sudo hcitool cc E8:4E:CE:53:66:97


En este punto puede ser interesante, aunque no es necesario, comprobar que la asociación es correcta con el programa wmgui.


Descargar la aplicación Wiimote Whiteboard para Linux/Java, se puede hacer desde el siguiente enlace "oficial":

    http://www.uweschmidt.org/files/WiimoteWhiteboard.zip

Se necesita también la librería "bluecove-gpl", de la que descargaremos la versión 2.1.0 que es la indicada en el momento en que estoy escribiendo el artículo. También del enlace "oficial":

    http://bluecove.googlecode.com/files/bluecove-gpl-2.1.0.jar

También es necesario en Ubuntu instalar libbluetooth-dev para usar dicha librería, como explican acerca de los requerimientos en la web de bluecove.

sudo apt-get install libbluetooth-dev


Ahora hay que agregar la librería descargada en la aplicación que también acabamos de descargar. Los pasos los describo a continuación, pero para facilitaros las cosas más abajo os dejo un enlace a la aplicación ya modificada y lista.

    a) Descomprimimos el archivo WiimoteWhiteboard.zip
    b) Dentro localizamos el archivo WiimoteWhiteboard.jar
    c) En algún sitio a parte descomprimimos el archivo WiimoteWhiteboard.jar
    d) Dentro localizamos la carpeta lib
    e) En dicha carpeta agregamos el archivo bluecove-gpl-2.1.0.jar
    f) Volvemos a reconstruir el archivo jar con el nuevo archivo añadido

Nota1: En lib ya existe un archivo llamado bluecove-2.1.0.jar pero eso no significa que no tengamos que añadir el gpl.

Nota2: Aquí está el enlace "no oficial" de WiimoteWhiteboar.7z con la librería ya montada.

Ya sólo queda poner los siguientes comandos para establecer la ruta al jdk si no está así en el sistema. Ojo que estas rutas son las que corresponden a mi sistema y versión de Ubuntu, compruébalas para tu caso concreto y modifícalas si es necesario.

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

Y finalmente ejecutamos el programa

java -Dbluecove.debug=true -jar WiimoteWhiteboard.jar