PÄrskats par IoT tÄ«kla un ziÅojumapmaiÅas protokoliem
Sveiki, Khabrovites! KrievijÄ pirmais tieÅ”saistes kurss IoT izstrÄdÄtÄjs oktobrÄ« sÄks darboties OTUS. Å obrÄ«d ir atvÄrta pieteikÅ”anÄs kursiem, saistÄ«bÄ ar kuriem mÄs turpinÄm dalÄ«ties ar jums noderÄ«giem materiÄliem.
Lietu internets (IoT, Internet of Things) tiks veidots uz esoÅ”Äs tÄ«kla infrastruktÅ«ras, tehnoloÄ£ijÄm un protokoliem, ko paÅ”laik izmanto mÄjÄs/birojÄs un internetÄ, un piedÄvÄs daudz vairÄk.
Å Ä«s rokasgrÄmatas mÄrÄ·is ir sniegt Ä«su pÄrskatu par IoT tÄ«klu un lietojumprogrammu protokoliem.
TCP/IP izmanto Äetru slÄÅu modeli ar Ä«paÅ”iem protokoliem katrÄ slÄnÄ«. Cm. izpratne par TCP/IP 4 slÄÅa modeli (mÄs saprotam TCP / IP ÄetrslÄÅu modeli).
TÄlÄk esoÅ”ajÄ diagrammÄ ir parÄdÄ«ts paÅ”laik izmantoto protokolu un to protokolu salÄ«dzinÄjums, kas, visticamÄk, tiks izmantoti IoT.
Diagrammas piezīmes:
Fonta lielums norÄda uz protokola popularitÄti. PiemÄram, kreisajÄ pusÄ IPv4 ir lielÄks, jo tas ir daudz populÄrÄks mÅ«sdienu internetÄ. TomÄr labajÄ pusÄ tas ir mazÄks, jo paredzams, ka IPv6 bÅ«s populÄrÄks IoT.
Ne visi protokoli tiek parÄdÄ«ti.
LielÄkÄ daļa izmaiÅu ir kanÄlÄ (1. un 2. lÄ«menis) un lietojumprogrammu lÄ«menÄ« (4. lÄ«menis).
TÄ«kla un transporta slÄÅi, visticamÄk, paliks nemainÄ«gi.
Saites slÄÅa protokoli
Datu saites lÄ«menÄ« (datu saite) ierÄ«ces ir jÄsavieno viena ar otru. Tie var atrasties gan tuvu, piemÄram, lokÄlajos tÄ«klos (lokÄlajos tÄ«klos), gan lielÄ attÄlumÄ viens no otra: pilsÄtÄs (lielpilsÄtu tÄ«kli) un globÄlajos tÄ«klos (plaÅ”Äs zonas tÄ«kli).
PaÅ”laik Å”ajÄ lÄ«menÄ« mÄjas un biroja tÄ«kli (LAN) izmanto Ethernet un Wi-Fi, bet mobilie tÄ«kli (WAN) izmanto 3G / 4G. TomÄr daudzÄm IoT ierÄ«cÄm, piemÄram, sensoriem, ir mazjaudas, un tÄs darbina tikai baterijas. Å Ädos gadÄ«jumos Ethernet nav piemÄrots, taÄu var izmantot mazjaudas Wi-Fi un mazjaudas Bluetooth.
Lai gan Å”o ierÄ«Äu savienoÅ”anai turpinÄs izmantot esoÅ”Äs bezvadu tehnoloÄ£ijas (Wi-Fi, Bluetooth, 3G/4G), ir vÄrts aplÅ«kot arÄ« jaunas tehnoloÄ£ijas, kas Ä«paÅ”i izstrÄdÄtas IoT lietojumprogrammÄm, kuru popularitÄte, visticamÄk, pieaugs.
TÄ«kla slÄnÄ« (tÄ«kloÅ”ana) ilgtermiÅÄ dominÄs protokols IPv6. Maz ticams, ka IPv4 tiks izmantots, taÄu tam var bÅ«t nozÄ«me agrÄ«nÄ stadijÄ. LielÄkÄ daļa mÄjas IoT ierÄ«Äu, piemÄram, viedÄs spuldzes, paÅ”laik izmanto IPv4.
transporta slÄnis
Transporta slÄnÄ« (Transport) internetÄ un tÄ«meklÄ« dominÄ TCP. To izmanto gan HTTP, gan daudzos citos populÄros interneta protokolos (SMTP, POP3, IMAP4 utt.).
MQTT, kas, manuprÄt, kļūs par vienu no galvenajiem ziÅojumapmaiÅas lietojumprogrammu slÄÅa protokoliem, paÅ”laik izmanto TCP.
TomÄr nÄkotnÄ mazÄku pieskaitÄmo izmaksu dÄļ es sagaidu, ka UDP kļūs populÄrÄks IoT. DroÅ”i vien plaÅ”Äk izplatÄ«ts MQTT-SN, darbojas, izmantojot UDP. SkatÄ«t salÄ«dzinÄÅ”anas rakstu TCP pret UDP .
Lietojumprogrammu slÄnis un ziÅojumapmaiÅas protokoli
Svarīgas IoT protokolu īpaŔības:
Ätrums - pÄrsÅ«tÄ«to datu apjoms sekundÄ.
Latentums ir laiks, kas nepiecieÅ”ams ziÅojuma nosÅ«tÄ«Å”anai.
Jaudas patÄriÅÅ”
DroŔība.
Programmatūras pieejamība.
PaÅ”laik Å”ajÄ lÄ«menÄ« aktÄ«vi tiek izmantoti divi galvenie protokoli: HTTP un MQTT.
HTTP, iespÄjams, ir vispazÄ«stamÄkais Ŕī lÄ«meÅa protokols, kas ir tÄ«mekļa (WWW) pamatÄ. Tas joprojÄm bÅ«s svarÄ«gs IoT, jo tas tiek izmantots REST API ā galvenajam mehÄnismam mijiedarbÄ«bai starp tÄ«mekļa lietojumprogrammÄm un pakalpojumiem. TomÄr lielo pieskaitÄmo izmaksu dÄļ HTTP, visticamÄk, nekļūs par galveno IoT protokolu, lai gan tas joprojÄm tiks plaÅ”i izmantots internetÄ.
MQTT (Message Queuing Telemetry Transport) ir kļuvis par galveno IoT ziÅojumapmaiÅas protokolu, pateicoties tÄ vieglumam un lietoÅ”anas vienkÄrŔībai. SkatÄ«t rakstu Ievads MQTT iesÄcÄjiem (Ievads MQTT iesÄcÄjiem).
HTTP un MQTT salÄ«dzinÄjums IoT
MQTT strauji kļūst par de facto standartu IoT lietojumprogrammÄm. Tas ir saistÄ«ts ar tÄ vieglumu un Ätrumu, salÄ«dzinot ar HTTP, un faktu, ka tas ir viens pret daudziem protokols, nevis viens pret vienu (HTTP).
Daudzas mÅ«sdienu tÄ«mekļa lietojumprogrammas labprÄt izmantotu MQTT, nevis HTTP, ja tas bÅ«tu pieejams to izstrÄdes laikÄ.
Labs piemÄrs ir informÄcijas nosÅ«tÄ«Å”ana vairÄkiem klientiem, piemÄram, par vilcienu/autobusu/lidmaŔīnu iebraukÅ”anu un izbraukÅ”anu. Å ajÄ scenÄrijÄ viens pret vienu protokolam, piemÄram, HTTP, ir daudz pieskaitÄmu izdevumu un tas rada lielu slodzi tÄ«mekļa serveriem. Å o tÄ«mekļa serveru mÄrogoÅ”ana var bÅ«t sarežģīta. Izmantojot MQTT, klienti savienojas ar brokeri, kuru var viegli pievienot slodzes lÄ«dzsvaroÅ”anai. Noskatieties video pamÄcÄ«bu par to PÄrpublicÄt HTML datus, izmantojot MQTT (lidojuma ielidoÅ”anas piemÄrs) un rakstu MQTT vs HTTP IOT.
Citi ziÅojumapmaiÅas protokoli
HTTP nebija paredzÄts IoT lietojumprogrammÄm, taÄu, kÄ minÄts, tas kÄdu laiku tiks plaÅ”i izmantots, jo tas tiks plaÅ”i izmantots API.
Gandrīz visas IoT platformas atbalsta gan HTTP, gan MQTT.
TomÄr ir arÄ« citi protokoli, kurus ir vÄrts apsvÄrt.
Protokoli
MQTT - (ZiÅojumu rindas telemetrijas transportÄÅ”ana). Izmanto TCP/IP. PublicÄÅ”anas-abonÄÅ”anas modelim ir nepiecieÅ”ams ziÅojumu starpnieks.
AMQP - (Advanced Message Queuing Protocol). Izmanto TCP/IP. IzdevÄja-abonenta un punkta-punkta modeļi.
COAP - (IerobežotÄs lietojumprogrammas protokols). Izmanto UDP. ParedzÄts Ä«paÅ”i IoT, izmanto pieprasÄ«juma-atbildes modeli tÄpat kÄ HTTP. RFC 7252.
Å ajÄ raksts apskatÄ«ti galvenie protokoli un to pielietojumi. Å Ä« raksta secinÄjums ir tÄds, ka IoT izmantos protokolu kopu atkarÄ«bÄ no to paredzÄtÄ lietojuma.
TomÄr retrospektÄ«vi, interneta pirmajos gados HTTP protokols, kas kļuva dominÄjoÅ”s, bija tikai viens no daudziem protokoliem.
Lai gan sÄkotnÄji HTTP nebija paredzÄts failu un e-pasta pÄrsÅ«tÄ«Å”anai, Å”odien tas tiek izmantots abiem.
Es ceru, ka tas pats notiks ar IoT ziÅojumapmaiÅas protokoliem: lielÄkÄ daļa pakalpojumu izmantos vienu dominÄjoÅ”o protokolu.
ZemÄk ir Google Trends diagrammas, kas parÄda, kÄ pÄdÄjos gados ir mainÄ«jusies MQTT, COAP un AMQP popularitÄte.