Bluetooth Pairing in der Konsole

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
betaros
Beiträge: 20
Registriert: 19.05.2007 14:28:35
Wohnort: MV

Bluetooth Pairing in der Konsole

Beitrag von betaros » 10.04.2014 20:50:18

Moin,

ich habe auf meinem Raspberry Pi Raspbian am laufen und einen USB-Bluetooth-Stick angeschlossen und wollte mich über die Kommandozeile mit meinem Arduino verbinden, was jedoch jedes mal scheitert. Da ich den Raspberry Pi nur über ssh ansteuer, wäre es schön, wenn ich das Pairing über die Konsole machen könnte.

Ich habe bereits zwei Sachen versucht:

Code: Alles auswählen

root@smith:/home/betaros# rfcomm connect hci0 98:D3:31:B2:67:12
Can't connect RFCOMM socket: Connection refused

root@smith:/home/betaros# hcitool cc 98:D3:31:B2:67:12; hcitool auth 98:D3:31:B2:67:12
HCI authentication request failed: Input/output error
Freue mich über jede Hilfe.

Grüße
betaros

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Bluetooth Pairing in der Konsole

Beitrag von habakug » 11.04.2014 11:35:16

Hallo!

Versuche es so (Voraussetzung: Debianbluez):

Code: Alles auswählen

# bluetooth-agent 1234
# rfcomm connect hci0 98:D3:31:B2:67:12
Das Bluetoothgerät fragt jetzt nach der (obigen) PIN. Sind mehrere Bluetoothgeräte vorhanden muss natürlich angepasst werden.

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Benutzeravatar
betaros
Beiträge: 20
Registriert: 19.05.2007 14:28:35
Wohnort: MV

Re: Bluetooth Pairing in der Konsole

Beitrag von betaros » 12.04.2014 12:43:41

Hi,

ich musste beim bluetooth-agent noch das Device dahinter schreiben, da sonst der Befehl nicht beendet wurde. Allerdings funktioniert es leider immer noch nicht :(

Code: Alles auswählen

root@smith:/home/betaros# bluetooth-agent 1234 hci0
root@smith:/home/betaros# rfcomm connect hci0 98:D3:31:B2:67:12
Can't connect RFCOMM socket: Connection refused
Grüße
betaros

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Bluetooth Pairing in der Konsole

Beitrag von habakug » 12.04.2014 14:35:03

Hallo!

Ja, du hast recht, das Gerät muss mit angegeben werden. Allerdings reicht das "hci0" oder die BD-Adresse z.B. "F8:DB:7F:14:AB:2C", also nur eins davon. Hier geht es:

Code: Alles auswählen

# bluetooth-agent 123456 F8:DB:7F:14:AB:2C
Pincode request for device /org/bluez/6064/hci0/dev_F8_DB_7F_14_AB_2C
Agent has been released
Auf dem Client kommt automatisch die Pin-Abfrage.
Es gibt aber einige Bugs, die einige Geräte betreffen [1][2]. Da ist nicht wirklich eine Lösung in Sicht. Ich habe hier auch einen Bluetooth-Stick (0a5c:2021), der unter Debian nicht startet (usb 2-1: can't set config #1, error -110), aber unter einem anderen Linux (Arch) wunderbar funktioniert. Der obige Test war mit dem Gerät "0a12:0001", installierte Software:

Code: Alles auswählen

# apt-get install bluez bluez-tools bluez-firmware
Gruss, habakug

[1] https://bugs.launchpad.net/ubuntu/+sour ... bug/888328
[2] https://bugs.launchpad.net/ubuntu/+sour ... bug/268502
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Benutzeravatar
betaros
Beiträge: 20
Registriert: 19.05.2007 14:28:35
Wohnort: MV

Re: Bluetooth Pairing in der Konsole

Beitrag von betaros » 12.04.2014 15:56:20

Hi,

ich kann mich endlich verbinden, vielen Dank! :)

Code: Alles auswählen

root@smith:/home/betaros# bluetooth-agent 1234 98:D3:31:B2:67:12
Pincode request for device /org/bluez/2205/hci0/dev_98_D3_31_B2_67_12
Agent has been released
root@smith:/home/betaros# rfcomm connect hci0 98:D3:31:B2:67:12
Connected /dev/rfcomm0 to 98:D3:31:B2:67:12 on channel 1
Press CTRL-C for hangup
Nun wollte ich noch Daten auslesen, die mein Arduino per Konsole ausgibt, jedoch erhalte ich nichts mit:

Code: Alles auswählen

rfcomm listen 98:D3:31:B2:67:12
Waiting for connection on channel 1
Ich habe den Arduino so eingestellt, dass er über Bluetooth eine neue serielle Konsole erstellt und da Daten als Text übergibt.

Grüße
betaros

EDIT:

Nachdem ich das Gentoowiki mir angeschaut habe, denke ich weiß ich wie ich das Problem löse. Ich lese einfach /dev/rfcomm0 aus :D

Vielen Dank für die Geduld mit mir. :THX:

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Bluetooth Pairing in der Konsole

Beitrag von habakug » 12.04.2014 22:29:48

Hallo!

Du kannst mal schauen was auf Kanal 1 denn läuft, mit dem du verbunden bist:

Code: Alles auswählen

# sdptool browse 98:D3:31:B2:67:12 | egrep "Service Name:|Channel:"
[...]
Service Name: Bluetooth Serial Port
    Channel: 1
[...]
Service Name: piAccess Link Service
    Channel: 27
Ist das so vorhanden, kannst du dich mit dem "piAccess" verbinden:

Code: Alles auswählen

# rfcomm connect rfcomm4 98:D3:31:B2:67:12
Connected /dev/rfcomm4 to 98:D3:31:B2:67:12 on channel 27
Press CTRL-C for hangup
Jetzt könntest du mit

Code: Alles auswählen

(# apt-get install minicom)
# minicom /dev/rfcomm4
die Daten sehen, die vom Pi kommen. Das kannst du natürlich auch für Channel 1 machen, was auch immer da läuft.

Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Antworten