HC-12 Funkmodul Reagiert nicht richtig auf AT Befehle

LordHelmchen200

Lt. Junior Grade
Registriert
Sep. 2020
Beiträge
387
Hallo liebes Forum,

vor kurzem wollte ich mein HC-12 Funkmodul mit den AT Befehlen konfigurieren. Es wurde hier gekauft

Ich habe mich nach dieser Anleitung gerichtet, ich habe auf die Korekte belegung der Pins geachtet und SET mit GND verbunden.
Zur komunikation verwendete ich diesen Sketch:

C++:
#include <SoftwareSerial.h>
SoftwareSerial hc12(10,11);
void setup() {
  Serial.begin(9600);
  hc12.begin(9600);
  Serial.println("Let's start!");
}
void loop() {
  if (hc12.available()) {
    Serial.write(hc12.read());
  }
  if (Serial.available()) {
    hc12.write(Serial.read());
  }
}

Um zu testen, ob sich das Modul im "AT" Modus befindet, tippte ich "AT" als Test Kommand ein und das Modul antwortete freundlicherweise mit "OK" und das wars. Das Modul reagiert auf keines der aufgelisteten "AT" Befehle:

AT+SLEEP
AT+V
AT+RX
AT+B1200

Und eigentlich allen anderen "AT" Befehlen auch. Verwende ich alle "AT" Befehle allerdings ohne, dass "+" Symbol antwortet das Modul NUR mit "OK" obwohl bei einem Befehl wie z.B. AT+FU1 als Antwort vom Modul OK+FU1 kommen sollte. dies ist nicht der Fall. Beim nächsten Reichweitentest und bei der Messung des Stromverbrauchs stellt sich heraus das das Modul die Einstellungen nicht übernommen hat.

AT-Befehle wie AT+DEFAULT oder die Abfrage der Firmwareversion funktionieren nicht. Wird der AT Befehl AT+V zur Abfrage der Firmware eingetippt ohne das "+" Zeichen antwortet das Modul mit „OK“, ohne die Firmwareversion zu zeigen.

Auf die korrekte Verdrahtung wurde geachtet, sonst würde das Modul nicht mit "OK" Kommunizieren können.
Hat jemand hier im Forum schonmal ähnliche Probleme gehabt? und wenn ja existiert dazu ein Lösungsweg?
ich habe auf zig verschiedenen Seiten recherchiert, aber die AT befehle scheinen wohl alle unabhängig von der Firmwareversion gleich zu sein.
Alternativ habe ich Für Windows das HC-12-config-master Tool gefunden, wofür man ein TTL USB Adapter benötigt, hat jemand mit so einem Tool Erfahrungen gehabt.

EDIT:
Es wurden auch viele andere Sketches zur Kommunikation des HC-12 verwendet.
Gibt es Arduino IDE Versionen die damit nicht kompatibel sind oder liegt das an der Version der SoftwareSerial Lib?
getestet wurde das mit einem Arduino UNO, NANO und einem MEGA.




Als zweiten versuch habe ich mich nach dieser Anleitung gerichtet.

Ich hab mir die lib und das Tool für Arduino durchgelesen und ausgeführt.
Das Menü funktioniert.
ich konnte Funktion 1 und 3 ausführen. Das testen der µA mit dem Multimeter während ich Funktion 20 (den SLEEP Modus) teste fehlanzeige.
Auch hier kommt vom modul keine Bestätigung und informationen über die Firmware oder den Aktuellen einstellungen.
ich hab so langsam den verdacht das das Modul kein orgirinales ist.

AUSZUG von Seriellen Monitor des Arduinos
Parametrierung 433 MHz HC-12 Modul
Version 1.0

Scanne Baudrate des HC-12 Moduls ...
Baudrate: 9600

Menu:
0 ... Zeige Menue
1 ... Teste Kommunikation
2 ... Zeige Baudrate
3 ... Zeige Kanal
4 ... Zeige Uebertragungsmodus
5 ... Zeige Sendeleistung
6 ... Zeige alle Parameter
9 ... Zeige Firmware Version
12 ... Aendere Baudrate
13 ... Aendere Kanal
14 ... Aendere Uebertragungsmodus
15 ... Aendere Sendeleistung
20 ... Teste Schlafmodus
96 ... Scanne Baudrate
97 ... Ruecksetzen auf Werkseinstellung
98 ... Einstellungen uebernehmen
99 ... Einstellungen uebernehmen und Programm beenden

Eingabe:
Eingabe: 1
Teste Kommunikation
OK

Eingabe: 2
Zeige Baudrate

Eingabe: 3
Zeige Kanal
OK+RC184

Eingabe: 4
Zeige Uebertragungsmodus

Eingabe: 5
Zeige Sendeleistung

Eingabe: 6
Zeige alle Parameter

Eingabe: 9
Zeige Firmware Version

Eingabe: 12
Aendere Baudrate
0 .. Abbruch
1 ..... 1200
2 ..... 2400
3 ..... 4800
4 ..... 9600
5 .... 19200
6 .... 38400
7 .... 57600
8 ... 115200
Eingabe: 1

Eingabe: 97
Ruecksetzen auf Werkseinstellung


Vieleicht kann mir da jemand weiter helfen der ein ähnliches problem hatte.
hier noch die Lib und der Config Sketch als Zip
Vielen dank im vorraus😊
 

Anhänge

  • SerialLIB.zip
    5,2 KB · Aufrufe: 47
Hallo,
ich hatte gerade das selbe Problem. HC-12 v2.6, Sketch auf Arduino Nano
Nur der AT+V Befehl hat funktioniert. Alle anderen Befehle wurden nur mit OK bestätigt.

Selber Sketch wie bei dir, nur Serial.begin(115200);

Nachdem ich die Baudrate für den Serial Monitor von 115200 auf 9600 gesetzt hatte ( Serial.begin(9600); ), haben alle AT Befehle die richtige Rückmeldung geliefert.

Mit freundlichen Grüßen
Tyroler
 
Zuletzt bearbeitet:
Tyroler schrieb:
Nachdem ich die Baudrate für den Serial Monitor von 115200 auf 9600 gesetzt hatte ( Serial.begin(9600); ), haben alle AT Befehle die richtige Rückmeldung geliefert.
hab ich probiert, erfolglos. Der einzige AT Befehl der bei mir Funktioniert ist "AT+C189" zum ändern des Kannals
 
RX/TX vertauscht?

Was willst du überhaupt erreichen?

Hast du mal versucht ein Delay hinter jedes begin zu machen? Fang mal mit 5ms an. Die serielle Schnittstelle ist teilweise echt empfindlich… Im seriellen Monitor hast du auch auf „Neue Zeile“ gestellt?

Hast du #2 getestet.?
 
Zuletzt bearbeitet:
Der_Picknicker schrieb:
RX/TX vertauscht?
Das habe ich schon überprüft, sonst würde das Modul überhaubt nicht antworten
Ergänzung ()

Der_Picknicker schrieb:
Das habe ich getestet, die abfrage der Baud Funktioniert
Ergänzung ()

Der_Picknicker schrieb:
Hast du mal versucht ein Delay hinter jedes begin zu machen? Fang mal mit 5ms an. Die serielle Schnittstelle ist teilweise echt empfindlich… Im seriellen Monitor hast du auch auf „Neue Zeile“ gestellt?
Also das oben gezeigte Tool mit dem Auswahlmenü der Funktionen funktioniert zu 100%. Der sendekannal lässt sich auch erfolgreich ändern via. AT Befehle, das ist aber auch das Einzigste was Funktioniert
Ergänzung ()

Tyroler schrieb:
Nachdem ich die Baudrate für den Serial Monitor von 115200 auf 9600 gesetzt hatte
hatte ich auch Ausprobiert, danach hab ich nur noch kryptische zeichen gesehen
Ergänzung ()

ich habe in Anderen Foren auch schon nach Rad gesucht, es scheint so als müsste ich die Reklamieren
 
Zurück
Oben