1. junija, 2019

Hitro in varno povezovanje aplikacij IoT s platformo Google Cloud

Revija logo digikey 300x150 - Hitro in varno povezovanje aplikacij IoT s platformo Google CloudDigi-Key Electronics
Avtor: Rich Miron
2019_275_24

V številnih načrtovanih projektih, ki vključujejo internet stvari (Internet of Things – IoT), je potrebna povezava z oblakom za namen shranjevanja podatkov in oddaljenega dostopa ter v novejšem času tudi za storitve analitike podatkov. Vendar je včasih težko poiskati najučinkovitejši in najvarnejši način za vzpostavitev take povezave.

Prvi koraki s shranjevanjem v oblaku

V primeru ugnezdene končne IoT točke je na začetku uporabe gostovanja v oblaku potreben strežnik v oblaku z zahtevano varno povezljivostjo in programsko opremo. To zagotavlja platforma Google Cloud. Poleg tega mora imeti ugnezdena končna IoT točka ugnezdeno programsko opremo, ki omogoča upravljanje take končne točke na daljavo. Pri podjetju Microchip Technology so potek razvoja poenostavili tako, da so vso potrebno programsko opremo zagotovili v razvojni plošči za oblak AVR-IoT AC164160.

AVR-IoT razvojna plošča je primerna za končno IoT točko, vendar poleg tega podroben pregled njenega delovanja kaže tudi, kako delujejo končne IoT točke in računalništvo v oblaku.

Delovanje plošče AVR-IoT
Plošča je konfigurirana za povezavo s strežnikom v Google Cloud prek Wi-Fi omrežja. Ko je povezava s strežnikom vzpostavljena, je podatke možno shranjevati in prikazovati v realnem času.
Komponente plošče so bile izbrane za optimizirano in nizko porabo energije, zaradi česar je ta plošča odlična izbira za končno IoT točko z baterijskim napajanjem. Mikrokontroler je 8-bitni Microchip ATMEGA4808-MFRAVR® s taktom 20 MHz, med delovanjem porabi 8,5 mA. V stanju pripravljenosti, ko deluje samo ura za realni čas, porab le 690 nA.

Mikrokontroler krmili ploščo in vmesnike za vse senzorje in LED-diode. Jedro je podprto s Flash pomnilnikom zmogljivosti 48 KB, SRAM zmogljivosti 6 kB in EEPROM zmogljivosti 256 kB. EEPROM se uporablja za shranjevanje podatkov o povezljivosti z Wi-Fi omrežjem. Dvo-cikelni strojni multiplikator prihrani energijo z zmanjšanjem ciklov procesorske enote.

275 24 04 300x156 - Hitro in varno povezovanje aplikacij IoT s platformo Google Cloud

Slika 4: Na spletni strani, poslani iz IoT Google Cloud strežnika, so lahko prikazani podatki senzorjev temperature in svetlobe, zbranih prek AVR-IoT. (Vir slike: Microchip Technology)

ATMEGA4808 ima celoten nabor perifernih naprav, vključno s štirimi 16-bitnimi merilniki časa, tremi USART-i, SPI vmesnikom in analognim primerjalnikom, zaradi česar je primeren za uporabo v senzorjih končnih IoT točk z nizko porabo.

ATMEGA4808 se poveže z Wi-Fi omrežjem prek zaporednih SPI vrat in IoT Wi-Fi modula podjetja Microchip Technology ATWINC1510-MR210UB1961, 2,4 GHz, 802.11 b/g/n (slika 2). Modul je popolnoma samostojen in podpira varnostne protokole WEP, WPA in WPA2. Ima vgrajeno anteno za pomoč razvijalcem, ki morda niso strokovnjaki za postavitev RF-anten. Poleg tega podpira zunanjo anteno za primere, ko je potreben večji doseg. Šifrirane povezave omogoča TLS.

WINC1510 deluje pri napetosti 2,7 do 3,6 V in med delovanjem porabi 290 mA. V načinu mirovanja se naprava izklopi, nastavitve pa se shranijo. V tem načinu modul porablja 380 µA, kar je ugodno za načine uporabe z zelo majhno porabo energije, pri katerih se radio vklaplja in izklaplja, na primer pri nadzoru oddajnikov. WINC1510 se lahko poveže z Wi-Fi omrežjem v 150 ms. Celoten vmesnik do gostiteljskega mikrokontrolerja uporablja osem pinov: 4-žični pomožni vmesnik SPI in štiri GPIO-je za krmilne signale. Modul ima vse certifikate za uporabo v obeh Amerikah, Evropi in Aziji. S tem se močno poenostavi postopek pridobivanja odobritve FCC za končno zasnovo.

AVR-IoT razvojna plošča ima dimenzije 63,5 mm × 25,4 mm, za napajanje in prenos podatkov je povezana z računalnikom prek USB kabla. Podprti so operacijski sistemi Windows, Linux in MacOS. Ob priklopu napajanja štiri LED-diode (modra, zelena, rumena in rdeča) dvakrat posvetijo v vrstnem redu od leve proti desni, kar pomeni, da plošča deluje pravilno.Plošča je v računalniku videti kot ključek s Flash pomnilnikom in vsebuje pet datotek. Za vzpostavitev povezave z internetom mora razvijalec klikniti datoteko CLICK-ME.HTM. Odpre se stran v privzetem brskalniku, prek katere se razvijalec poveže z lokalnim Wi-Fi omrežjem (slika 3).

Ko vnesete ime omrežja, izberete vrsto omrežja in vnesete geslo, zasveti modra LED-dioda, kar pomeni, da je plošča povezana z lokalnim Wi-Fi omrežjem. Kmalu zatem zasveti zelena LED-dioda, kar pomeni, da je plošča povezana z Google Cloud strežnikom. Vsakič, ko plošča pošlje podatke v Google Cloud strežnik, rumena LED-dioda utripa. Podatki, ki se prenašajo med AVR-IoT in Google Cloud strežnikom, so šifrirani.

IoT, šifrirane povezave in šifriranje podatkov
Internetni promet med točkami poteka prek varne povezave, ki je običajno šifrirana s TLS protokolom. Kljub vsemu je možno, da heker najde pomanjkljivost v šifrirani povezavi in ​​zajame podatke tako, da sproži tako imenovan napad s posrednikom. Tak napad na projekt je možno preprečiti s šifriranjem podatkov, običajno z AES ali SHA šifrirnim standardom.

Za namen šifriranja podatkov, ki se prenašajo v Google Cloud, je AVR-IoT opremljen s čipom Microchip Technology ATECC608A-MAHCZ-T Security CryptoAuthenticationTM ki se poveže z AVR mikrokontrolerjem prek I2C vmesnika. ATECC608A je šifrirni pomnilniški čip, ki podpira več šifrirnih standardov, vključno z AES-128 in SHA-256. Namenjen je shranjevanju javnih in zasebnih ključev, ki se uporabljajo za komunikacijo z Google Cloud strežnikom.

Pri proizvajalcu Microchip Technology vsak ATECC608A v vsakem AVR-IoT vnaprej sprogramirajo z lastnim edinstvenim javnim in zasebnim ključem. Zasebni ključ v ATECC608A je v varnem pomnilniku in ga ni mogoče razkriti, tudi če vmesnik I2C kdo nadzoruje ali beleži dnevnik z logičnim analizatorjem. Javni ključ se razkrije v URL-ju, poslanem v Google Cloud, in je tudi v datoteki PUBKEY.TXT, ki jo lahko prebere USB vmesnik gostiteljskega računalnika, povezanega z AVR-IoT. Podrobnosti o delovanju ATECC608A so na voljo pri podjetju Microchip Technology samo na podlagi pogodbe o nerazkritju informacij.

Vendar je ugnezdena programska oprema v ATMEGA4808 mikrokontrolerju v AVR-IoT konfigurirana tako, da učinkovito uporablja ATECC608A v varnem Google Cloud projektu. Zaradi tega so podrobnosti šifrirnih ATECC608A funkcij za razvijalca večinoma pregledne, kar močno poenostavi in pospeši razvoj.

Pri končnih IoT točkah z visokimi varnostnimi zahtevami ščiti ATECC608A tako aplikacije kot sebe. Na fizične nedovoljene posege se odziva zelo robustno in lahko zazna in se zaščiti pred različnimi napadi prek stranskih kanalov, kot je uporaba ekstremnega mraza za ohranjanje vsebine pomnilnika ali nenavadno hitre ali počasne ure I2C. Prav tako lahko zazna poskuse odpiranja naprave z namenom preveriti notranjo zgradbo. Tudi vsebina notranjega pomnilnika naprave je šifrirana. ATECC608A lahko vsebuje zaupne varnostne mehanizme, ki jih poznajo samo inženirji Microchip Technology.

Delo z IoT strežnikom
Ko se AVR-IoT poveže z IoT Google Cloud strežnikom, začne izmenjevati podatke. AVR-IoT vsebuje svetlobni in temperaturni senzor. Podatki iz teh senzorjev se pošiljajo v Google Cloud strežnik in jih je možno prikazovati v realnem času (slika 4). Za ogled podatkov v poljubnem brskalniku mora razvijalec vnesti naslednji URL:

avr-iot.com/device/{publickey}

Pri tem je {publickey} javni ključ, dodeljen AVR-IoT plošči.

Uporabljeni strežnik Google Cloud je predstavitveni račun za namen preizkušanja konceptov, zato se podatki, poslani iz AVR-IoT v Google Cloud, ne shranijo trajno in se izbrišejo, ko je prekinjena povezava s strežnikom.

Za primer potrebe po strežniku v oblaku z več funkcijami AVR-IoT komplet vsebuje navodila za nadgradnjo na zasebni Google Cloud račun. Z zasebnim Google Cloud računom lahko razvijalec trajno shrani podatke v Google Cloud za poznejšo uporabo. Poleg tega lahko razvijalec v zasebnem Google Cloud računu zgradi spletni vmesnik, ki lahko komunicira z AVR-IoT, kar spletnemu vmesniku omogoča, da gosti spletne aplikacije, ki lahko na ploščo pošiljajo ukaze za prilagojeno ugnezdeno programsko opremo. Razvijalec lahko na primer od koderkoli na svetu nadzira poljubni GPIO pin na ATmega4808, ki je lahko povezan z elektronsko opremo.

Zaključek
Čeprav obstaja mnogo knjig in spletnih mest s pojasnili o shranjevanju v oblaku, dostopu do oblaka in njegovi uporabi, se je pogosto najlažje naučiti na primerih. AVR-IoT plošča podjetja Microchip omogoča enostavno povezovanje z oblakom, hkrati pa prikazuje osnove shranjevanja v oblaku, šifriranja in nadzora končnih IoT točk.

www.digikey.com
Tags: