Bluetool Modul

Allgemeines

Meine Bluetooth Module stammen aus China von wavesen und sehen wir dieses mit und dieses ohne Spannungsregler aus. Die UART Eingänge sind 5V tolerant. Ohne Regler vertragen die Module 3.3V, mit Regler 5V. Auf der Platinen Version ist eine Rote LED. Wenn diese nicht mehr blinkt sondern dauernd leuchtet ist das Modul ge-'paired'.

Konfiguration

Meine Module haben die Linvor 1.5 Firmware Version. Zur Konfiguration verwendet man die folgenden AT Kommandos. Dabei ist zu berücksichtigen, dass zwischen den einzelnen Buchstaben keine Pausen sind. D.h. am besten verwendet man 'Cut&Paste'. Je nach Terminal Programm ist es wichtig, dass am Ende nicht noch ein Zeileumbruch kommt, da dann das Modul den String nicht als Kommando interpretiert. Bei cutecom heisst der entsprechende Schalter "No line end".

Kommando Antwort Funktion
AT OK Damit kann man schauen, ob alles stimmt.
AT+VERSION OKlinvorV1.5 Die Firmware Version
AT+NAMEMyName OKsetname Setzt den Namen auf MyName, ich habe meine "Heinz1" und "Heinz2" getauft.
AT+PINpasscode OKsetPIN Setzt die vier Ziffern für den Bluetooth Code auf passcode
AT+PN OK None Setzt Parity
AT+BAUDrate OKyyy Setzt die Baudrate
1=1200
2=2400
3=4800
4=9600
5=19200
6=38400
7=57600
8=115200
9=230400
A=460800
B=921600
C=1382400

Linux Test

Damit man das Bluetooth Modul ausprobieren kann benötigt man am Linux Rechner auch ein Bluetooth Interface. In meinem Desktop Rechner war keines eingebaut also musste ein USB Dongle her.

Leider macht der Bluetooth Micro USB 2.0 Dongle am Ubuntu 12.10 reproduzierbar Kernel-Panics.

Der noch kleinerer BIGtec nano Bluetooth USB Dongle funktioniert dagegen einwandfrei, obwohl er auch einen Cambridge Silicon Radio, Ltd. Chipsatz enthält.

Ohne Probleme auf Anhieb hat auch ein BlueFRITZ! USB v 2.0 von AVM am Ubuntu 12.10 funktioniert.

Hat man ein passendes Bluetooth Dongle, oder eingebautes Bluetooth Interface, kann man über die Bluetooth Menus das Modul suchen und nach Eingabe der Pin verbinden. Mit folgenden Kommandos kann man ein paar Informationen herausbekommen, die beim Testen eine Hilfe sein können:

# lsusb | grep Bluetooth 
Bus 002 Device 007: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
# hcitool dev		# der Dongle
Devices:
	hci0	00:02:5B:7F:3E:36
# hcitool scan		# die Bluetooth Geraete/Module
Scanning ...
        00:11:09:25:05:26       Heinz2

Mit diesen Informationen kann man in /etc/bluetooth/rfcomm.conf ein serielles Gerät definieren:

rfcomm0 {
    bind yes;
    device 00:11:09:25:05:26;
    channel 1;
    comment "Heinz2";
}

Sollte die Pin Eingabe zum Pairing nicht funktionieren, kann es sein, dass ein 'rfconn connect /dec/rfcomm0' einem Dialog zeigt, wo das Eingeben besser funktioniert.

Ist das Modul definiert, kann man damit verbinden und es dann als "/dev/rfcomm0" z.B. in cutecom benutzen.

Bei meinem Test hatte ich das Bluetooth Modul mit dem Serial USB Adapter FTDI Pro direkt angeschlossen. Ein cutecom Terminal kann dann über /dev/ttyUSB0 und 115200 Baud damit kommunizieren. Mit einem zweiten cutecom Terminal kann man dann über /dev/rfcomm0 per Bluetooth Daten zum anderen Terminal und zurück versenden.

Ubuntu 12.10 Probleme

Bei Ubuntu macht nur noch der Modemmanager Probleme, der bei einer Verbindung sofort mit "AT+GCAP" mehrmals versucht ein vermeintliches Modem nach seinen Eigenschaften ("Request Complete Capabilities List") zu fragen. Ich habe bisher zwei Möglichkeit gefunden dieses Verhalten los zu werden:

Entweder man wirft das gesamte Package weg:

apt-get remove modemmanger

Oder man verhindert den Start:

sudo mv /usr/share/dbus-1/system-services/org.freedesktop.ModemManager.service \
    /usr/share/dbus-1/system-services/org.freedesktop.ModemManager.service.disabled
Datenblatt Bluetooth
ChipsatzCSR 417
Versorgungsspannung3.3V (oder 5V mit Platine)
Stromaufnahme8-20mA
UART Pegel3.3V (5V Tolerant)
Hersteller Datenblatt CSR HC-02 (privat)

Weiterführende Links gibt's hier:

 
14.03.2015