Guten Tag,
ich habe mir einen HC 05 Bluetooth modul gekauft.
Habe Vcc mit 3,3 V
GND mit Ground
verbunden
mein Bluetooth adapter am rechner erkennt es auch ich kann auch mein
Passwort eingeben pw:1234
dann starte ich den Virtuellen Terminal wähle den Com Port.
Doch leider reargiert HC05 auf keine AT command.
boundrate 9600 kbs
Was mache ich falsch. :(
Das HC05 muss mittels KEY-Pin erst in den AT-Modus gebracht werden.
Schau mal ob du eine Anleitung zum HC-05 findest, gibts einige Docs im
Netz, da wird das beschrieben.
Deshalb bevorzuge ich auch das HC-06, welches immer im AT Modus ist,
wenn nicht via BT gebunden.
edit: http://www.electronicaestudio.com/docs/istd016A.pdf
Zu beachten ist auch, dass es eine Art config-Modus gibt. Nur in diesem
Modus lassen sich alle Parameter über die AT-Befehle anpassen. Die LED
blinkt in diesem Modus anders und auch die Baudrate ist höher (ich meine
38 tausend irgend was..).
Mich stört an den Modulen vor allem der hohe Stromverbrauch, wenn sie
nicht verbunden sind. Gibt es da eine bessere Lösung? Wie ist es beim
HC-06?
Du solltest auch beachten, dass die AT-befehle nicht (wie bei Modems)
mit der Enter-Taste beendet werden, sondern mit einer Pause. Wenn Du
AT<Enter> eingibst, reagiert es nicht. Du musst AT eingeben und dann auf
Antwort warten.
Das HC-06 hat laut Datenblatt etwa die gleiche Stromaufnahme, wie das
HC-05. Ich habe bei meinem HC-06 mal nachgemessen: Die tatsächliche
durchschnittliche Stromaufnahme ist deutlich geringer, als im Datenblatt
angegeben.
Chris schrieb:> Mich stört an den Modulen vor allem der hohe Stromverbrauch, wenn sie> nicht verbunden sind. Gibt es da eine bessere Lösung? Wie ist es beim> HC-06?
Wie wäre es mit BLE? Also Bluetooth 4.0? Kann mittlerweile jedes
Smartphone/USB Dongle, und verbraucht nur einen Bruchteil des Stroms
(Knopfzelle kann mehrere jahre halten). Hat auch einige andere nette
Eigenschaften, wie einen größeren Adressraum, dauerhaftes Pairing ohne
Stromverbrauch und ein sehr schneller Verbindungsaufbau.
Bekommt man quasi zum gleichen Preis wie das HC-05...
(wird meist ebenfalls per UART angeschlossen)
Also zu meinem Ursprüngliche Problem.
Ich habe einen PIC Controller bei dem ich später Hc05 benutzen möchte.
Ich letzte woche meine HC05 bekommen.
Ich habe jetzt VCC, KEY pin mit 3,3V versorgt und GND angeschlossen.
Passwort kann ich eingeben.
Doch leider komme ich nicht weiter.
Kann mir jemand nächte schritte sagen.
Ich brauche eigentlich am anfang nur einen Boundrate von 9600 um die
communikation zu Testen später will ich boundrate erhöhen da bin ich
aber erst mal weit von entfernt.
Ich habe alles probiert :(
Datasheet auch schon gelesen aber irgend wie komme ich mit dem Datasheet
von HC05 nicht so sehr klar :(
In der verlinkten PDF sind die Schritte aufgeführt. Step by Step. Was
willst du noch?
Hast du einfach mal TX und RX gebrückt und dann geschaut ob das vom
Terminal zurückkommt? Standardmäßig sollte doch sowieso 9600 Baud
eingestellt sein. Wenn das schon nicht funktioniert stimmt deine
Verkabelung nicht.
Allerdings kann man bei den HC-05 ja noch zwischen Master und Slave
wählen... Dort aufpassen.
Das HC-05 ist halt etwas universeller und benötigt deshalb
Konfiguration. Dafür kann man mehr damit machen. Für eine transparente
UART Verbindung von einem Host wie PC oder Smartphone reichen aber HC-06
welche eben unaufwändiger sind. Dafür nur Slaves und nicht mehr per AT
Konfigurierbar sobald gebunden.
Trotzdem kein Grund auf komplett andere Module umzusteigen. Die HC sind
schon in Ordnung und arbeiten absolut zuverlässig.
Schickst du deine "AT"-Befehle per Bluetooth (an den virtuellen Port)
oder an den TX-Eingang (per Kabel)? Nur Letzteres ist möglich!
Die HC-Dinger funktionieren gut, hängen sich nur manchmal auf.
Mit dem HM-10 habe ich bis jetzt noch nichts ans Laufen bekommen (finde
Gerät nicht). Anscheinend ist dafür meine Bluetooth-Hardware zu alt...
Senario1.
Ich habe den HC05 so wie ich den bekommen habe an meinem PIC
angeschlossen.
Als settings für RS232 habe ich 9800kbs gewählt.
und über printf einfach hallo ausgegeben.
HC 05 Connection.
VDD mit 3.3 Volt versogrt
GND angeschlossen
RX und TX an PIC überkreuz angeschlossen.
Dann habe ich anmeinem Laptop in Bluetooth HC05 gewählt dann pw
eingegeben.
Er akzeptiert auch meinen PW. (1234)
Wenn ich aber jetzt den Virtual Terminal einschalte empfange ich
garkeine nachrichten :(.
Deswegen wollte ich jetzt erstmal mit AT befehlen probieren. (macht das
überhaupt sinn?)
muss ich bei meinem Bluetooth adapter, was an meinem Laptop
angeschlossen ismt Bluetooth 4.0 abwährtkompatible was einstellen?
Mach doch mal einen Loop-Test... dann schließt du alle anderen
Komponenten aus. Und probiere dann verschiedene Baudraten aus, 9600 und
38400.
Deine 9800 klingen arg komisch.
Ich habe ziemlich lange probieren müssen bis es ging. Meine BAUD Raten
sind irgendwie daran schuld. Unter Ubuntu sowie unter Windof war es das
gleiche hickhack.
Ich muss beide auf 38400 Baud stelle(Serial.begin und BT.begin). Frage
ich die Baudrate dann mit AT+BAUD? ab bekomme ich aber 115200 angezeigt.
Nach dem Umstellen auf 57600 muss ich trotzdem mit 38400 starten, sonst
klappt es nicht und ich bekomme keine Antwort vom HC05.
Wie schon gesagt der KEY Anschluß muss auf 3,3V und der VSS beim
Einschalten in der Luft hängen. Wenn der Nano dann eingeschaltet wurde
legt man den VSS dann auf 5V und die LED fängt im 0,5Hz takt an zu
blinken (Key muss aber auf 3,3V liegen). Dann ist man im AT Mode.
Den RX des HC05 versorgt man über einen 2K/1K Spannungsteiler so dass
dieser nur 3,3V ab bekommt.
Anschließen tut man den nano auch an D10(RX direkt an TX des HC05) und
D11(Spannungsteiler) wie beim uno. Will man den KEY auch an den uc
anschließen muss man diesem auch ein Spannungsteiler (an D9) verpassen.
Man kann den KEY auch manuell auf die 3,3V des Nano oder uno legen.
Anbei mal der arduino code den ich verwendet habe:
#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11); // RX, TX
void setup()
{
pinMode(9, OUTPUT);
digitalWrite(9, HIGH);
Serial.begin(38400);
Serial.println("Enter AT commands:");
BT.begin(38400);
}
void loop()
{
if (BT.available())
Serial.write(BT.read()); // write all on the SerialMonitor what is
getting from Bluetooth
if (Serial.available())
BT.write(Serial.read()); // write to Bluetooth all is getting from
SerialMonitor
}
Ein paar AT-Befehle und die Antworten dazu:
AT+VERSION? :2.0-20100601
AT+ADDR? :14:1:252985
AT+NAME? :H-C-2010-06-01
AT+ROLE? :0
AT+CLASS :0
AT+PSWD :1234
AT+UART? :115200,1,0
AT+CMOD? :0
AT+BIND? :0:0:0
...
...
Quellen :
http://www.techbitar.com/ardudroid-simple-bluetooth-control-for-arduino-and-android.htmlhttp://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/?lang=dehttp://www.mikrokopter.de/ucwiki/en/HC-06
Gruß
Andi