Brincando com bluetooth

Para procurar por dispositivos bluetooth execute:
$ hcitool scan

Obtendo informacoes sobre o dispositivo encontrado:
$ hcitool info 00:11:22:33:44:55
Onde 00:11:22:33:44:55 é a identificacao do dispositivo encontrado pelo hcitool.

Obtendo o nome do dispositivo encontrado:
$ hcitool name 00:11:22:33:44:55

Para verificar quais servicos o dispositivo encontrado suporta:
$ sdptool browse 00:11:22:33:44:55

Para verifica se o dispositivo suporta um servico específico, execute:
$ sdptool search –bdaddr 00:11:22:33:44:55 DUN

Possiveis servicos:
DID SP DUN LAN FAX OPUSH FTP PRINT HS HF HFAG SAP NAP GN PANU
HCRP HID KEYB WIIMOTE CIP CTP A2SRC A2SNK AVRCT AVRTG UDIUE UDITE
SEMCHLA SR1 SYNCML SYNCMLSERV ACTIVESYNC HOTSYNC PALMOS NOKID
PCSUITE NFTP NSYNCML NGAGE APPLE ISYNC

Para parear seu computador com o dispositivo execute:
# hcitool cc 00:11:22:33:44:55

Para entrar com a senha pedida pelo dispositivo:
# passkey-agent ‘senha do dispositivo’ 00:11:22:33:44:55 &

Para listar os arquivos no dispositivo conectado:
$ obexftp -b 00:11:22:33:44:55 -c / -l
Browsing 00:11:22:33:44:55 …
Channel: 7
Connecting…done
Sending “”… done
Receiving “(null)”…
folder-listing
folder name=”Memória do telefone”
folder name=”Memory Stick”
done
Disconnecting…done

Onde “-c /” indica que estamos interessados em ler o diretório raíz (/).

Para baixar um arquivo do dispositivo use:
$ obexftp -b 00:11:22:33:44:55 -c /Pictures -g picture1.jpg

Para enviar um arquivo para o dispotivo use:
$ obexftp -b 00:11:22:33:44:55 -c /Pictures -p file.jpg

Para mudar a classe do seu bluetooth use:
# hciconfig info hci0 class 0×200404
Alguns exemplos de classes:
0×200404 – Audio/Video, Headset
0x3e0100 – Computador, Uncategorized
0×50204 – Phone, Cellular

——————————————————————————————————–
TRANSFORMANDO SEU COMPUTADOR EM UM FONE DE OUVIDO:
——————————————————————————————————–

Mude a classe para Headset:
# hciconfig hci0 class 0×200404

Verifique se ele aceitou a classe:
# hciconfig hci0 class
hci0: Type: USB
BD Address: 00:09:DD:50:84:C1 ACL MTU: 310:10 SCO MTU: 64:8
Class: 0x0c0404
Service Classes: Rendering, Capturing
Device Class: Audio/Video, Device conforms to the Headset profile

Adicione o servico A2SNK:
# sdptool add a2snk
Audio sink service registered

Verifique se o servico A2SNK (Audio Sink) é encontrado:
# sdptool search –bdaddr local a2snk
Searching for a2snk on FF:FF:FF:00:00:00 …
Service Name: Audio Sink
Service RecHandle: 0×10002
Service Class ID List:
“Audio Sink” (0x110b)
Protocol Descriptor List:
“L2CAP” (0×0100)
PSM: 25
“AVDTP” (0×0019)
uint16: 0×100
Profile Descriptor List:
“Advanced Audio” (0x110d)
Version: 0×0100

Você conseguirá detectar seu computador como sendo um Headset, conseguirá enviar o sinal de audio, mas não conseguirá ouvir o audio pois até o momento não temos um programa para pegar o sinal de audio do servico L2CAP na PSM 25.

Fontes:
http://wiki.openmoko.org/wiki/Manually_using_Bluetooth
http://www.go2linux.org/transfer-files-with-bluetooth-Linux
http://www.holtmann.org/linux/bluetooth/audio.html

About these ads

One thought on “Brincando com bluetooth

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s