
Jedná se o bezdrátový modul v pásmu 433 MHz, určený k bezdrátovému přenosu dat ze sériové linky UART. Pomocí dvou těchto modulů je možné vytvořit most mezi dvěma aplikacemi komunikujícími po sériové lince UART, využívající linky RX a TX. Výhodou modulu je možnost připojení externí antény nebo malé spirálové antény dodávané spolu s modulem.
Technické specifikace
| Napájecí napětí | 3,3 až 6 V |
|---|---|
| Odběr proudu | 80 uA až 22 mA podle zvoleného režimu provozu FU |
| Komunikace | UART, linky RX a TX |
| Podporované rychlosti | 1200 až 115200 bps |
| Výkon | -1 až 20 dBm, nastavitelný v osmi úrovních |
| Dosah | až 500 m podle režimu, antény a prostředí |
| Konfigurace | pomocí AT příkazů |
Použití
Hlavním použitím těchto modulů je náhrada kabelového sériového rozhraní za bezdrátové. Pokud se používá komunikace pouze jedním směrem, tedy vysílá jen jeden modul, je možné definovat několik modulů, které budou vysílaná data přijímat. To se hodí například v situaci, kdy máme rozmístěné dva nebo více displejů a chceme na nich zobrazovat stejná data z jednoho zdroje.
Připojení modulu do aplikace

Na obrázku je znázorněno připojení k desce Arduino UNO a v horní části obrázku blokové schéma propojení dvou aplikací pomocí dvou modulů HC-12. Datové linky TX a RX jsou mezi modulem a aplikací vždy překříženy.
Konfigurace
Modul lze konfigurovat pomocí AT příkazů. Do AT módu lze vstoupit dvěma způsoby. První možností je za běžného provozu přivést na vývod 5, označovaný CON nebo SET, logickou úroveň L. V tomto režimu modul komunikuje rychlostí, kterou má aktuálně nastavenou. V AT režimu zůstane po dobu, kdy je na vývodu 5 logická úroveň L. Jakmile vstup přejde do úrovně H, modul se vrátí do běžného provozu.
Druhou možností je vypnout napájení modulu, přivést na vývod 5 logickou úroveň L a znovu zapnout napájení. Tím se modul také dostane do AT módu, ale komunikační rychlost UARTu bude nastavena na 9600 bps bez ohledu na rychlost používanou v běžném provozu. Z toho plyne, že připojením vývodu SET k vlastní aplikaci lze modul za běhu překonfigurovávat podle aktuální potřeby. Pokud vývod SET není nikam připojen, je na něm automaticky logická úroveň H, což odpovídá běžnému provozu.
V AT režimu je potřeba s modulem komunikovat pomocí sériového terminálu. Pro aktuální použití je vhodný Sakul Serial Terminal (SST). Po propojení modulu s USB/TTL převodníkem a připojení převodníku k PC je potřeba zjistit COM port, pod kterým se převodník přihlásil do systému.

V ukázce je použit COM port 4, ale každý počítač může mít číslo jiné. Tento port nastavíme v terminálu, rychlost nastavíme typicky na 9600 bps při použití druhého způsobu konfigurace a otevřeme komunikaci. Pro ověření spojení lze odeslat samotný příkaz AT, na který modul odpoví OK, případně příkaz AT+RX, který vypíše aktuální konfiguraci modulu.

Při zadávání AT příkazů je potřeba vložit ukončovací znaky CR a LF. Pokud používáte jiný terminál, zkontrolujte, že má zapnuté automatické vkládání těchto znaků, případně je doplňte ručně.
Jednotlivé AT příkazy
Níže jsou uvedeny nejdůležitější příkazy pro konfiguraci a zprovoznění modulu. Další příkazy najdete v datasheetu modulu.
AT+RX vypíše aktuální nastavení modulu. Konkrétní parametr lze vypsat příkazem AT+Ry, kde místo y doplníte písmeno parametru. Například C pro kanál, P pro vysílací výkon, B pro přenosovou rychlost a F pro režim provozu. Příkaz AT+RB vrátí komunikační rychlost UARTu.
AT+C nastavuje kanál. Kanál se zadává jako tříciferné číslo, například AT+C001. V původním textu je upozorněno, že v České republice je v daném pásmu povoleno vysílat pouze na vybraných kanálech a ostatní kanály mohou být zakázané. Před reálným provozem vždy ověřte aktuální podmínky u ČTÚ.
AT+B nastavuje komunikační rychlost, například AT+B19200. Podporované rychlosti jsou 1200, 2400, 4800, 9600, 19200, 38400, 57600 a 115200 bps.
AT+FU nastavuje provozní režim, který ovlivňuje spotřebu proudu, maximální přenosovou rychlost a chování sériového rozhraní. Doporučuje se nastavit stejný režim FU na všech modulech, které spolu mají komunikovat.
AT+P nastavuje vysílací výkon. Původní článek upozorňuje, že výkon v tomto pásmu je legislativně omezený. Před použitím je nutné ověřit aktuální povolený výkon a podmínky provozu.
AT+V zobrazí verzi firmware modulu.
Režimy FU
| FU1 | Režim se střední spotřebou. Lze nastavit všechny komunikační rychlosti, přibližná spotřeba je kolem 4 mA. |
|---|---|
| FU2 | Režim s nízkou spotřebou kolem 80 uA. Má vysokou latenci až 500 ms a podporuje pouze rychlosti 1200, 2400 a 4800 bps. Je vhodný pro bateriové aplikace s nízkým datovým tokem. |
| FU3 | Režim s nízkou latencí kolem 10 ms a nejvyšší spotřebou kolem 16 mA. Podporuje všechny dostupné rychlosti a hodí se pro větší datový tok oběma směry. |
| FU4 | Režim zaměřený na co největší dosah. Podporuje pouze 1200 bps, malou velikost paketů a delší prodlevy mezi vysíláním. Teoreticky může dosáhnout až přibližně 1,8 km. |
Konfigurace pomocí aplikace
Konfigurace přes terminál může být nepohodlná, proto existuje také možnost použít aplikaci určenou přímo pro konfiguraci tohoto modulu. Po spuštění aplikace se zvolí COM port, na kterém je modul připojen, a následně lze nastavovat přenosovou rychlost, paritu, stop bity, režim FU, vysílací výkon a kanál. Pro uložení hodnot do modulu slouží tlačítko pro odeslání konfigurace a pro zobrazení aktuálních hodnot tlačítko pro kontrolu konfigurace.

Závěrem
Modul HC-12 je výbornou volbou pro přenos dat a díky možnosti režimu IO je vhodný i pro jednoduchá dálková ovládání. Uplatní se také při přenosu dat z jedné aplikace do více podřízených aplikací, například do několika displejů. Velkou výhodou je možnost připojit externí anténu do konektoru přímo na desce modulu.
Na druhou stranu je nutné hlídat parametry, které v modulu měníme, zejména vysílací výkon a kanál. Ty mohou být v České republice legislativně omezené. I tak má modul široké použití v mnoha praktických aplikacích.

Dokumentace
Ke stažení je připraven balík dokumentace k modulu HC-12.