HC-12 nefunguje samostatně, musí se jako komunikační modul připojit k jednočipu (Arduino, ESP8266, ESP32, ...). Zapojení je banální a návodů jak na to je plný internet, česky třeba tady https://navody.dratek.cz/navody-k-produ ... 3-mhz.html
Já si tyto moduly pořídil na hadexu, konkrétně: https://www.hadex.cz/m349b-bezdratovy-m ... 12-si4463/
Jako vývojovou desku často používám ideaspark ESP32 s grafickým displejem, viz deska č. 3 v tomto vlákně viewtopic.php?t=3579
Pro zjištění konfigurace modulu z výroby jsem vyzkoušel tento prográmek:
Kód: Vybrat vše
// Vysílač (sender.ino)
#include <U8g2lib.h>
#include <HardwareSerial.h>
// Inicializace displeje pro ESP32 přes I2C
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, U8X8_PIN_NONE);
HardwareSerial SerialHC12(2); // Použití UART2
void setup() {
Serial.begin(9600); // Konzole pro komunikaci s PC
SerialHC12.begin(9600, SERIAL_8N1, 17, 16); // RX=17, TX=16
u8g2.begin();
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_helvB18_tr);
u8g2.setCursor(0, 36);
u8g2.print("AT comm.");
u8g2.sendBuffer();
}
void loop() {
// Příkazy z PC do HC-12
if (Serial.available()) {
String cmd = Serial.readStringUntil('\n');
SerialHC12.println(cmd);
}
// Odpovědi z HC-12 na PC
if (SerialHC12.available()) {
String response = SerialHC12.readStringUntil('\n');
Serial.println(response);
}
}
Tučně označím moje příkazy a netučně odpověď od modulu HC-12.
AT
OK
AT+RX
OK+B9600
OK+RC001
OK+RP:+20dBm
OK+FU3
Výchozí nastavení (z výroby) je tedy:
OK+B9600: Přenosová rychlost je nastavena na 9600 baudů
OK+RC001: Kanál je nastaven na číslo 1
OK+RP:+20dBm: Výkon je nastaven na +20 dBm, což je cca 100 mW. POZOR: Toto je vysoko nad povolený limit pro ČR (10 mW)! Nutno snížit pomocí AT příkazu AT+P4 nebo nižší.
OK+FU3: Komunikační mód FU3 (Full Duplex)
Další info bude následovat.