Hallo zusammen.
Ich versuche im Moment, eine transparente serielle Verbindung über das
HC-05 Modul herzustellen. Bisher habe ich mich nur um den "Master" Modus
gekümmert, aber nun nutze ich den "Slave" Modus, um wie gesagt eine
möglichst komplett transparente Verbindung zu bekommen.
Am liebsten wäre es mir, wenn der uC munter seine Daten über die
Serielle rausschicken könnte ohne sich darum zu kümmern, ob am anderen
Ende überhaupt jemand verbunden ist oder nicht.
Soweit, so gut. Dachte ich.
Nun bin ich auf folgendes Problem gestoßen: Das HC05 wechselt offenbar
selbstständig zwischen AT-Command- und Datenmodus hin und her, und das
unabhängig vom Pegel am "KEY" Pin.
Das sellt sich dann so dar:
Modul idle, KEY=Vcc -> alle AT Kommandos funktionieren einwandfrei, dann
Gegenstelle stellt Verbindung zum HC05 her, KEY immernoch Vcc -> Ich
bekomme "unaufgefordert" ein "OK" vom Modul und bin plötzlich im
Daten-Modus, wo alle Eingaben als Daten gesendet werden und nicht mehr
als AT Kommandos interpretiert werden.
Umgekehrt genau dasselbe Spiel: KEY=GND -> Solange keine Verbindung
besteht, wird alles als Kommando interpretiert, bei Verbindung bekomme
ich kein "OK", bin aber trotzdem sofort im Datenmodus.
Wenn eine Verbindung besteht, kann ich durch Umschalten vom KEY aber
wieder beliebig zwischen Daten- und AT-Modus hin und her wechseln.
Ist das normal beim HC05?
Wie kann mein uC dann feststellen, ob er gerade Daten senden darf oder
ob AT erwartet werden, wenn das quasi unabhängig vom KEY Pin ist?
Hat jemand soetwas auch schon beobachtet und was kann ich dagegen
unternehmen?
Viele Grüße
Uwe
Ok, Teillösung gefunden:
Wenn KEY beim Power-Up des Moduls auf GND liegt, geht das Modul
tatsächlich in den "transparenten" Daten-Modus, so wie ich es erwartet
hätte.
Schalte ich es aber mit KEY=Vcc ein, bleibt es quasi im
"AT-Daten-Wechselmodus" hängen und ärgert mich, auch wenn ich danach mit
KEY hoch und runter wechsele.
Gut, genaugenommen steht es auch so im Datenblatt:
"How to get to the communication mode: Step 1: Input low level to PIN34.
Step 2: Supply power to the module. Then the module will enter to
communication mode. It can be used for pairing."
Nochwas: Auch wenn das HC-05 beim Power-Up KEY=low gesetzt hat,
"vergisst" es das, sobald ich im anschließenden Betrieb einmal KEY auf
high gesetzt habe (AT-Modus) und wechselt ab dann wieder automatisch hin
und her.
Heißt für mich:
Um definitiv vom AT- in den Datenmodus zu wechseln, muss ich nicht nur
KEY auf Low umschalten, sondern zudem auch noch das Modul Power-Cyclen.
Und wenn ich definitiv den AT-Modus brauche, dann setze ich KEY=High und
hoffe, dass während meiner Kommandos keine neue Verbindung aufgebaut
wird, die mich wieder in den Datenmodus schleudert.
Irgendeinen Haken musste dieses China-Ding ja haben... :o)
> Irgendeinen Haken musste dieses China-Ding ja haben... :o)
Alle auffällig billigen China Produkte haben solche Haken. Mir ist noch
kein einziges Produkt ohne Haken unter gekommen. Meist hapert es an der
Firmware.
1) Eine Smartwatch
1a) Die Anzeige der Weltkarte mit Weltzeiten zeigt völligen Unfug an. Da
liegt z.B. Paris in Afrika und New York in Deutschland. Nur China wird
richtig angezeigt, aber nur dann wenn ich die lokale Zeitzone auf eine
chinesische Zone stelle.
1b) Der MP3 Player kann ca 10% meiner Musikstücke nicht abspielen.
1c) Der Wecker weckt manchmal nicht.
1d) Die Haken, wo das Armband befestigt ist, sind schon nach 4 Wochenan
einer Seite abgerissen.
2) Ein Bluetooth Lautsprecher
2a) Auch der spielt einige meiner MP3 Files nicht ab (gleicher Code?)
2b) Das Ding schreit beim Einschalten in grauenhaftem Dialekt:
"The Bluetooth Device is riiiidy to connect" und
"The Bluetooth Device is connected to" (to what?)
Ein Kollege hat sich einen Bluetooth Kopfhörer gekauft, der macht genau
die selben Ansagen.
2c) Laut Bedienungsanleitung braucht amn ein 5V 500mA Ladegerät, das
Ding nimmt Zeitweise aber mehr als 1A auf. Mein erstes Netzteil hat er
somit gekillt.
2d) Häufig, wenn der Laptop aus dem Standby aufwacht, beginnt der
Lautsprecher zu rauschen. Sowohl im Standby als auch während der
Musikwiedergabe. Ich muss ihn dann aus und wieder ein schalten.
3) Ein 5er Set Arduino Clones
3a) Nur eins hatte die Firmware drauf. Bei den anderen waren lediglich
die Fuses eingestellt.
3b) Beim Auspacken habe ich mich an einer scharfen Kante geschnitten.
3c) Bei einem ist ein Bauteil abgefallen, das musste ich anchlöten.
4) Ein 5er Set HC05 Bluetooth Module
Ich brauchte Stunden, um heraus zu finden, warum es keine AT Befehle
angenommen hat. Ich durfte die Befehle nicht mit einem Zeilenvorschub
terminieren (weder CR, noch CRLF noch LF). Sondern ich muss nach jedem
Befehl eine Sekunde warten, dann wird er ausgeführt.
5) Ein WLAN Repeater
Der hat bei mir gar nicht funktioniert. Im Laden aber schon. Der Händler
hat mir nach dem 3. Versuch das Geld zurück gegeben,
6) Steckbretter
Ich habe vier Steckbretter gekauft, die sehen alle exakt identisch aus.
Aber eins davon hatte alle Kontakte aus Dosenblech, die hatten Null
federnde Wirkung. Totaler Schrott.
7) Jumper-Kabel
Zwei der nagelneuen Jumper Kabel hatten innen drin eine Unterbrechung.
8) Gemälde mit Öl-Farben
Ich hatte drei Gemälde bestellt, es wurden nur 2 geliefert. Das dritte
kam dann nach zahlreichen Rückfragen zwei Monate später. Die Farbe war
noch feucht, so dass es beim auseinander Rollen kaputt ging.
Mein Fazit ist: Ich habe keine Lust mehr auf China Schrott. Da bezahle
ich lieber die Apothekenpreise von Conrad.