Problem Set #4: IoT Gateway
alebo o druhej vrste IoT architektúry
Každá miestnosť je vybavená jedným IoT Gateway zariadením. Ak chcete, aby vaše chytré zariadenia (veci, z angl. things), ktoré vytvoríte a naprogramujete, boli schopné komunikovať, budete sa pripájať práve prostredníctvom IoT Gateway.
Zariadenie IoT Gateway je reprezentované minipočítačom Raspberry Pi 3 Model B.
Služby na IoT Gateway
Na IoT Gateway zariadeniach sú spustené rozličné služby a aplikácie pomocou Docker kompozície. Základ je tvorený (core) kompozíciou, ktorá obsahuje tieto služby:
Homepage - aplikačný panel, ktorý sa vám zobrazí pri prístupe na zariadenie na porte
80cez protokol HTTPTelegraf - slúži na zbieranie základných metrík o stave zariadenia IoT Gateway
Mosquitto - MQTT broker pre danú miestnosť, s ktorým je možné komunikovať na porte
8883Chrony - NTP server, s ktorým si môžu vaše zariadenia zosynchronizovať čas na štandardnom porte
123Zigbee2MQTT - most medzi komunikačným protokolom Zigbee a MQTT
Theengs - most medzi komunikačným protokolom Bluetooth LE a MQTT
Node-RED - (jediné) programátorské prostredie pre vaše projekty na zariadení
Zoznam zariadení
V nasledujúcej tabuľke sa nachádzajú informácie o jednotlivých zaradeniach a ich umiestnení:
| miestnosť | označenie | IP adresa | hostname |
|---|---|---|---|
| abydos | A536 | 147.232.52.251 |
abydos-gw.fei.tuke.sk |
| dune | B529 | 147.232.45.9 |
dune-gw.fei.tuke.sk |
| endor | B526 | 147.232.52.253 |
endor-gw.fei.tuke.sk |
| hyperion | A512 | 147.232.52.252 |
hyperion-gw.fei.tuke.sk |
| kronos | B524 | 147.232.44.94 |
kronos-gw.fei.tuke.sk |
| meridian | B519 | 147.232.22.230 |
meridian-gw.fei.tuke.sk |
| nyx | B501 | ||
| romulus | A534 | 147.232.22.242 |
romulus-gw.fei.tuke.sk |
| solaris | A532 | 147.232.34.94 |
solaris-gw.fei.tuke.sk |
| vulcan | A514 | 147.232.34.254 |
vulcan-gw.fei.tuke.sk |
Upozornenie: Prístup cez prehliadač môže trvať dlhšie. Preto neprepadajte panike, ak sa vám hneď nezobrazí stránka aplikačného panelu.
Ako komunikovať so zariadením IoT Gateway z vašich zariadení
Pre komunikáciu so zariadením IoT Gateway môžete použiť:
WiFi - každý IoT Gateway má pre svoju miestnosť vytvorenú vlastnú WiFi sieť, ku ktorej sa môžete pripojiť,
Bluetooth Low Energy - vaše zariadenie môže publikovať údaje pomocou protokolu BLE, alebo
Zigbee - zariadenia sú vybavené externým Zigbee kontrolérom, vďaka ktorému môžete komunikovať so Zigbee zariadeniami v miestnoti.
Informácie o pripojení vašich zariadení nájdete nižšie.
Komunikácia prostredníctvom WiFi
Zariadenie IoT Gateway funguje aj ako WiFi prístupový bod, pomocou ktorého sa dostanete na služby zariadenia (ale nedostanete sa do internetu!). Pre pripojenie k sieti použite nasledujúce údaje:
- názov siete (SSID):
<room>-things - heslo:
welcome.to.the.<room>
kde <room> je názov miestnosti zadaný malými
písmenami. IP adresa IoT Gateway zariadenia je v tejto sieti
10.0.0.1.
Upozornenie
Aktuálne je stále možné sa prostredníctvom lokálnej WiFi siete dostať do internetu. Nespoliehajte sa však na to! Po nastavení správnych pravidiel v lokálnom firewall-e bude tento “problém” odstránený.
Upozornenie
WiFi adaptér na minipočítači Raspberry Pi pracuje v režime Access Point, vďaka čomu umožní pripojiť len istý počet zariadení. Po dosiahnutí tohto limitu (ktorý je pod 10) sa k WiFi sieti už nepripojí žiadne ďalšie zariadenie. Rozhodne sa preto k WiFi sieti, ktorú vytvára zariadenie IoT Gateway nepripájajte pomocou vašich laptopov!!! S vašimi chytrými zariadeniami sa k tejto WiFi sieti pripájajte taktiež len na nevyhnutný čas!!!
Komunikácia prostredníctvom BLE
Minipočítače Raspberry Pi 3 sú vybavené Bluetooth
modulom. V kompozícii je v ňom spustená služba Theengs, ktorá všetku komunikáciu
prostredníctvom tohto komunikačného protokolu preposiela do lokálneho
MQTT broker-a. BLE komunikáciu nájdete v téme
gw/ble/#.
Upozornenie
Služba Theengs je aktuálne vypnutá, pretože jej možnosti aktuálne nepodporujú spôsob pripojenia k lokálnemu MQTT brokeru.
Komunikácia prostredníctvom Zigbee
V každom IoT Gateway zariadení sa nachádza aj
Zigbee koordinátor. Služba Zigbee2MQTT zasa zabezpečí
komunikáciu medzi Zigbee zariadeniami a MQTT
komunikačným protokolom. Túto komunikáciu nájdete v téme
gw/zigbee/#.
Lokálny NTP server
Lokálny NTP server je zabezpečený službou Chrony. Synchronizáciu času vašich
zariadení zabezpečíte pripojením sa na NTP server, ktorý je v lokálnej
sieti dostupný na adrese 10.0.0.1 a komunikuje na
štandardnom porte 123.
Lokálny MQTT broker
Lokálny MQTT broker je zabezpečený vďaka službe Mosquitto. Pripojiť sa k nemu môžete prostredníctvom týchto údajov:
- server: v aplikácii Node-RED môžete použiť názov služby
mosquitto, na vašich IoT zariadeniach môžete použiť IP adresu zariadenia v lokálnej sieti10.0.0.1 - port:
8883 - používateľské meno:
maker - heslo:
this.is.mqtt - SSL/TLS:
true
Čo nemôžete robiť
Je prísne zakázané:
- Akokoľvek manipulovať so zariadením IoT Gateway!, napr. ho svojvoľne reštartovať.
- Pripájať k bráne vaše zariadenia!, napr. kvôli napájaniu na to využiť USB porty.
- Získať neoprávnený prístup do zariadenia!, napr. hackovaním.