Das JY-MCU Bluetooth Modul – Taugt das was?

Im Rahmen eines gaaaanz anderen Projekts bin ich gerade dabei, oben genannte JY-MCU Bluetooth auf Seriell Module auf Tauglichkeit zu testen. Diese Module sind bei diversen Anbietern auf eBay für sehr wenige Euros erhältlich. Natürlich musste ich gleich mal testen, ob man die Dinger auch für die Übertragung von Telemetriedaten vom APM oder Mikrokopter benutzen kann, ist doch klar… 🙂

Ein wenig die Haare gerauft habe ich mir ja schon… Die JY-MCU Bluetooth Module kamen ohne weitere Informationen zu mir. Es war also erst mal intensives googlen nötig, um herauszufinden, wie man die Dinger konfiguriert. Aber zuerst wollte ich testen, ob die Verbindung wie gewünscht klappt. Ein sehr komfortabler Weg bietet sich mit Zuhilfenahme der Arduino-Entwicklungsplattform an: Man nehme irgendein Arduino Board (in meinem Fall ein Duemilanove), konfiguriere einen virtuellen seriellen Port und schiebt Daten vom Hardware-Port zu diesem. Und umgekehrt. Dazu kann man das nette Beispielprogramm der SoftwareSerial Library benutzen. Am Software-Port hängt natürlich der BT-Adapter.  Wie immer mit RX auf TX und TX auf RX. Saft kann man direkt vom Arduino abzapfen. Wichtig ist noch, die Baudrate des Software-Ports richtig einzustellen, die JY-MCU Bluetooth Module sind ab Werk mit 9600 konfiguriert, also im oben genannten Beispiel von 4800 auf 9600 Baud raufsetzen.

Die Gegenseite nun an das JY-MCU Bluetooth Modul koppeln. Wie das geht entnehmen Sie bitte dem Handbuch Ihres Betriebssystems :). Standardmäßig nennt sich das Bluetooth Modul „linvor“, die PIN ist „1234“. Nach erfolgreicher Paarung sollte ein virtueller serieller Port bereitstehen. Auf diesen kann man sich nun mit einem Terminal Client verbinden, mit einem zweiten Client auf den Arduino. Als Clients bieten sich der Serial Monitor der Arduino IDE oder Programme wie Hyper Terminal (ist wohl bis XP bei Windows dabei) oder Putty an. Wie man Putty richtig konfiguriert kann man hier nachlesen.

Falls alles klappt sollte man nun Nachrichten zwischen den beiden Geräten hin- und herschicken können.

Doch wie kann man das JY-MCU Bluetooth Modul konfigurieren, um zum Beispiel die Baudrate, mit dem das Modul spricht, ändern zu können? Dies geschieht mit sogenannten AT (Attention) Befehlen. Vorab muss man jedoch folgendes wissen: Scheinbar werden die Bluetooth Module mit zwei unterschiedlichen Firmwares ausgeliefert, HC05 und HC06 (auch bekannt als Linvor 1.5). Diese unterscheiden sich maßgeblich durch den gebotenen Funktionsumfang. Überraschenderweise ist die HC05 diejenige mit deutlich mehr Möglichkeiten, sie benötigt jedoch in Bezug auf die angestrebte Konfiguration des Moduls auch mehr Zuneigung, da man durch Setzen des Pin 34 auf HIGH (beim Start des Moduls) erst in einen bestimmten Modus schalten muss, um seine AT Befehle absetzen zu können. Bei der abgespeckten Firmware, der HC06, geht dies ohne Frickeleien an der Hardware. Da die installierte Firmwareversion von außen nicht sichtbar ist, ist es empfehlenswert, erst auf die HC06 zu prüfen. Falls das nicht funktioniert ist sehr wahrscheinlich die HC05 drauf.

Um also an die Konfigurationsmöglichkeiten der HC06 Firmware ranzukommen, verbindet man sich über ein Terminal an den seriellen Port des Moduls. Dies funktioniert nicht über Bluetooth, man muss also zum Beispiel mit einem USB auf Seriell Adapter arbeiten. Über das oben genannte Konstrukt über den softwarebasierenden seriellen Port wird’s nicht funktionieren. Oder aber man entfernt den ATMega vom Arduino Board und schließt das Bluetooth Modul am Hardware-Port des Arduinos an. Wichtig ist es, das Terminal so zu konfigurieren, dass kein Zeilenende automatisch an einen Befehl angefügt wird. Auch muss man beachten, dass man die richtige Baudrate erwischt, ab Werk ist wie erwähnt 9600 konfiguriert. Nun kann man überprüfen, ob das Modul auf Attention Befehle reagiert, indem man „AT“ eingibt. Als Antwort sollte ein freundliches „OK“ zurückkommen.

JY-MCU Bluetooth Modul

Folgende AT Befehle werden von der HC06 Firmware unterstützt (x mit gewünschtem Wert ersetzen):

  • AT
  • AT+BAUDx – Folgende Werte sind für x möglich:
    • 1     1200 bps
    • 2     2400 bps
    • 3     4800 bps
    • 4     9600 bps
    • 5    19200 bps
    • 6    38400 bps
    • 7    57600 bps
    • 8   115200 bps
    • 9   230400 bps
    • A   460800 bps
    • B   921600 bps
    • C  1382400 bps
  • AT+NAMEx
  • AT+PINxxxx

Leider nicht besonders viel. Aber für unsere Zwecke absolut ausreichend. Für den Einsatz am ArduPilot benötigen wir 57600 Baud, man gibt also „AT+BAUD7“ ein. Als Antwort sollte „OK57600“ erscheinen.

Was die umfangreichere HC05 Firmware angeht, konnte ich bisher leider keine Erfahrungen sammeln. Mit dieser Firmware sollte im Gegensatz zur HC06 auch das feste Koppeln zweier Module möglich sein. Irgendwann werde ich mir wohl mal einen Programmer bauen und die bessere Firmware draufspielen.

Wie jedes andere Funkmodul kann man nun das JY-MCU Bluetooth Modul nun an die jeweilige Copter Steuerung anschließen und ordentlich Elektrosmog produzieren. Getestet habe ich es bisher nur am ArduPilot. Aber auch am Mikrokopter sollte dieses Modul eine günstige Alternative zum von H&I angebotenen Set darstellen.

Quellen/Nützliche Links:

0 Kommentare

Dein Kommentar

Willst Du mitdiskutieren?
Ich freue mich über deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.