Problem Set #3: The Things

alebo o prvej vrste IoT architektúry

Zariadenia nachádzajúce sa na prvej vrstve architektúry sú reprezentované chytrými senzormi a akčnými členmi. Obecne sa môže jednať o:

  • treťostranové zariadenia
  • vami vytvorené zariadenia
Raspberry Pi Pico WH

Treťostranové zariadenia

Tieto zariadenia si môžete kúpiť a umiestniť ich do miestnosti. K dispozícii máte obrovské množstvo zdrojov (napr. alza.sk, aliexpress.com), ako aj výrobcov (napr. Xiaomi, Antik, Ikea, Lidl, TESLA).

Hlavným komunikačným kanálom a protokolom celej infraštruktúry je komunikačný protokol MQTT. V prípade treťostranových zariadení teda musíte nájsť spôsob, ako tieto zariadenia do tejto infraštruktúry integrovať a pripojiť k zariadeniu IoT Gateway vo vašej miestnosti. Zariadenia môžu totiž používať rozličné komunikačné protokoly. Takže sa predtým, ako ktorékoľvek zariadenie kúpite, uistite, či ho budete vedieť pripojiť. K tomu vám môžu pomôcť služby a projekty, ktoré sú na IoT Gateway spustené:

Vami vytvorené zariadenia

Chytré zariadenie si môžete vytvoriť sami pomocou ľubovoľného mikrokontroléra - pre vaše riešenie môžete použiť ľubovoľný mikrokontrolér a naprogramovať ho môžete v ľubovoľnom programovacom jazyku.

Pri implementácii vlastných zariadení sa snažte o dodržanie všetkých odporúčaní, o ktorých sme hovorili v rámci predmetu. Dbajte teda:

  • o bezpečnosť vášho zariadenia,
  • nízku spotrebu,
  • jednoduchosť návrhu,
  • zvládnutie výpadku spojenia,
  • zabezpečenie OTA aktualizácie (bonus), a
  • všeobecnú spoľahlivosť.

Ako sa pripojiť ku zariadeniu IoT Gateway?

Vami vytvorené zariadenie viete do infraštruktúry pripojiť prostredníctvom zariadenia IoT Gateway, ktoré sa nachádza vo vašej miestnosti. Pre komunikáciu s ním môžete použiť napr. tieto možnosti:

  • pripojiť sa pomocou WiFi a komunikovať pomocou MQTT protokolu s MQTT brokerom, ktorý sa nachádza na zariadení
  • vytvoriť BLE beacon, ktorého dáta bude možné odchytiť pomocou na zariadení IoT Gateway pomocou služby Theengs

Ako synchronizovať čas?

Ak potrebujete synchronizovať čas na vašom chytrom zariadení, môžete na to využiť služby Chrony, ktorá je spustená na zariadení IoT Gateway na štandardnom porte 123.

Ako komunikovať pomocou protokolu MQTT?

Ak sa vaše chytré zariadenie bude k zariadeniu IoT Gateway pripájať pomocou WiFi, komunikovať s celou infraštruktúrou bude prostredníctvom protokolu MQTT. Štruktúra každej témy je záväzná a vyzerá takto:

gw/<type>/<id>/<operation>

Význam jednotlivých častí je nasledovný:

  • gw - povinný lokálny prefix
  • <type> - typ zariadenia, napr. temperature pre meranie teploty, audio pre meranie/ovládanie hlasitosti
  • <id> - identifikátor zariadenia, pokiaľ sa nejedná o špeciálne označené zariadenie (napr. predné/zadné dvere), používajte svoj študentský identifikátor v tvare ab123cd
  • <operation> - definuje, či je správa vstupná alebo výstupná, a čo reprezentuje

Okrem toho dodržiavajte tieto pravidlá:

  • Ak vytvárate senzor, ktorý zbiera dáta v pravidelných intervaloch, tak svoje namerané dáta publikujte do témy gw/<type>/<id>/data alebo gw/<type>/<id>/metrics.
  • Ak vytvárate senzor alebo akčný člen, ktorý generuje udalosti (napr. boli otvorené dvere), tak tieto posielajte v téme gw/<type>/<id>/event
  • Stav vášho zariadenia, ako aj jeho poslednú vôľu, publikujte do témy gw/<type>/<id>/status. Tieto správy budú označené príznakom RETAIN.
  • Vaše zariadenie by sa malo prihlásiť na odbed týchto dvoch tém:
    • gw/<type>/<id>/set - Správy odoslané do tejto témy slúžia na aktualizáciu, resp. zmenu nastavení vášho zariadenia.
    • gw/<type>/<id>/cmd - pomocou správ odoslaných do tejto témy budete môcť vaše zariadenie ovládať na diaľku

Pokiaľ vaše zariadenie pracuje s týmito témami, vaše správy budú automaticky preposielané do a sťahované zo zariadenia Mother.

Napájanie

Ak je vaše zariadenie senzor, ktorý v pravidelných intervaloch len zosníma nejakú hodnotu, musí byť napájané z vašej batérie.

Pokiaľ však vaše zariadenie pracuje ako akčný člen (napr. ovláda prácu čerpadla pre zavlažovanie kvetináča) a očakáva sa okamžitá spätná väzba, podľa potreby môže byť pripojené do elektrickej siete.