Rádiókommunikációs megoldások Arduino-val
HC-12 433MHz-es vezeték nélküli soros kommunikációs modul
A HC-12 a 433,4 .. 473,0 MHz ISM-tartományban működő soros átviteli modul, ami ideális körülmények között 1 km hatótávolságot is biztosíthat. A modulra egy „SI4463” IC-t integráltak.
A HC-11 és HC-12 modulok nem kompatibilisek egymással, csak párban tudnak működni.
HC-12 technikai adatok
Tápfeszültség: 3.2V .. 5.5V (tartós, 4,5 V-ot meghaladó tápfeszültség esetén érdemes diódával védeni a tápot)
Hatótávolság: nyílt területen 600 m, ideális esetben 1 km
Adatátviteli sebesség: 1.2Kbps .. 115.2Kbps(default 9.6Kbps)
Minimális áramfelvétel: 16 mA
Frekvenciatartomány: 433,4 .. 473,0 MHz, legfeljebb 100 csatorna áll rendelkezésre a kommunikációra
Maximális adási teljesítmény: 100 mW (állítható)
Vételi (teljesítmény) tartomány: -117dBm .. -100dBm
Átviteli (teljesítmény) tartomány: -1dBm .. 20dBm
Alapértelmezett gyári beállítások: FU3 mód, 9600 bps adatátviteli sebesség, CH001 kommunikációs csatorna (433.4M)
HC-12 pinek
pin | neve | leírás |
---|---|---|
SET | beállítás | LOW aktív, lásd lent „parancskészlet” |
TxD | küldés | kimeneti pin |
RxD | fogadás | bemeneti pin |
GND | grund | grund |
Vcc | táp | 3,2 .. 5,5 V |
ant1 | PCB antenna | |
ant2 | forrasztható antenna |
HC-12 vezetékezés
AT parancskészlet
A parancsok a kikapcsolás után is megőrződnek.
parancs + paraméterek | megnevezés | leírás |
---|---|---|
AT | Teszt | Ha csak egy AT parancsot kap modul, arra egy „OK”-val kell válaszolnia. |
AT +Bxxx | Sebesség beállítása | Lehetőségek: 1200bps, 2400bps, 4800bps, 9600bps, 19200bps, 38400bps, 57600bps and 115200bps. Gyári beállítás: 9600bps. Parancs formája, pl. a 19200bps-hez: „AT + B19200„ |
AT + Cxxx | Rádiócsatorna váltása | A paraméter 0 .. 127 között változhat. Alapértelmezett: 1 (433.4MHz). A csatornák között 400KHz távolság található. A CH100 az a 473.0 MHz. Parancs formája „AT + C021” (441.4 MHz) A visszaigazolás formája: „OK + C021” |
AT + FUx | Csatornaváltási mód kiválasztása | A paraméter lehet: FU1, FU2 vagy FU3. A modul alapértelmezett módja: FU3. Példa: „AT + FU1”, erre a válasz: „OK + FU1” |
AT + Px | Teljesítményszint állítása | 1: -1dBm, 2: 2dBm, 3: 5dBm, 4: 8dBm, 5: 11dBm, 6: 14dBm, 7: 17dBm, 8: 20dBm. Alapértelmezett a maximális teljesítmény: 8 Példa: „AT + P5”, erre a válasz: „OK + P5„ |
HC-12 szoftver
Github: https://github.com/al177/hc12pj
vagy csak egyszerűen:
#include <SoftwareSerial.h> SoftwareSerial hc12(6, 5); void setup() { pinMode(7,OUTPUT); digitalWrite(7,LOW); // AT parancs-mód Serial.begin(9600); hc12.begin(9600); hc12.print(F("AT+C001")); // első csatorna beállítása (egyébként default) delay(100); digitalWrite(7,HIGH);// átviteli mód } void loop() { if(Serial.available()) hc12.write(Serial.read()); if(hc12.available()) Serial.write(hc12.read()); }