Integrace interiérového IoT senzoru kvality vzduchu s LoRa komunikací

Domů Případové studie Integrace interiérového IoT senzoru kvality vzduchu s LoRa komunikací Zpět
Případové studie

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ů: 

  1. 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.
  2. 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ě.
  3. 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

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:

  1. 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í),
  2. MQTT pro datovou komunikaci - široce rozšířený protokol v IoT, zároveň podporovaný mnoha nástroji a prostředími (např. Node-RED)
  3. 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: 

  1. Device ID - řetězec, který volí uživatel. Musí být v rámci aplikace unikátní,
  2. Device EUI - Identifikátor zařízení, získán na straně zařízení, vložen do formuláře TTN,
  3. Application EUI - Identifikátor aplikace, generován na straně TTN, nutno zadat do zařízení,
  4. 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:

  1. Adresa serveru brokera - v případě TTN a oblasti EU se používá adresa mqtt://eu.thethings.network,
  2. Port - výchozí možností pro nešifrované spojení je TCP port 1883, který využíváme i v tomto článku,
  3. Uživatelské jméno - údaj Application ID zadaný při vytváření aplikace v části Registrace IAQ RLW-THC
  4. 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ů.

Kam dál?