Serielle Kommunikation über Bluetooth

Für ein kleines Projekt (Mobiltelefon steuert Arduino) habe ich mir ein HC-06 Bluetooth Modul für wenig Geld in China besorgt. Bluetooth habe ich nie gemocht, weil ich nie viel Freude daran hatte diese Gerätschaften unter Linux zu konfigurieren, aber der Preisunterschied zu Arduino WLAN Modulen hatte dann doch den Ausschlag gegeben:).
 Über GUI ließ sich das Gerät leider nicht konfigurieren, aber  mit den bluez-utils auf der Kommandozeile ließ sich das Problem rasch beheben.

Zuerst muß die MAC Adresse des Moduls in Erfahrung gebracht werden.

ms@debian:~/$ hcitool scan
Scanning ...
	0C:DF:A4:DE:01:54	S3350
	20:14:04:11:15:16	HC-06

Das File rfcomm.conf anpassen

root@debian:/# cat /etc/bluetooth/rfcomm.conf 
#
# RFCOMM configuration file.
#
 
rfcomm0 {
#	# Automatically bind the device at startup
	bind yes;
#
#	# Bluetooth address of the device
	device 20:14:04:11:15:16;
#	# RFCOMM channel for the connection
	channel	1;
#
#	# Description of the connection
	comment "HC-06";
}

Nun die Pin des Geräts (Default ist 1234) setzen – Mac Adresse am Besten per Tabulator vervollständigen
root@debian:/# sudo echo „20:14:04:11:15:16 1234“ >> /var/lib/bluetooth/08\:3E\:8E\:E5\:1C\:5E/pincodes

Und den Bluetooth Daemon neu starten.

root@debian:/# sudo /etc/init.d/bluetooth restart

Befehle an den Bluetooth Client senden

Strings kann man nun einfach an das Gerät redirecten
ms@debian:~$ echo „beep“ >/dev/rfcomm0

Ausgabe des Bluetooth Clients lesen

Einfach mit cat die Gerätedatei ausgeben

ms@debian:~$ cat /dev/rfcomm0
==Commands==
led on
led off
beep
beep_d [duration]
==Commands==
led on
led off
beep
beep_d [duration]

fin.

Bluetooth Lautsprecher für meine Android Gerätschaften

Bis vor kurzem stand ich Gerätschaften die über Bluetooth kommunizieren äußerst kritisch gegenüber. Mäuse und Tastaturen kaufe ich nur schnurgebunden um Akku- und Batteriemüll zu vermeiden und mit  Headsets schauen die Leute immer so komisch :). Nun habe ich mich des öfteren dabei ertappt, wie ich Musik aus den recht bescheidenen Lautsprechern meines Motorola Xooms lauschte.

Eine Gerätschaft mußte her bei der die Mobilität von Mobiltelefon und Tablet nicht einschränkt. Meine Wahl fiel auf den Logitech Lautsprecher Z515. bei dem die Musikübertragung  über A2DP erfolgt.

Technik

Das Gerät ist ca. 30cm breit, 8cm hoch und 8cm tief. Die Qualität der 2 verbauten Lautsprecher ähnelt der von PC Speakern für 20 bis 30€. Für die Beschallung auf dem Balkon, am See, den kleinen Umtrunk in der U-Bahn oder in der Stube ist der Klang denk ich absolut ausreichend. In dem Gerät ist ein Akku verbaut, der 10h Musikgenuss verspricht. Ich habe den Lautsprecher nicht geladen und höre seit ca. 3 Stunden Musik damit. Es gibt 3 Bedientasten für Lautstärkeregulierung, Pairing und zum Ausschalten. Musik wird entweder per A2DP übertragen oder klassisch über den 3,5mm Klinkenanschluss. Ein 6V Netzteil zum Aufladen liegt bei.

Aufbau

Das Gerät ist recht pfiffig konstruiert. Einen Teil der Rückwand kann man aufklappen und als Stütze verwenden. Dahinter verbirgt sich eine Halterung für den mitgelieferten Bluetooth USB Stick – sehr praktisch. Der Aufsteller ist wie das gesamte Gerät aus schwarzem Plastik und recht dickwandig. Das Gerät steht stabil, nichts klappert. Auch sehr nützlich ist die beiliegende Tasche in der die Box und das Netzteil bequem verstaut werden können.  Die Bedientasten sind leicht zugänglich und blind zu bedienen.

Inbetriebnahme

Nachdem das Pairing (dafür die Lauter + Leiser Tasten zeitgleich für 10 Sekunden drücken) abgeschlossen ist geht es schon los. Ich habe bis jetzt keine Schwierigkeiten mit der Gerätschaft. Die Lautstärke kann sowohl am Lautsprecher als auch am Handy reguliert werden. Die Verbindung brach zu keinem Zeitpunkt ab. Youtube Videos und Musik via Google Music liefen anstandslos über den Lautsprecher. Telefonieren mit Lautsprecher habe ich noch nicht probiert und habe es auch nicht vor 🙂

 

Fazit

Die Klangqualität ist für die Größe absolut ausreichend. Das Gerät ist sehr durchdacht und das Zubehör äußerst praktisch. Ich habe das Teil für 54,14 bei Amazon erworben. Wenn Ihr euch diesen Lautsprecher auch zulegen wollt würde ich mich freuen, wenn Ihr dies über meinen Partnerlink tut:).

 

Zum Schluss bleibt noch die Frage offen wie und ob Ihr Eure Android Geräte als Werkzeuge der Beschallung nutzt.

Bluetooth GPS und Ubuntu

beide

Es war einmal vor langer Zeit in einer weit, weit entfernten Galaxis…

…als ich froh und zufrieden mit meinem PDA und einem GPS Empfänger das All das Land bereiste und die Gerätekombo mir zuverlässig den Weg wies. Leider läuft auf dem PDA nur Windows Pocket PC 2003 und HP hatte irgendwie nie Lust eine neuere Windows Version für das Gerät rauszubringen. Da es keine aktuellen Karten mehr für die Navigon Software gibt und neuere Versionen der Software nicht auf dem OS laufen, dient  der kleine Rechenknecht nur noch zum Solitärspielen und als TI92 Emulator.

Interessanter ist der GPS Empfänger. Laut Typenschild  heißt das Kästchen NAVIGON|TriCeiver und wurde von GNS produziert.  Leider passiert nicht viel, wenn er per USB an den Rechner angeschlossen wird. Ein Blick ins innere bestätigt die 1. Vermutung:

micro_usb

Data + und – sind nicht belegt, Der Port dient nur der Stromversorgung 🙁

Also muß die Geschichte über Bluetooth laufen. Der Gnome Bluetooth Manager findet das Gerät, gibt ihm den Namen Triciever, Verbinden geht auch aber mehr geschieht nicht.

Bildschirmfoto-Bluetooth-Einstellungen-1

Nun geht es weiter in der Konsole. Ziel ist die Einrichtung einer Gerätedatei für den GPS Empfänger und die Verbindung zwischen Kasten und GPS Daemon. Meine Anleitung kommt mit den Bluetooth Paketen aus, die bei einer normalen Ubuntu-Installtion  dabei sind.

Zuerst wird geprüft, welche Geräte per Bluetooth am PC hängen:

schmiddi@nohost:~$ hcitool scan
Scanning …
00:0B:24:38:65:B0    Triceiver

Nun schauen wir uns den Triceiver etwas genauer an:

schmiddi@nohost:~$ sdptool  records  00:0B:24:38:65:B0
Service Name: Serial Port
Service RecHandle: 0x10000
Service Class ID List:
„Serial Port“ (0x1101)
Protocol Descriptor List:
„L2CAP“ (0x0100)
„RFCOMM“ (0x0003)
Channel: 1

Es kann passieren, das sdptool mit dem Argument records keine Infos auswirft. Dann sollte man es mit „browse“ versuchen.

Interessant sind für mein Anliegen die Bluetooth Macadresse sowie der Channel.

Nun wird die Datei /etc/bluetooth/rfcomm.conf mit dem Lieblingseditor geöffnet. In meinem Fall wäre das:

schmiddi@nohost:~$ sudo vi /etc/bluetooth/rfcomm.conf

nun wird folgender Eintrag angelegt (Channel und MAC entsprechend abändern):

rfcomm1 {
bind yes;
device 00:0B:24:38:65:B0;
channel 1;
comment „Serial Port GPS Triciever“;
}

Nun verbinden wir uns mit dem Gerät:

schmiddi@nohost:~$ rfcomm connect 1
Connected /dev/rfcomm1 to 00:0B:24:38:65:B0 on channel 1
Press CTRL-C for hangup

Nun möchte man natürlich Resultate sehen. Dafür wird der GPS Daemon benötigt und ein entsprechendes Programm:

schmiddi@nohost:~$ sudo apt-get install gpsd-clients gpsd

Nun wird dem gpsd das Gerät zugewiesen.

schmiddi@nohost:~$ gpsd /dev/rfcomm1

Mit xgps kann man die Funktion des Geräts überprüfen:

schmiddi@nohost:~$ xgps&

Nun den GPS Empfänger in die Hand nehmen und mittels der Füße solange durch den Raum iterieren bis Ihr keine Decken mehr über dem Kopf seht und noch Verbindung zwischen Rechner und Empfängergerät besteht. Alternativ kann man das Teil auch auf ein äußeres Fensterbrett legen – soweit vorhanden :).

Mit xgps kann man jetzt beobachten, wie das Gerät immer mehr Sateliten findet und die Position bestimmt:

gps1

gps2

______________

Was mir  noch fehlt ist eine gute Navigationssoftware für Linux. Am schönsten wäre etwas das aussieht wie TomTom oder Navigon. Ich bitte – nein fordere Vorschläge in den Kommentaren dazu.:)

Eine sehr große Hilfe bei diesem Post war mir wie so oft das Wiki von Ubuntuusers.de – explizit der Artikel zu gpsd:

http://wiki.ubuntuusers.de/gpsd

Wenn ich weitere Erkenntnisse in Sachen GPS und Linux gefunden habe, werde ich an gleicher Stelle berichten. Bis dahin wünsche ich eine schöne Faschingszeit. 🙂

Reblog this post [with Zemanta]