Tomado de:crysol.orgPorque yo ampararé esta ciudad para salvarla, por amor a mí mismo, y por amor a David mi siervo.(2 Reyes 19:34)
Usaremos básicamente las utilidades instaladas por el paquete bluez-utils empleadas en el desarrollo de aplicaciones bluetooth.
Ingredientes
Todos ellos paqutes Debian/Ubuntu- bluetooth: la pila propiamente dicha
- bluez-pin: para gestionar los PIN
- bluez-utils: servidores y utilidades
- bluez-hcidump sniffer de tráfico HCI
Comandos
Entre los comandos que nos instalan estos paquetes, puedes encontrar:Examinar la interface
# hciconfig -a
hci0: Type: USB
BD Address: 00:08:1B:03:05:25 ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:385 acl:0 sco:0 events:18 errors:0
TX bytes:319 acl:0 sco:0 commands:17 errors:0
Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'homer'
Class: 0x3e0100
Service Classes: Networking, Rendering, Capturing
Device Class: Computer, Uncategorized
HCI Ver: 1.1 (0x1) HCI Rev: 0x20d LMP Ver: 1.1 (0x1) LMP Subver: 0x20d
Manufacturer: Cambridge Silicon Radio (10)
Escaner (usando una iface determinada)
$ hcitool -a hci0 scanSniffer de HCI
hcidumpServidor hci (hcid)
Su configuración está en/etc/bluetooth/hcid.conf y la base de datos con los pin en /etc/bluetooth/pinDBDescubrimiento de servicios
El demonio del protocolo de descubrimiento de servicios SDP (Service discovery protocol) essdpdGestión de SDP
# sdptool
sdptool - SDP tool v2.24
Usage:
sdptool [options] <command> [command parameters]
Options:
-h Display help
-i Specify source interface
Commands:
search Search for a service
browse Browse all available services
records Request all records
add Add local service
del Delete local service
get Get local service
setattr Set/Add attribute to a SDP record
setseq Set/Add attribute sequence to a SDP record
Services:
DID SP DUN LAN FAX OPUSH FTP HS HF SAP NAP GN PANU HID CIP CTP
A2SRC A2SNK AVRCT AVRTG SR1 SYNCML ACTIVESYNC HOTSYNC PALMOS
NOKID PCSUITE
sdptool add <servicio>, la lista de abajo del comando anterior nos muestra los servicios disponibles. Algunos comando útiles
Conhcitool scan obtendrás una lista de los dispositivos presentes a tu alrededor.$ hcitool scan
Scanning ...
00:15:A0:42:34:8D Nokia 6680
Para obtener una lista de los servicios que ofrece cada dispositivo usamos la herramienta sdptool, en nuestro caso, y para ver lo que ofrece el móvil:
# sdptool browse 00:15:A0:42:34:8D Browsing 00:15:A0:42:34:8D ... Service Name: Hands-Free Audio Gateway Service RecHandle: 0x10003 Service Class ID List: "Handfree Audio Gateway" (0x111f) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 2 Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Handfree Audio Gateway" (0x111f) Version: 0x0101 Service Name: Headset Audio Gateway Service RecHandle: 0x10004 Service Class ID List: "Headset Audio Gateway" (0x1112) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 3 Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Headset" (0x1108) Version: 0x0100 ...todos los servicios
Servicio dial-up networking
Nos vamos a centrar en el servicio dial-up networking, para ello observamos que la salida del comando anterior nos presenta la siguiente información:Service Name: Dial-Up Networking Service RecHandle: 0x1000e Service Class ID List: "Dialup Networking" (0x1103) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 3 Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100
/etc/bluetooth/rfcomm.conf e insertar una entrada tal que:rfcomm1 {
bind no;
device 00:15:A0:42:34:8D;
channel 3;
comment "Dial-up networking";
}
Reinicia para cargar la nueva configuración:
# /etc/init.d/bluez-utils restart Restarting bluez-utils: hcid sdpd rfcomm. # rfcomm release 1 # rfcomm connect 1 Connected /dev/rfcomm1 to 00:15:A0:42:34:8D on channel 10 Press CTRL-C for hangup
portátil a través de tu móvil tienes que configurar un enlace ppp a través del móvil.
Para eso, tienes comandos muy interesantes:
- pand: TCP/IP sobre Bluetooth
- —listen para el servidor
- —connect para el cliente
- /etc/bluetooth/pan/dev-up: pand ejecuta este script al levantar TCP/IP.
- dund: Ejecutar PPP sobre Bluetooth RFCOMM
- —listen para el servidor
- —connect para el cliente
portátil te pedirá en ambos dispositivos el pin.
Protocolo OBEX
Si quieres mandarle un archivo a tu teléfono puedes utilizar el protocolo OBEX. Congnome-obex-send puedes mandarle un archivo y con gnome-obex-server
debe aparecer una opción en nautilus, de forma que, si haces click en
el botón derecho sobre un archivo debería aparecer una opcion para
enviarlo via bluetooth.Configurando un Headset
Una interesante aplicación es la de poder usar uno de esos micrófonos y auriculares bluetooth. Estos dispositivos implementan un servicio denominado headset.Para ello existe un interesante proyecto basado en Alsa, lo puedes encontrar en bluetooth-alsa (no es paquete debian).
Dos errores que surgieron en la configuración son:
felix:# btsco Error: control open (hw:0): No such device Error: Can't find device. Bail
Otro problema, despues de instalar los drivers de alsa puede ser:
felix:# btsco Error: hwdep next device (hw:0): Operation not permitted Error: control open (hw:1): No such device Error: Can't find device. Bail
snd-bt-sco, está en el directorio kernel del programa btsco, tienes que ejecutar make; make install en dicho directorio.Si al hacer
modprobe snd-bt-sco, no lo encuentra (y se te ha compilado todo bien) copia el .ko a mano a /lib/modules/2.6.14-2-386/kernel/drivers/ poniendo la versión del kernel que tengas (la mia es una 2.6.14-2-386).Comentarios
Esta receta se irá ampliando conforme se prueben mas servicios y utilidades.Referencias
- bluetooth-alsa
- handset
- Bluez
- http://bluetooth-alsa.sourceforge.net/build.html
- http://packages.ubuntu.com/search?keywords=gnome-bluetooth
No hay comentarios:
Publicar un comentario