Víte, co je na sériové lince nejlepší? Její univerzálnost. Když teď od Arduina odpojím Bluetooth vysílač HC-05 a místo něj připojím HC-12, vlastně nebudu muset vůbec zasahovat do kódu, protože v obou případech se jedná o destičky komunikující skrze UART.
Tím ale veškerá podobnost končí, HC-12 je totiž výkonný 433MHz obousměrný vysílač/přijímač (manuál v angličtině). Takže sice používá stejný kmitočet jako laciný obvod z druhé kapitoly, ale s mnohem vyšší přenosovou kvalitou a možnostmi pro vývojáře.
V případě HC-12 je to pořekadlo o malém kašpárkovi a velkém divadle docela příhodné
HC-12 lze skrze sériovou linku také řádně konfigurovat (i pomocí utility pro Windows), takže můžete zvolit jeden z mnoha dostupných komunikačních kanálů, pohrát si se zmíněným vysílacím výkonem a zvolit jeden z komunikačních profilů. K dispozici je jak úsporný, který si během čekání na příjem dat řekne jen o pár mikroampérů, tak dálkový, který s dobrou anténou, minimálním rušením a při přímé viditelnosti přenese data i na vzdálenost mezi 1 až 2 kilometry!
HC-12 a jeho konfigurační utilita pro Windows. Stačí destičku pomocí UART-USB převodníku připojit k PC a nastavit v tomto přehledném prostředí jeden z pracovních režimů FU (FU1 až dálkový FU4), pracovní kanál a také vysílací výkon (až 100 mW)
Vysílačka, kterou nebude mít ČTÚ rád
Abyste to však dotáhli vysoko přes kilometr, budete muset nastavit nejvyšší vysílací výkon 100 mW. A to se nemá…
Markantní snížení přenosové rychlosti v dálkovém režimu „1.8 km“ a výběr vysílacího výkonu
Když se začtete do všeobecného oprávnění č. VO-R/10/05.2014-3 k provozování zařízení krátkého dosahu (PDF), zjistíte, že v pásmu 433 MHz můžete použít nejvýše 10mW vysílací výkon. Pro vyšší energie tu je pásmo 869 MHz (až 500 mW).
Norma ČSÚ jasně stanoví provoz rádiových vysílačů na různých kmitočtech
Dlouhodobé dálkové výkonné vysílání s HC-12 je tedy na hraně a v krajním případě by z toho mohly být i nepříjemnosti. Pokud však použijete rádiový signál jen k rychlému odeslání drobných dat jednou za čas, měřící vůz ČTÚ vám okolo domu asi jezdit nebude.
Jdeme měřit dosah s telefonem v kapse
S HC-12 lze experimentovat stejně jako s HC-05 pomocí mobilního telefonu. Stačí v kapse nosit Android a použít UART-USB převodník. Na jedné straně připojíte HC-12 k napájení, RX a TX a na druhé straně vše připojíte s redukcí na microUSB port telefonu. Poté stačí z Play Storu opět nainstalovat některý z mnoha terminálů, který se tentokrát postará o emulaci sériové linky skrze USB. Bezchybně funguje třeba UsbTerminal.
HC-12 připojený pomocí UART-USB převodníku CP2102 a redukce na microUSB k telefonu s Androidem, na kterém běží UsbTerminal
Telefon se rázem promění ve vysílačku na kmitočtu 433 MHz a můžete s ním vyrazit do terénu a zkoumat, jak daleko se dostanete, dokud přestanete přijímat periodické zprávy od Arduina kdesi u vás doma na parapetu.
Takže zatímco Arduino s připojeným HC-12 leželo v práci na stole, já vyrazil směrem k blízkému výčepu Na stojáka. Dokud jsem přímo viděl na budovu redakce, získával jsem zprávy. V zákrytu už nikoliv.
HC-12 připojený k telefonu a přijímající zprávy
HC-12 koupíte s jednoduchou stočenou anténou, kterou musíte připájet na desku, nicméně na desce zbylo místo i na maličký konektor IPX, který znáte třeba z Wi-Fi/BT modulů uvnitř laptopů. Na IPX pak lze pomocí redukce připojit třeba adekvátní SMA anténu.
Ještě kód
Nakonec ještě ukázka jednoduchého kódu. Abych jej oproti HC-05 trochu obměnil, použil jsem tentokrát knihovnu SoftwareSerial a udělal piny RX a TX z digitálních 8 a 9. Jak vidno, princip použití ale zůstává i nadále naprosto identický.
#include <SoftwareSerial.h>
// Softwarovy RX a TX na digitalnich pinech 8 a 9
SoftwareSerial HC12(8, 9);
String msg;
int counter = 1;
void setup() {
HC12.begin(9600);
}
void loop(){
// Kazdych pet sekund posli zpravu
msg = "PING " + String(counter) + ": Ahoj, tady Arduino u PC";
HC12.println(msg);
counter++;
delay(5000);
}
Hrátky s Arduinem jsou docela levné
Dnes jsme si tedy ukázali základy IR a RF komunikace. Zatímco ty nejlevnější moduly z prvních dvou kapitol pořídíte za pár desítek korun, HC-05 a HC-12 už budou dražší, stále se však jedná o levný hardware.
Kolegové si ze mě utahují, že jsem již na eBay a v českých e-shopech utratil jednu celou výplatu, a když se podívám na svou bednu plnou součástek i sofistikovaných obvodů, mám ten pocit také. Ve skutečnosti se však průměrná cena mých objednávek na eBay pohybuje okolo ceny několika dobře natočených piv. HC-12 není výjimkou. Modul pro sériovou rádiovou komunikaci koupíte na zahraničních e-shopech za cenu lehce přes stokorunu.