Objevte možnosti integrace interiérových senzorů kvality vzduchu Unipi komunikujících pomocí bezdrátové technologie LoRa.
Úvod
V posledních letech výrazně roste popularita nízkopříkonových rádiových standardů pracujících ve volně přístupných (nelicencovaných) kmitočtových pásmech do 1 GHz. Odtud také plyne označení těchto technologií jako Sub-GHz. Jejich charakteristickou vlastností je malá šířka pásma, což je činí nevhodnými pro přenos větších objemů dat. Nejčastěji je proto nalezneme v zařízeních pro odečty energií, určování polohy či měření fyzikálních veličin. Tato řešení se souhrnně označují jako internet věcí (Internet of Things, IoT).
Tento článek na jednoduchém příkladu demonstruje práci s bezdrátově komunikujícím zařízením, konkrétně pak interiérovým senzorem kvality vzduchu. Zařízení využívá standard LoRa coby jednoho z typických zástupců Sub-GHz radiových standardů.
LoRa v produktech Unipi
V nabídce Unipi jsou zařízení s rozhraním LoRA zastoupeny interiérovými senzory kvality vzduchu RLW-TH a RLW-THC. Senzory jsou určeny pro instalaci do interiérů kancelářských budov, škol, výrobních hal, hotelů, sálů a dalších podobných objektů. Senzory mohou provádět měření až šesti veličin, a to:
- koncentrace CO2 (pouze verze RLW-THC)
- index koncentrace těkavých látek VOC
- teplota
- relativní vlhkost
- okolní osvětlení
- atmosférický tlak
LoRa rozhraní lze u senzoru jednoduše aktivovat a spravovat pomocí přehledného webového konfiguračního rozhraní:
Možnosti integrace
Abychom mohli data ze senzoru vyčíst, potřebujeme je nejprve přijmout, předzpracovat a následně poskytnout uživatelské aplikaci pomocí definovaného APi. Tu může představovat řídicí program v PLC, databáze na vzdáleném serveru, případně specializovaný software v dohledovém centru. Samotná LoRa konektivita může být zajištěna některým z těchto způsobů:
- Komerční operátor, tj. subjekt provozující síť LoRa bran pokrývající dané území (např.stát). Výhodou je garance dostupnosti a kvality pokrytí, nevýhodou naopak závislost projektu na jedné společnosti a její cenové politice.
- Vlastní síť, kdy lze pomocí jedné nebo více vlastních LoRa bran pokrýt pouze konkrétní oblast nezávisle na jiných uživatelích. Toto řešení je vhodné pro menší lokální projekty (jednotlivé budovy a přilehlé okolí, tovární haly, hotely apod.). Výhodou je absolutní nezávislost takové sítě.
- Komunitní síť bran provozovaná více nezávislými subjekty (dobrovolníky či organizacemi), se společnou serverovou částí (stackem). Toto řešení může pokrývat jak menší území (např. městská čtvrť), tak i celé světadíly. Nejznámější komunitní sítí zahrnující tisíce LoRa bran po celém světě je The Things Network (TTN).
Vzhledem k nejednotnosti možností sítí, národním specifikům nebo rozdílnému API u jednotlivých komerčních operátorů se nebude další text možností č.1 detailněji zabývat.
Komunitní síť TTN
Informace týkající se komunitní sítě TTN nemusí být v současnosti aktuální. Článek bude v dohledně době aktualizován. |
Komunitní síť představuje ideální nástroj pro prvotní seznámení se s technologií LoRa. Mezi její výhody patří široká uživatelská základna, kvalitní dokumentace a podpora ze strany TTN. Naopak slabinou je značně omezené pokrytí, které obvykle zahrnuje pouze větší města některých států. Řešením je v tomto případě instalace vlastní brány (či bran) a její registrace do komunitní sítě. Výhodou tohoto postupu je fakt, že serverovou část (tj. LoRaWAN network server) poskytuje TTN a uživatel tak nemusí zajišťovat její běh na vlastním serveru (ať už virtuálním či fyzickém).
Samotnou integraci TTN do uživatelské aplikace lze realizovat několika způsoby:
- SDK přímo pro daný programovací jazyk (k dispozici je např. pro Javu, Python nebo GO). Součástí SDK jsou rozhraní jak pro obousměrnou datovou komunikaci, tak i pro správu aplikace (např. přidávání/odebírání bran nebo koncových zařízení),
- MQTT pro datovou komunikaci - široce rozšířený protokol v IoT, zároveň podporovaný mnoha nástroji a prostředími (např. Node-RED)
- HTTP API pro správu aplikace
V následujících několika krocích si ukážeme, jak vytvořit a oživit ukázkovou aplikaci využívající senzor RLW-THC.
1. Registrace/přihlášení k TTN
Prvním krokem je vlastnictví uživatelského účtu na portálu https://www.thethingsnetwork.org/. Pokud ještě účet nemáte, můžete si jej založit kliknutím na tlačítko Sign up.
2. Vytvoření aplikace + registrace senzoru
Po přihlášení do vlastního uživatelského účtu je nejprve nutné přidat aplikaci. K tomu slouží tlačítko Console → Applications → Add application. Poté zvolte unikátní identifikátor aplikace Application ID (bude součástí názvu tématu u MQTT - viz další text) a zadejte její stručný popis. Kliknutím na Add application pak vytvoření aplikace dokončíte.
3. Registrace IAQ RLW-THC
Nyní do aplikace zaregistrujte jedno či více zařízení. Učiníte tak v detailu vytvořené aplikace přepnutím na záložku Devices a kliknutím na Register Device.
Poté zadejte následující údaje:
- Device ID - řetězec, který volí uživatel. Musí být v rámci aplikace unikátní,
- Device EUI - Identifikátor zařízení, získán na straně zařízení, vložen do formuláře TTN,
- Application EUI - Identifikátor aplikace, generován na straně TTN, nutno zadat do zařízení,
- Application Key - šifrovací klíč, generován na straně TTN, nutno zadat do zařízení.
4. Ověření funkce
Pokud jste všechny předchozí kroky provedli správně, mělo by zařízení po chvíli odeslat první zprávu:
Pro úsporu dat jsou naměřené hodnoty přes LoRa síť přenášeny v binárním formátu, který je třeba nejprve dekódovat. TTN zde nabízí možnost do aplikace přidat zdrojový kód, který dekódování provede automaticky. Výsledek přijímaný uživatelskou aplikací je pak již dekódován a obsahuje hodnoty naměřených fyzikálních veličin ve standardizovaném formátu JSON. Zdrojový kód dekodéru lze přidat v sekci Applications → Payload Formats → Decoder. V případě senzoru Unipi pak může kód vypadat například takto: https://kb.unipi.technology/_media/decoder.zip.
5. Ukázka příjmu dat prostřednictvím MQTT
Protokol MQTT se vyznačuje nenáročností a širokou podporou napříč programovacími jazyky, vývojovými prostředími a dalšími nástroji. Z toho důvodu je velmi často používán ve světě IoT pro přenos dat z koncových bodů do nadřazené aplikace. MQTT využívá model komunikace producent-konzument, kdy se konzument registruje k odběru (subscribe) zpráv jednoho nebo více témat (topic). Zde může jít například o zprávy obsahující naměřená data z jednoho nebo více senzorů, případně o události jako je například registrace senzorů do sítě. Jako prostředník mezi producentem a konzumentem pak slouží tzv. MQTT broker.
V našem případě je producentem dat senzor RLW-THC, zatímco broker je zajištěn na straně TTN. Roli konzumenta pak plní open-source nástroj MQTT Explorer, který si můžete stáhnout na tomto odkazu.
Pro přihlášení k odběru MQTT zpráv je třeba zadat následující údaje:
- Adresa serveru brokera - v případě TTN a oblasti EU se používá adresa mqtt://eu.thethings.network,
- Port - výchozí možností pro nešifrované spojení je TCP port 1883, který využíváme i v tomto článku,
- Uživatelské jméno - údaj Application ID zadaný při vytváření aplikace v části Registrace IAQ RLW-THC
- Heslo - přístupový klíč svázaný s aplikací, který naleznete na portálu TTN v sekci Applications → Overview → Access keys. Pro jednu aplikaci lze vygenerovat více klíčů, klíče se mohou lišit úrovněmi oprávnění.
Po vyplnění těchto údajů lze v skeci Advanced nastavit i filtr odebíraných témat. Výchozí hodnotou je zde znak #, který patří mezi tzv. divoké karty a znamená odběr všech témat publikovaných v rámci dané aplikace.
Řetězec určující dané téma je v případě TTN v tomto tvaru:
<Application ID>/devices/<Device ID>/up
Pro odběr zpráv s naměřenými daty z jednoho konkrétního IAQ senzoru přidaného v bodě ODKAZ bude téma vypadat následovně:
iaq_ms_4569/devices/rlw_thc_8/up
Po připojení stiskem tlačítka Connect jsou veškeré příchozí zprávy zaznamenávány, přičemž hodnoty z polí obsahujících číselné hodnoty lze vykreslit do grafu.
Příklady využití senzorů s LoRA
Řešení založené na komerční či komunitní LoRa infrastruktuře a v případě potřeby rozšířené o vlastní bránu, které jsme popsali na předchozích řádcích, nalezne využití v široké škále aplikací. Níže následuje několik praktických příkladů:
- Bezdrátový sběr dat z obytných či administrativních prostor, kde z různých důvodů nelze použít pro tento účel Wi-Fi (např. zajišťováno jednotlivými nájemníky, případně je omezující dosah běžných AP)
- Sběr dat ze vzdálených objektů, kde odpadá nutnost správy spojení v rámci internetu (veřejné IP, tunely VPN/IPsec apod.).
- Sběr dat z objektů zcela bez připojení k internetu - ve srovnání s GSM/LTE bránou nabízí LoRa úsporu energie i provozních nákladů.