Descubrir equipos cercanos con Processing y bluetoothDesktop

Introducción.

En el presente artículo se describe el proceso de instalación de la librería bluetoothDesktop en GNU/Linux (para Windows es similar) que permite manipular el módulo de Bluetooth del dispositivo donde se ejecuta el sketch y con ella se implementa el procedimiento para detectar dispositivos cercanos que utilicen este protocolo de comunicaciones.

Obtener la librería.

Descargar la versión disponible mas reciente en el sitio web del proveedor.

http://www.extrapixel.ch/processing/bluetoothDesktop/download.html

Instalación de la librería.

Descomprimir el paquete recién descargado.

Mover el directorio bluetoothDesktop/ al directorio de librerías de Processing en ~/sketchbook/libraries/.  El resultado se deberá apreciar de la siguiente manera.
$ ls -l ~/sketchbook/libraries/bluetoothDesktop/

drwxr-xr-x 5 jimezam jimezam 4096 2010-12-08 22:47 examples
-rw-r–r– 1 jimezam jimezam  910 2007-12-17 21:25 howto.txt
drwxr-xr-x 3 jimezam jimezam 4096 2010-12-08 23:09 library
drwxr-xr-x 2 jimezam jimezam 4096 2010-12-08 22:47 src

Remover los siguientes archivos ubicados bajo el directorio ~/sketchbook/libraries/library/.

  • libavetanaBT.so
  • export.txt
  • bluecove-2.0.2-snapshot.jar
  • avetanaBT_readme.txt
  • avetanaBT.jar

Copiar en es mismo directorio los siguientes archivos que pueden obtenerse del sitio web de Bluecove.

  • bluecove-x.x.x.jar
  • bluecove-gpl-x.x.x.jar (requerido para Linux).

El contenido final de ese directorio se aprecia de la siguiente manera.

$ ls -l ~/sketchbook/libraries/bluetoothDesktop/library/

-rw-r–r– 1 jimezam jimezam 547156 2010-12-08 21:27 bluecove-2.1.0.jar
-rw-r–r– 1 jimezam jimezam  89022 2010-12-08 21:26 bluecove-gpl-2.1.0.jar
-rw-r–r– 1 jimezam jimezam   9409 2007-11-14 19:01 bluetoothDesktop.jar

Implementación.

Importar el paquete principal de la librería.

import bluetoothDesktop.*;

Crear un objeto para hacer referencia al dispositivo de Bluetooth.

Bluetooth bluetoothInstance = new Bluetooth(this);

Iniciar el proceso de descubrimiento de dispositivos cercanos.

bluetoothInstance.discover();

Implementar el método deviceDiscoverEvent el cual es llamado cada vez que un nuevo dispositivo Bluetooth es detectado.

void deviceDiscoverEvent(Device dev)
{
    println("Discovering ... name=" + dev.name + "; address=" + dev.address);
}

Implementar el método deviceDiscoveryCompleteEvent el cual es llamado una única vez al terminarse el proceso de descubrimiento.

void deviceDiscoveryCompleteEvent(Device[] devices)
{
  println("I Found " + devices.length+ " devices.");

  for(int i=0; i<devices.length; i++)
  {
    println(i + "# name=" + devices[i].name + "; address=" + devices[i].address);
  }
}

Aplicación de demostración.

Aplicación de demostración - Descubrir dispositivos Bluetooth cercanos
Aplicación de demostración - Descubrir dispositivos Bluetooth cercanos

Enlaces.

2 thoughts on “Descubrir equipos cercanos con Processing y bluetoothDesktop”

  1. Muy interesante el artículo, agregaría que hay que tener instalada la librería libbluetooth-dev en ubuntu.
    en caso de no tenerla se puede instalar así:
    sudo apt-get install libbluetooth-dev

    Slds

  2. No me funciono a decir verdad. Me sale el siguiente error: “Native Library bluecove_x64 not available”. Me podria colaborar con una solucion, gracias

Leave a Reply

Your email address will not be published. Required fields are marked *