HC-06 und PC

Ich bin gerade dabei, mich mit Bluetooth etwas vertrauter zu machen, und stecke dabei fest :frowning:
Was ich geschafft habe:
Das Modul mit Serial1 vom Mega verbunden (blinkt rot).
Sketch zum Setzen der PIN und Echo aller ankommenden Zeichen auf Serial (-->Serial Monitor) geladen. Serial Monitor zeigt "OK" und "OKsetPIN" an.
Im Bluetooth-Manager Gerät HC-06 gefunden und PIN eingegeben (zeigt "HC-06 offline").
Im Gerätemanager zwei neue COM Schnittstellen (5 und 6) gefunden.

Soweit scheint alles zu funktionieren. Nun möchte ich Daten übertragen, habe dazu PuTTY installiert.
PuTTY auf Serial mit COM5 und COM6 geöffnet, nimmt keine Eingaben an, kein Echo im Serial Monitor :frowning:

Einige Zeit später:

Sketch geändert auf Echo in beiden Richtungen - jetzt geht's :slight_smile:

Trotzdem bleiben ein paar Fragen:

Was passiert beim Reset des Arduino (Programmänderung...)? Wird die vorherige PIN weiterbenutzt, muß ich jedesmal das Gerät aus der Liste rauswerfen und neu eintragen?

Was ist mindestens notwendig, um eine Verbinung herzustellen?

Was ist der Unterschied zwischen COM5 und COM6? (COM5 funktioniert, COM6 nicht?)

Wie unterscheidet das Modul echte AT-Kommandos von Texten, die zufällig "AT" enthalten?

Hm also beim HC-05 der auch als Master verwendet werden kann wird der PIN gespeichert und der verbindet sich automatisch sobald die Spannungsversorgung vorhanden ist. Glaube beim HC-06 muss die Verbindung wieder gestartet werden wobei ich nicht weiß ob der PIN behalten wird.

Unterschieden wird da bei den AT Befehlen nicht. das AT muss halt immer am Anfang stehen und ich glaube das es schon ein großer Zufall wäre wenn ein normaler Text mit den Zeichen AT+ anfängt.

Gruß

DrDiettrich:
Wie unterscheidet das Modul echte AT-Kommandos von Texten, die zufällig "AT" enthalten?

Module, die über AT-Kommandos gesteuert werden und sich mit irgendwas verbinden können, haben, zwei Betriebsarten:

    1. AT-Kommandomodus vor dem Verbinden (oder nach dem Trennen der Verbindung)
  • 2 Datenmodus nach dem Verbinden

Damit ist es ganz einfach: Auf AT-Kommandos reagiert das Modul nur, wenn es sich im AT-Kommandomodus befindet.

Das leuchtet ein. Könnte das hier evtl über die zwei COM Schnittstellen gelöst sein?

Wie sagt man dann dem Modul, daß alle Einstellungen beendet sind, und daß es sich nun verbinden darf?

Hab diese Module auch. Hab damals ne kleine Lib für mich geschrieben. Hab die beiden Dateien mal angehängt :). Für Android gibts tolle Apps um Daten zu senden oder zu empfangen... hab damals diese hier benutzt um die Verbindung zu testen: https://play.google.com/store/apps/details?id=Qwerty.BluetoothTerminal
Hier noch nen BeispielCode:

CBlueTooth_HS bluetooth(1, 22, 23, 115200);  //HardwareSerialNumber (MEGA has 3 HW_Serails, 1-3), keyPin (or Pin34 of HC05/HC06 Modul)[Optional], enablePin[Optional], baudrate[optional], default = 9600
//init Bluetooth (in Setup() Funktion) 
 //Konfigurieren des Bluetooth moduls
 bluetooth.enterCommandMode();
 bluetooth.sendCommand("AT+NAME=RoboCar");
 bluetooth.sendCommand("AT+PSWD=1234"); 
 bluetooth.sendCommand("AT+UART=115200,1,0");
 bluetooth.sendCommand("AT+NAME?");  //Einstellung abfragen. Antwort scheint im Speicher des HC0X gespeichert zu werden bis man die Daten abruft ...auch wenn man den CommandMode verlässt
 bluetooth.sendCommand("AT+UART?"); 
 bluetooth.exitCommandMode();  

//Daten lesen z.B. die momentanen Bluetootheinstellungen ausgeben 
 Serial.println("Einstellungen:");
 String info = ""; 
 char puffer;
 while (bluetooth.readData(puffer)){ //Einzelne Chars zu einem String zusammenbauen 
 info += String(puffer);
 }
 Serial.println(info); 

//Daten senden
        bluetooth.sendData("Hello World");

Für den PC habe ich mir auch mal ne Lib zusammengestellt um Daten zwischen Modul und PC zu senden und empfangen. Der Code und das Bluetooth-Testtool ist in der angehängten zip Datei.

HC05_HC06_HardwareSerial.cpp (4.28 KB)

HC05_HC06_HardwareSerial.h (675 Bytes)

Bluetooth Tester.zip (18.2 KB)

Wow, danke für die Lib :slight_smile:

Wo hast Du denn all die Informationen herbekommen?

Mein Modul nennt sich Keyes BT_BOARD V20, aber damit bin ich nicht weitergekommen. Es hat zwar 6 Lötaugen, aber nur einen 4-poligen Stecker, ohne KEY und STATE. Da nichts von wegen HC-05 oder HC-06 draufsteht, habe ich vermutet, daß das Board beides kann, je nach Bestückung/Firmware.

Heute funktioniert mein Board nur mit COM6, nicht mehr mit COM5 - grrrrr :frowning:
Hmm, ob das was damit zu tun hat, ob sich das Board als HC-05 oder HC-06 fühlt?

Hab mir damals verschiedene Inetseiten durchsucht und mir dann was eigenes zusammengebastelt :slight_smile:
Hast du nen Link zu dem Modul oder gar nen Bild davon?

Patrick_123:
Hast du nen Link zu dem Modul oder gar nen Bild davon?

Weder Link noch Bild :frowning:
Es sieht diesem sehr ähnlich.

Ich hab's letztes Jahr im Kaufrausch mit eingepackt, weil mir die Bezeichnung aus dem Forum irgendwie bekannt vorkam. Immerhin weiß ich jetzt, daß es funktioniert, und daß ich kaum Verwendung dafür habe, solange der Verbindungsaufbau so sperrig ist.

Ja genau so ein 6 Pin Modul habe ich auch :slight_smile:
Wireless-Bluetooth-RF-Transceiver-Module-Serial-RS232-HC-05-fur-Arduino

An den Key-Pin des Moduls habe ich mir damals einfach noch ein Kabel dran gelötet und das mitm Arduino verbunden.
HC-05-at-command-mode

Das Layout ist aber leicht unterschiedlich, ebenso der Aufdruck auf der Unterseite. Sogar die Belegung des 6. Pins kann unterschiedlich sein, bei meinem steht da STATE.

STATE? Hat eigentlich nur der HC-05, oder ist die Beschriftung auf der Platine aber kein Pin angelötet?

EDIT: So in der Art:

Die beiden äußeren Anschlüsse sind bei mir nicht belegt, und mit KEY und STATE beschriftet.

Ja ok, ist also ein HC-06, war kurz verunsichert :slight_smile:

Kennt eigentlich jemand ein Datenblatt zum HC-05/06?
Bislang konnte ich noch keines finden, aber das will ja nichts heißen :wink:

Wird vielleicht so etwas gesucht?
http://www.robotshop.com/media/files/pdf/rb-ite-12-bluetooth_hc05.pdf
und
http://www.tec.reutlingen-university.de/uploads/media/DatenblattHC-05_BT-Modul.pdf

Danke, das erste Dokument sieht recht ordentlich aus. Im zweiten finde ich etliche Unterschiede zu meinem HC-05, aber doch einige interessante Ansatzpunkte für weitere Untersuchungen.