BTM-222 im Lieferzustand BTM-222 in geöffnetem Zustand
Links

SR-Tronik Versand
Datenblatt
Terminal Programm

Diese freie Werbefläche können Sie mieten.

Bluetooth Modul BTM-222

In Zusammenhang mit meinem NIBObee Roboter habe ich das Bluetooth Modul BTM-222 gefunden, welches ich nun benutze, um den Roboter mit meinem Notebook fern zu steuern.

Das Modem funktioniert wie ein USB-zu-Seriell Adapterkabel, nur eben drahtlos. Auf dem PC erhält man einen virtuellen seriellen Port, am anderen Ende (dem Modul) hat man einen RS-232 Port. Die Daten werden nach dem Verbindungsaufbau transparent übertragen.

Das Modul kann über den RS-232 Port wie ein Modem mit AT-Befehlen konfiguriert werden. Standardmäßig arbeitet es im Slave-Modus, so daß der Verbindungsaufbau vom PC aus initiiert werden muss. Die Bitrate ist auf 19200 Baud eingestellt und das Passwort für den Verbindungsaufbau lautet "1234".

Man schließt nur wenige Pins an:

Um das Modul an einen Mikrocontroller mit 5V Spannungsversorgung anzuschließen, brauchen Sie nur ganz wenige zusätzliche Bauteile:

Der Spannungsregler regelt die Versorgunsgspannung auf 3,3V herunter. Die Widerstände begrenzen den Strom auf den RxD und TxD Leitungen, der bei direktem Anschluß wegen dem 5V/3,3V Gefälle sonst zu hoch wäre.

Im Datenblatt des BTM222 werden zahlreiche spannende Features genannt, wie programmierbare I/O Pins, USB Interface, Voice Funktionen, etc. All diese Funktionen werden von der gewöhnlichen "SPP" Firmware aber nicht unterstützt.

Die wichtigsten Befehle, sie gehen nur am (echten) seriellen Port:

Auf dem (echten) seriellen Port erscheint die Meldung CONNECT  '001D-D9-F71C7E', wenn eine Funkverbindung aufgebaut wurde, und es erscheint die Meldung DISCONNECT  '001D-D9-F71C7E', wenn die Funkverbindung getrennt wurde. Außerdem erscheinen in nicht-verbundenem Zustand ab und zu Statusmeldungen, wie AT+GCAP. Wenn Sie für den angeschlossenen Mikrocontroller eine Firmware schreiben, könnte es nützlich sein, zu wissen, daß diese Meldungen niemals Kleinbuchstaben enthalten.

Verwendung unter Windows

Diese Anleitung habe ich mit Windows Vista ausprobiert.

Stromversorgung einschalten, auf das Bluetooth Symbol in der Startleiste klicken. Man muss das Passwort des Moduls eingeben und es wird ein virtueller Serieller Port installiert.

Danach kann man die Verbindung benutzen, z.B. mit einem Terminal Programm. Windows baut die Funkverbindung erst auf, wenn der virtuelle serielle Port geöffnet wird, und die Verbindung wird beim Schließen des seriellen Portes wieder getrennt.

Es ist mir bisher noch nicht gelungen, den virtuellen Seriellen Port unter Windows Vista mit einem Java Programm anzusprechen. Mit C Programmen geht es aber problemlos. Unter Windows 7 funktioniert es auch mit Java, allerdings dauert es sehr lange (1-2 Minuten), den virtuellen seriellen Port zu öffnen.

Verwendung unter Linux

Diese Anleitung habe ich mit Bluez Version 4.6 unter Ubuntu 10.04 getestet.

Stromversorgung einschalten, dann mit dem Befehl hcitool scan Die Hardware-Adresse des Moduls herausfinden. In meinem Falls erscheint "00:12:6F:08:98:90".

Diese Adresse trägt man in /etc/bluetooth/rfcomm.conf ein:

rfcomm0 {
    bind yes;
    device 00:12:6F:08:98:90;
    channel 1;
    comment "BTM-222";
}

Wenn das Modul beim Booten des Rechner erreichbar ist, wird automatisch ein virtuelles serielles Gerät mit dem Namen /dev/rfcomm0 erstellt. Ansonsten kann man das auch manuell auslösen, mit dem Befehl:

sudo rfcomm bind 0

Beim ersten mal erscheint ein Pop-Up Fenster, in dem man das Passwort des Moduls eingeben muss.

Die Funk-Verbindung wird erst aufgebaut, wenn der serielle Port geöffnet wird. Beim Schließen wird die Funk-Verbindung wieder abgebaut. Danach kann man die Verbindung benutzen, z.B. mit einem Terminal Programm.