nohands: convirtiendo nuestro PC en un manos libres bluetooth

Arco

Para los que pasamos muchas horas delante del ordenador, puede ser interesante que éste se comporte como nuestro teléfono móvil sin necesidad de apartar nuestra atención del equipo. Para ello tenemos que hacer que nuestro dispositivo bluetooth implemente el HFP Profile. De eso va esta receta.

Ingredientes

Primero instalamos los paquetes necesarios para que nos funcione el invento (apt-get o aptitude al gusto):

  • subversion
  • g++
  • autoconf
  • libtool
  • libspeexdsp-dev
  • libasound2-dev
  • libbluetooth-dev
  • libaudiofile-dev
  • libdbus-1-dev

Con todo esto ahora podemos descargarnos el proyecto , que es candidato para formar parte de la pila bluez, conocida por todos nosotros. Ahora sólo nos queda descargarnos lo último de lo último:

$ svn co https://nohands.svn.sourceforge.net/svnroot/nohands/trunk nohands

Compilación e instalación

Primero compilamos todo...
$ cd nohands
$ ./autogen.sh
$ ./configure && make
$ sudo make install

Pseudo BUG:Si tenemos libbluetooth1-dev, dará un error de compilación en el archivo nohands/libhfp/bf.cpp. Esto se debe a que la línea 81 dice lo siguiente:

attr2 = SDP_ATTR_SUPPORTED_FEATURES;

Y habría que poner lo siguiente:

attr2 = SDP_SUPPORTED_FEATURES;

Podéis cambiarlo y ya os compilará sin problemas... de todas formas es mejor usar libbluetooth2-dev (o lo que es lo mismo, libbluetooth-dev)

Probando... 1, 2, 3...

Algo que faltaría en Ingredientes es algo evidente: tarjeta de sonido funcionando y opcionalmente un micrófono y un altavoz. Conectamos todo eso al equipo, con la mezcladora ajustamos los valores de captura de micrófono y reproducción PCM y lanzamos el programa:

$ hfconsole

Nos aparecerá lo siguiente:


Imagen increíblemente realista de cómo se vería la aplicación recién instaladita.

Para buscar nuestro teléfono pulsamos en "Search for Device...", entonces aparecerá lo siguiente:


Otra imagen realmente impresionante de la aplicación buscando dispositivos bluetooth.

No os preocupéis si no sabéis la dirección mac de vuestro teléfono porque se irán resolviendo los nombres poco a poco. Cuando lo tengáis, lo marcáis y pulsáis "Añadir". Si tenéis varios los podéis añadir también, pero recordad que una limitación de Bluetooth es que sólo se puede mantener una conexión SCO a la vez, esto quiere decir que aunque el programa atienda a varios móviles, únicamente uno podrá hacer streaming del audio a la vez. Cuando hayamos cerrado la ventana de búsqueda de dispositivos, el programa se conectará con el móvil y tomará este aspecto:


La última imagen, y no por ello menos impresionante, de la aplicación haciendo uso del móvil que hayamos elegido...

...¡y ya tenéis control sobre el móvil!

Un único detalle más: por defecto se usa la tarjeta de sonido seleccionada como default en ALSA, podéis elegir la tarjeta de entrada y de salida en las preferencias del programa, en el recuadro "Device / Options" podéis escribir lo siguiente, por ejemplo:

in=hw:2,1&out=hw:3,0

Esto haría que se capturase del canal 1 de la tarjeta de sonido 2, enviando ese audio al móvil y que el canal 0 de la tarjeta 3 reprodujese lo que el móvil esté recibiendo.

Referencias

...tenéis los enlaces por toda la receta ;)