Realizamos un scan para servicios "Serial Port":
~$ sdptool search SP
Inquiring ...
Searching for SP on aa:bb:cc:dd:ee:ff ...
Service Name: Symarctic ExtGPS
Service Description: Share phone's built-in GPS ...
Service Provider: Symarctic Solutions
Service RecHandle: 0x10016
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
(... continues with other services...)
Creamos el dispositivo /dev/rfcommX para ExtGPS, con "rfcomm bind". El parametro "1" es la ID para la entrada /dev/, direccion mac y lo ultimo es el canal RFCOMM del servicio, en este caso el canal 5:
~$ sudo rfcomm bind 1 aa:bb:cc:dd:ee:ff 5
Cuando la aplicación conecta a /dev/rfcomm1, esta abierto para ExtGPS. Puedes probar la conexión con.:
~$ cat /dev/rfcomm1
Despues de la conexión en ExtGPS debería estar en verde y mostrando el nombre del equipo. Si la conexión al satelite está en verde tambien, deberias ver los datos en bruto del GPS NMEA en tu terminal. Pulsando Ctrl-C interrumpes la conexión, y el icono volverá a estar en rojo.
Para que al reiniciar el equipo nos cargue automáticamente la conexión deberemos editar el archivo rfcomm.conf:
~$ sudo gedit /etc/bluetooth/rfcomm.conf
Y editamos para que quede de la siguiente manera:
#
# RFCOMM configuration file.
#
rfcomm1 {
# # Automatically bind the device at startup
bind yes;
#
# # Bluetooth address of the device
device aa:bb:cc:dd:ee:ff; ← Aquí debe ir a mac de tu dispositivo.
#
# # RFCOMM channel for the connection
channel 5;
#
# # Description of the connection
# comment "Example Bluetooth device";
#}
Guardamos reinicamos el dispositivo usb y listo:
~$ sudo /etc/init.d/bluetooth restart
Instalar gpsd y gpsdrive:
~$ sudo apt-get install gpsd gpsdrive
Configurar gpsd para que conecte con el dispositivo gps:
~$ sudo gedit /etc/default/gpsd
# Default settings for gpsd. This file is sourced from
# /etc/init.d/gpsd.
START_DAEMON=”true”
DAEMON_OPTS=”″
DEVICES=”/dev/rfcomm1”
Para parar el demonio de gpsd ponemos “false” en lugar de “true”.
Ahora solo nos queda arrancar gpsdrive y a disfrutar.
En el proximo tutorial como usar GSPDrive y los mapas libres.
Salu2