Bluetooth Modul mit BTM-222
3. Mai 2010 von martin
Dieser Artikel berichtet über mein Bluetooth-Modul, das ich für die serielle Übertragung (RS232) von Daten zwischen PC und Mikrokontrollergeräten entwickelt habe. Herzstück des Moduls ist ein BTM-222 der Firma Rayson (http://www.rayson.com/btm220.html). Hierbei handelt es sich um ein sehr kompaktes und recht günstiges (ca. 13€) Bluetooth Class 1 Modul.
Im Internet gibt es schon einige Bauanleitungen für das BTM-222, nur werden dort immer nur doppelseitige Platinen verwendet. Zur einfachen Herstellung habe ich mir daher ein einseitiges Layout erstellt (Die Eagle-Dateien liefer ich gern auf Anfrage).
Die LEDs: Grüne LED: Power-LED; Gelbe LED: Verbindung (blinken – keine Verbindung); rote LED: Datenübermittlung
Die Anschlüsse: Über die seitlich herausgeführte Stiftleiste wird das Modul mit Spannung versorgt (+5V, GND). Außerdem liegen hier Rx und Tx der seriellen Schnittstelle an. Nicht vergessen, Rx muss auf der Gegenstelle auf Tx liegen und Tx dort auf Rx (also gekreuzt)!
ACHTUNG: Das Modul darf niemals direkt mit der RS232 Schnittstelle des PCs verbunden werden! Das Modul erwartet einen 5V TTL Pegel. Gewöhnliche RS232 Schnittstellen liefern einen +12V/-12V Pegel. Dieser würde das Modul zerstören! Soll das Modul am PC betrieben werden, z.B. um die Grundkonfiguration des BTM-222 durchzuführen, so muss dies mit Hilfe eines s.g. Level-Shifter oder Pegelwandler erfolgen, oder über einen USB-RS232 Adapter. Ich persönlich ziehe den Adapter vor, da nicht jeder meiner PCs über eine serielle Schnittstelle verfügt. Die Bauanleitung zum USB-RS232 Adapter werde ich bald in einem neuen Artikel vorstellen.
Test und BTM-222 Konfiguration:
Das BTM-222, wie es in seiner Grundeinstellung ausgeliefert wird, kann man nur bedingt für seine Anforderungen verwenden. In seiner Grundeinstellung befindet es sich z.B. im Slave-Modus, es kann also selber keine anderen Bluetooth-Geräte finden. Außerdem ist als PIN-Code die “1234″ eingestellt. Weiter Parameter, wie z.B. die Baud Rate (von 4800bps bis zu 460.8 kbps) und dem Device Namen können ebenfalls mit AT-Befehlen eingestellt werden. Fast alle AT-Befehle können dem Datenblatt entnommen werden. Wenn ich hier “fast alle AT-Befehle” schreibe, dann bedeutet das, dass es noch mehr davon gibt, die im Datenblatt wohl vergessen wurden. Einer davon ist der Befehl “ATI1″. Mit diesem Befehl wird die aktuelle Konfigration abgerufen.
Um die Konfiguration ändern zu können, muss Das Modul mit dem PC seriell verbunden werden (Aber niemals direkt! Siehe oben). Über ein Terminal-Programm wie z.B. das “HyperTerminal” von Windows, kann es dann über die AT-Befehle aus dem Datenblatt des BTM-222 für den eingenen Einsatz konfiguriert werden.
Meine Testkonfiguration lautet so:
ATC=0, NONE FLOW CONTROL
ATD=0000-00-000000, NEVER SET BLUETOOTH ADDRESS
ATE=1, ECHO CHARACTERS
ATH=1, DISCOVERABLE
ATK=0, ONE STOP BIT
ATL=1, BAUD RATE is 9600
ATM=0, NONE PARITY_BIT
ATN=BTM-222, LOCAL NAME
ATO=0, ENABLE AUTO CONNECTING
ATP=1234, PIN CODE
ATQ=0, SEND RESULT CODE
ATR=1, SLAVE ROLE
ATS=1, ENABLE AUTO-POWERDOWN OF RS232 DRIVER
ATX=1, ALWAYS CHECK ‘+++’
Diese Konfiguration benutzte ich beim Versuch das erste Mal Daten zwischen dem PC und dem Bluetooth Modul auszutauschen. Der PC mit seinem Bluetooth-Dongel spielt dabei den Master, der die Verbindung aufbaut und das Bluetooth Modul den Slave (s. Parameter ATR).
Nun noch ein paar Worte zu meinem Testaufbau, über den ich die Konfiguration des BTM-222 durchgeführt und erste Daten zwischen PC und Bluetooth-Modul übertragen hatte:
1) Anschluss des Bluetooth Moduls (als Slave) mit dem USB-RS232 Adapter an den USB Port des PCs. Dabei wird ein COM-Port (bei mir COM7) mit der Treiberinstallation des USB-RS232 Adapters eingerichtet.
2) Im HyperTerminal jetzt eine Verbindung auf COM7 (oder welcher Port bei euch eingerichtet wurde) mit der richtigen Baud-Rate (bei mir 9600. In der Grundeinstellung ist es die 19200, die anderen Werte so lassen) aufbauen.
3) Jetzt kann mit dem Befehl “AT” geprüft werden ob alles ok ist. Als Antwort soll nämlich jetzt ein “OK” vom Bluetooth-Modul zurück kommen. Weiter Konfigurationsparameter können jetzt eingestellt werden.
4) Über den PC (Rechtsklick auf das Bluetooth-Ikon rechts unten) das BTM-222 suchen. Dabei den eigenen Hauptschlüssel “1234″ verwenden. Jetzt wird neue Hardware gefunden und zwei weiter COM-Ports eingerichtet. Ein eingehenden und ein ausgehenden Port (Bei mir COM12 und COM13).
5) Weiteres HyperTerminal öffnen und auf den neuen ausgehenden Port (bei mirCOM13) verbinden. Jetzt sollte im ersten HyperTerminal “CONNECT” erscheinen und die gelbe LED auf dem Bluetooth-Modul auf Dauerleuchten umstellen. Jetzt steht die Verbindung! Tippt man nun einen Text in eins der HyperTerminals, so wird dieser im anderem HyperTerminal ausgegeben! Dabei blinkt jedes Mal die rote Daten-LED.






Hallo,
ich möchte auch ein Bluetooth Modul bauen und damit Daten
zum Rechner schicken.
Könnte man das mit diesem Projekt machen, muss ich da zusätzlich einen
Chip kaufen und es programmieren?
bin für alle Antworten dankbar
mfg
muss-t
Hallo muss-t,
neben dem hier von mir beschriebenen Modul benötigst du noch einen Bluetooth Dongle für deinen Rechner. Das Bluetooth Modul und der Dongle können dann miteinander kommunizieren.
Gruß
Martin
Hallo Martin
Ich bastle gerade an einem Arduino-Projekt rum und habe da ebenfalls das BTM-222 im Einsatz. Es hängt an einem Arduino FIO und der Code auf dem Arduino schickt einfach ständig Werte von angehängten Potis ans BTM.
Das ganze läuft auf meinem Macbook Pro perfekt, nur krieg ich es auf PC nicht zum Laufen.
Die Zielmaschine hat ein Windows 7 drauf, und da hab ich auch einen Bluetooth Dongel angesteckt, der wird prima erkannt, und auch das BTM ist mit 2 COM Ports aufgeführt, einer eingehend und einer ausgehend (COM5 und 6).
Ich kann aber weder mit meinem Processing-sketch (der aufm Mac funzt) noch mit einem Terminalprogramm drauf zugreifen.
Hast Du da Erfahrungen mit Win 7 oder eine Ahnung woran es liegen könnte? Das Modul reicht ja mit der aktuellen Einstellung alles transparent durch, nur kriegt das der PC nicht mit…
Dank und Gruss, HPW
Hallo HPW,
leider habe ich noch keine Erfahrung mit Win7 und dieser Thematik gemacht. Ich selber verwende ein altes Notebook, auf dem nur noch Win XP läuft. Aber damit funktioniert die Bluetooth-Kommunikation ohne Probleme. Tut mir leid, wenn ich hier nicht weiterhelfen kann :-(.
Viele Grüße
Martin