{"id":38375,"date":"2019-10-31T22:23:21","date_gmt":"2019-10-31T19:23:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/iot-tuman-i-oblaka-pogovorim-pro-tehnologii\/"},"modified":"2019-10-31T22:23:21","modified_gmt":"2019-10-31T19:23:21","slug":"iot-tuman-i-oblaka-pogovorim-pro-tehnologii","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/iot-tuman-i-oblaka-pogovorim-pro-tehnologii","title":{"rendered":"IoT, mlha a cloud: pov\u011bzme si n\u011bco o technologi\u00edch?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"IoT, mlha a cloud: pov\u011bzme si n\u011bco o technologi\u00edch?\" src=\"\/wp-content\/uploads\/2019\/09\/89eae3426589d2ed8041fd6dd26498cb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Rozvoj technologi\u00ed v oblasti softwaru a hardwaru, vznik nov\u00fdch komunika\u010dn\u00edch protokol\u016f vedl k roz\u0161\u00ed\u0159en\u00ed internetu v\u011bc\u00ed (IoT). Po\u010det za\u0159\u00edzen\u00ed roste ka\u017ed\u00fdm dnem a generuj\u00ed obrovsk\u00e9 mno\u017estv\u00ed dat. Proto vznik\u00e1 pot\u0159eba pohodln\u00e9 architektury syst\u00e9mu, schopn\u00e9ho tyto data zpracov\u00e1vat, ukl\u00e1dat a p\u0159en\u00e1\u0161et.<\/p>\n<p>V sou\u010dasnosti se k t\u011bmto \u00fa\u010del\u016fm pou\u017e\u00edvaj\u00ed cloudov\u00e9 slu\u017eby. Nicm\u00e9n\u011b st\u00e1le popul\u00e1rn\u011bj\u0161\u00ed paradigma ml\u017en\u00e9ho v\u00fdpo\u010dtu (Fog) m\u016f\u017ee doplnit cloudov\u00e1 \u0159e\u0161en\u00ed, \u0161k\u00e1lovat a optimalizovat infrastrukturu IoT. <\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Cloudy dok\u00e1\u017eou splnit v\u011bt\u0161inu po\u017eadavk\u016f IoT. Nap\u0159\u00edklad zajistit monitoring slu\u017eeb, rychl\u00e9 zpracov\u00e1n\u00ed jak\u00e9hokoliv objemu dat generovan\u00fdch za\u0159\u00edzen\u00edmi, stejn\u011b jako jejich vizualizaci. Mlhav\u00e9 v\u00fdpo\u010dty jsou efektivn\u011bj\u0161\u00ed p\u0159i \u0159e\u0161en\u00ed \u00faloh v re\u00e1ln\u00e9m \u010dase. Zaji\u0161\u0165uj\u00ed rychlou odezvu na po\u017eadavky a minim\u00e1ln\u00ed zpo\u017ed\u011bn\u00ed p\u0159i zpracov\u00e1n\u00ed dat. To znamen\u00e1, \u017ee Fog skute\u010dn\u011b dopl\u0148uje cloudy a roz\u0161i\u0159uje jejich mo\u017enosti.<\/p>\n<p>Nicm\u00e9n\u011b hlavn\u00ed ot\u00e1zka le\u017e\u00ed jinde: jak by to v\u0161e m\u011blo interagovat v kontextu IoT? Kter\u00e9 komunika\u010dn\u00ed protokoly budou nejefektivn\u011bj\u0161\u00ed p\u0159i pr\u00e1ci v integrovan\u00e9m syst\u00e9mu IoT-Fog-Cloud?<\/p>\n<p>I p\u0159es zd\u00e1nliv\u00e9 dominov\u00e1n\u00ed HTTP se v syst\u00e9mech IoT, Fog a Cloud pou\u017e\u00edv\u00e1 velk\u00e9 mno\u017estv\u00ed jin\u00fdch \u0159e\u0161en\u00ed. To je d\u00e1no t\u00edm, \u017ee IoT mus\u00ed kombinovat funk\u010dn\u00ed mo\u017enosti r\u016fzn\u00fdch senzor\u016f za\u0159\u00edzen\u00ed s bezpe\u010dnost\u00ed, kompatibilitou a dal\u0161\u00edmi po\u017eadavky u\u017eivatel\u016f.<\/p>\n<p>Ale jednotn\u00e9 p\u0159edstavy o referen\u010dn\u00ed architektu\u0159e a standardu komunikace prost\u011b neexistuje. Proto je vytvo\u0159en\u00ed nov\u00e9ho protokolu nebo \u00faprava st\u00e1vaj\u00edc\u00edho pro konkr\u00e9tn\u00ed \u00fakoly IoT jednou z nejd\u016fle\u017eit\u011bj\u0161\u00edch \u00faloh, kter\u00e9 stoj\u00ed p\u0159ed IT komunitou.<\/p>\n<p>Jak\u00e9 protokoly se nyn\u00ed pou\u017e\u00edvaj\u00ed a co mohou nab\u00eddnout? Poj\u010fme to prozkoumat. Ale nejprve prodiskutujme principy ekosyst\u00e9mu, ve kter\u00e9m interaguj\u00ed cloudy, mlha a internet v\u011bc\u00ed.<\/p>\n<h3>Architektura IoT Fog-to-Cloud (F2C)<\/h3>\n<p>\nUr\u010dit\u011b jste si v\u0161imli, jak v\u00fdznamn\u00e9 \u00fasil\u00ed je vynalo\u017eeno na studium v\u00fdhod a zisk\u016f spojen\u00fdch s efektivn\u00edm a koordinovan\u00fdm \u0159\u00edzen\u00edm IoT, cloud\u016f a mlhy. Pokud ne, pak zde m\u00e1te t\u0159i iniciativy pro standardizaci: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openfogconsortium.org\/\">OpenFog Consortium<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/en.ecconsortium.org\/Uploads\/file\/20180328\/1522232376480704.pdf\">Edge Computing Consortium<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.mf2c-project.eu\/\">mF2C H2020 EU project<\/a><\/noindex>. <\/p>\n<p>Pokud d\u0159\u00edve byly zva\u017eov\u00e1ny pouze 2 \u00farovn\u011b, cloud a koncov\u00e1 za\u0159\u00edzen\u00ed, navrhovan\u00e1 architektura zav\u00e1d\u00ed novou \u00farove\u0148 - ml\u017en\u00e9 v\u00fdpo\u010dty. \u00darove\u0148 mlhy m\u016f\u017ee b\u00fdt rozd\u011blena do n\u011bkolika pod\u00farovn\u00ed, v z\u00e1vislosti na specifikaci zdroj\u016f nebo souboru politik, kter\u00e9 ur\u010duj\u00ed pou\u017eit\u00ed r\u016fzn\u00fdch za\u0159\u00edzen\u00ed na t\u011bchto pod\u00farovn\u00edch.<\/p>\n<p>Jak by mohla tato abstrakce vypadat? Zde je typick\u00e1 ekosyst\u00e9m IoT-Mist-Cloud. Za\u0159\u00edzen\u00ed IoT pos\u00edlaj\u00ed data na v\u00fdkonn\u011bj\u0161\u00ed servery a v\u00fdpo\u010detn\u00ed za\u0159\u00edzen\u00ed, aby \u0159e\u0161ily \u00fakoly, kter\u00e9 vy\u017eaduj\u00ed n\u00edzkou latenci. V tomto syst\u00e9mu cloudu odpov\u00eddaj\u00ed za \u0159e\u0161en\u00ed \u00faloh, kter\u00e9 vy\u017eaduj\u00ed velk\u00e9 mno\u017estv\u00ed v\u00fdpo\u010detn\u00edch zdroj\u016f nebo \u00falo\u017en\u00e9ho prostoru.<\/p>\n<p><img decoding=\"async\" alt=\"IoT, mlha a cloud: pov\u011bzme si n\u011bco o technologi\u00edch?\" src=\"\/wp-content\/uploads\/2019\/09\/c78ea915ac4743a3def5651778e77873.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSmartphony, chytr\u00e9 hodinky a dal\u0161\u00ed gadgety mohou b\u00fdt tak\u00e9 sou\u010d\u00e1st\u00ed IoT. Tato za\u0159\u00edzen\u00ed v\u0161ak obvykle pou\u017e\u00edvaj\u00ed propriet\u00e1rn\u00ed komunika\u010dn\u00ed protokoly od velk\u00fdch v\u00fdrobc\u016f. Generovan\u00e1 data internetu v\u011bc\u00ed jsou p\u0159en\u00e1\u0161ena na \u00farove\u0148 mlhy prost\u0159ednictv\u00edm protokolu REST HTTP, kter\u00fd zaji\u0161\u0165uje flexibilitu a funk\u010dn\u00ed kompatibilitu p\u0159i vytv\u00e1\u0159en\u00ed RESTful slu\u017eeb. To je d\u016fle\u017eit\u00e9 vzhledem k nutnosti zaji\u0161t\u011bn\u00ed zp\u011btn\u00e9 kompatibility se st\u00e1vaj\u00edc\u00ed v\u00fdpo\u010detn\u00ed infrastrukturou funguj\u00edc\u00ed na lok\u00e1ln\u00edch po\u010d\u00edta\u010d\u00edch, serverech nebo clusteru server\u016f. Lok\u00e1ln\u00ed zdroje, kter\u00e9 se naz\u00fdvaj\u00ed 'uzly mlhy', filtruj\u00ed p\u0159ijat\u00e1 data a zpracov\u00e1vaj\u00ed je lok\u00e1ln\u011b nebo je zas\u00edlaj\u00ed do cloudu pro dal\u0161\u00ed v\u00fdpo\u010dty.<\/p>\n<p>Cloudy podporuj\u00ed r\u016fzn\u00e9 komunika\u010dn\u00ed protokoly, mezi kter\u00fdmi se nej\u010dast\u011bji objevuj\u00ed AMQP a REST HTTP. Vzhledem k tomu, \u017ee HTTP je ve\u0159ejn\u011b zn\u00e1m\u00fd a je ur\u010den pro internet, m\u016f\u017ee vzniknout ot\u00e1zka: 'nezapnout ho pro pr\u00e1ci s IoT a mlhou?'. Tento protokol v\u0161ak m\u00e1 v\u00fdkonov\u00e9 probl\u00e9my. O tom pozd\u011bji.<\/p>\n<p>Celkov\u011b existuj\u00ed 2 modely komunika\u010dn\u00edch protokol\u016f, kter\u00e9 vyhovuj\u00ed na\u0161emu syst\u00e9mu. Jsou to model po\u017eadavek-odpov\u011b\u010f a publikace-p\u0159edplatn\u00e9. Prvn\u00ed model je zn\u00e1m\u011bj\u0161\u00ed, zejm\u00e9na v architektu\u0159e server-klient. Klient po\u017eaduje informace ze serveru, server p\u0159ij\u00edm\u00e1 po\u017eadavek, zpracov\u00e1v\u00e1 ho a vrac\u00ed odpov\u011bdn\u00ed zpr\u00e1vu. Podle tohoto modelu pracuj\u00ed protokoly REST HTTP a CoAP.<\/p>\n<p>Druh\u00fd model vznikl z pot\u0159eby zajistit asynchronn\u00ed, distribuovan\u00e9, slab\u00e9 spojen\u00ed mezi zdroji generuj\u00edc\u00edmi data a p\u0159\u00edjemci t\u011bchto dat.<\/p>\n<p><img decoding=\"async\" alt=\"IoT, mlha a cloud: pov\u011bzme si n\u011bco o technologi\u00edch?\" src=\"\/wp-content\/uploads\/2019\/09\/acf3b411fb9a0b7a61cf0188e4c29292.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nModel zahrnuje t\u0159i \u00fa\u010dastn\u00edky: vydavatele (zdroj dat), brokera (dispe\u010dera) a odb\u011bratele (p\u0159\u00edjemce). Zde klient, kter\u00fd vystupuje jako odb\u011bratel, nemus\u00ed vy\u017eadovat informace ze serveru. M\u00edsto zas\u00edl\u00e1n\u00ed po\u017eadavk\u016f se p\u0159ihla\u0161uje k ur\u010dit\u00e9m ud\u00e1lostem v syst\u00e9mu prost\u0159ednictv\u00edm brokera, kter\u00fd filtruje v\u0161echny p\u0159\u00edchoz\u00ed zpr\u00e1vy a sm\u011bruje je mezi vydavateli a odb\u011brateli. Kdy\u017e dojde k ud\u00e1losti, kter\u00e1 se t\u00fdk\u00e1 ur\u010dit\u00e9ho t\u00e9matu, vydavatel ji zve\u0159ej\u0148uje brokerovi, kter\u00fd pos\u00edl\u00e1 odb\u011brateli data o po\u017eadovan\u00e9m t\u00e9matu.<\/p>\n<p>V podstat\u011b je tato architektura zalo\u017eena na ud\u00e1lostech. A takov\u00fd model interakce je zaj\u00edmav\u00fd pro aplikace v IoT, cloudu, r\u00e1mci kv\u016fli sv\u00e9 schopnosti zajistit \u0161k\u00e1lovatelnost a usnadnit vz\u00e1jemn\u00e9 propojen\u00ed mezi r\u016fzn\u00fdmi za\u0159\u00edzen\u00edmi, podporovat dynamick\u00e9 spojen\u00ed \u201emnoho-k-mnoh\u00fdm\u201c a asynchronn\u00ed spojen\u00ed. Mezi nejzn\u00e1m\u011bj\u0161\u00ed standardizovan\u00e9 protokoly pro v\u00fdm\u011bnu zpr\u00e1v, kter\u00e9 vyu\u017e\u00edvaj\u00ed model \u201epublikov\u00e1n\u00ed - odb\u011br\u201c, pat\u0159\u00ed MQTT, AMQP a DDS.<\/p>\n<p>Je z\u0159ejm\u00e9, \u017ee model \u201epublikov\u00e1n\u00ed - odb\u011br\u201c m\u00e1 \u0159adu v\u00fdhod:<\/p>\n<ul>\n<li>Vydavatele a odb\u011bratele nemus\u00ed zn\u00e1t existenci jeden druh\u00e9ho;<\/li>\n<li>Jeden odb\u011bratel m\u016f\u017ee z\u00edsk\u00e1vat informace od mnoha r\u016fzn\u00fdch vydavatel\u016f, a jeden vydavatel m\u016f\u017ee zas\u00edlat data mnoha r\u016fzn\u00fdm odb\u011bratel\u016fm (princip \u201emnoho-k-mnoh\u00fdm\u201c);<\/li>\n<li>Vydavatel a odb\u011bratel nemus\u00ed b\u00fdt aktivn\u00ed sou\u010dasn\u011b pro v\u00fdm\u011bnu dat, proto\u017ee broker (funguj\u00edc\u00ed jako syst\u00e9m front) m\u016f\u017ee uchovat zpr\u00e1vu pro klienty, kte\u0159\u00ed nejsou moment\u00e1ln\u011b p\u0159ipojeni k s\u00edti.<\/li>\n<\/ul>\n<p>\nNicm\u00e9n\u011b model \u201epo\u017eadavek-odpov\u011b\u010f\u201c m\u00e1 tak\u00e9 sv\u00e9 siln\u00e9 str\u00e1nky. V p\u0159\u00edpadech, kdy mo\u017enosti serverov\u00e9 strany pro zpracov\u00e1n\u00ed po\u017eadavk\u016f v\u00edce klient\u016f nejsou probl\u00e9mem, m\u00e1 smysl pou\u017e\u00edvat ji\u017e osv\u011bd\u010den\u00e1 spolehliv\u00e1 \u0159e\u0161en\u00ed.<\/p>\n<p>Existuj\u00ed tak\u00e9 protokoly, kter\u00e9 podporuj\u00ed ob\u011b modely. Nap\u0159\u00edklad XMPP a HTTP 2.0, kter\u00e9 podporuj\u00ed mo\u017enost \u201eserver push\u201c. IETF tak\u00e9 vydalo CoAP. V pokusu vy\u0159e\u0161it probl\u00e9m p\u0159enosu zpr\u00e1v bylo vytvo\u0159eno n\u011bkolik dal\u0161\u00edch \u0159e\u0161en\u00ed, jako je protokol WebSockets nebo pou\u017eit\u00ed protokolu HTTP p\u0159es QUIC (Quick UDP Internet Connections).<\/p>\n<p>Pokud jde o WebSockets, i kdy\u017e je pou\u017e\u00edv\u00e1n pro p\u0159enos dat v re\u00e1ln\u00e9m \u010dase ze serveru na webov\u00e9ho klienta a zaji\u0161\u0165uje trval\u00e9 spojen\u00ed s oboustrannou komunikac\u00ed, nen\u00ed ur\u010den pro za\u0159\u00edzen\u00ed s omezen\u00fdmi v\u00fdpo\u010detn\u00edmi zdroji. QUIC tak\u00e9 stoj\u00ed za pozornost, proto\u017ee nov\u00fd transportn\u00ed protokol p\u0159in\u00e1\u0161\u00ed \u0159adu nov\u00fdch mo\u017enost\u00ed. Ale proto\u017ee QUIC je\u0161t\u011b nebyl standardizov\u00e1n, je p\u0159ed\u010dasn\u00e9 p\u0159edpov\u00eddat jeho mo\u017en\u00e9 vyu\u017eit\u00ed a vliv na \u0159e\u0161en\u00ed v oblasti IoT. Tak\u017ee WebSockets a QUIC si uchov\u00e1v\u00e1me v pam\u011bti s v\u00fdhledem do budoucnosti, ale podrobn\u011bji je zat\u00edm zkoumat nebudeme.<\/p>\n<h3>Kdo je na sv\u011bt\u011b nejmilej\u0161\u00ed: porovn\u00e1v\u00e1me protokoly<\/h3>\n<p>\nNyn\u00ed budeme mluvit o siln\u00fdch a slab\u00fdch str\u00e1nk\u00e1ch protokol\u016f. Abychom to shrnuli, ihned je t\u0159eba \u0159\u00edci, \u017ee neexistuje jednozna\u010dn\u00fd l\u00eddr. Ka\u017ed\u00fd protokol m\u00e1 n\u011bjak\u00e9 v\u00fdhody a nev\u00fdhody.<\/p>\n<p><b>Doba odezvy<\/b><\/p>\n<p>Jednou z nejd\u016fle\u017eit\u011bj\u0161\u00edch charakteristik komunika\u010dn\u00edch protokol\u016f, zejm\u00e9na ve vztahu k internetu v\u011bc\u00ed, je doba odezvy. Ov\u0161em mezi existuj\u00edc\u00edmi protokoly neexistuje bezpodm\u00edne\u010dn\u00fd v\u00edt\u011bz, kter\u00fd by prokazoval minim\u00e1ln\u00ed \u00farove\u0148 latence v r\u016fzn\u00fdch podm\u00ednk\u00e1ch. Existuje v\u0161ak cel\u00e1 \u0159ada v\u00fdzkum\u016f a porovn\u00e1n\u00ed schopnost\u00ed protokol\u016f.<\/p>\n<p>Nap\u0159\u00edklad, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.researchgate.net\/publication\/323943358_Performance_Analysis_of_Internet_of_Things_Protocols_Based_FogCloud_over_High_Traffic\">v\u00fdsledky <\/a><\/noindex>srovn\u00e1n\u00ed efektivity HTTP a MQTT p\u0159i pr\u00e1ci s IoT uk\u00e1zala, \u017ee doba odezvy pro po\u017eadavky u MQTT je krat\u0161\u00ed ne\u017e u HTTP. A p\u0159i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.researchgate.net\/publication\/303188719_Comparison_of_two_lightweight_protocols_for_smartphone-based_sensing\">zkoum\u00e1n\u00ed <\/a><\/noindex>doby p\u0159\u00edjmu a vys\u00edl\u00e1n\u00ed (RTT) MQTT a CoAP se uk\u00e1zalo, \u017ee pr\u016fm\u011brn\u00fd RTT CoAP je o 20 % krat\u0161\u00ed ne\u017e u MQTT.<\/p>\n<p>Jin\u00fd <noindex><a rel=\"nofollow\" href=\"https:\/\/ieeexplore.ieee.org\/document\/7740559\">experiment <\/a><\/noindex>S RTT protokol\u016f MQTT a CoAP byl proveden ve dvou sc\u00e9n\u00e1\u0159\u00edch: v m\u00edstn\u00ed s\u00edti a v s\u00edti IoT. Uk\u00e1zalo se, \u017ee pr\u016fm\u011brn\u00fd RTT je ve s\u00edti IoT 2-3kr\u00e1t vy\u0161\u0161\u00ed. MQTT s QoS0 vyk\u00e1zal ni\u017e\u0161\u00ed v\u00fdsledek ve srovn\u00e1n\u00ed s CoAP, zat\u00edmco MQTT s QoS1 demonstroval vy\u0161\u0161\u00ed RTT d\u00edky ACK na aplika\u010dn\u00ed a transportn\u00ed \u00farovni. Pro r\u016fzn\u00e9 \u00farovn\u011b QoS byly latence v s\u00edti bez p\u0159et\u00ed\u017een\u00ed pro MQTT v milisekund\u00e1ch, zat\u00edmco pro CoAP byly v \u0159\u00e1du stovek mikrosekund. Je v\u0161ak t\u0159eba m\u00edt na pam\u011bti, \u017ee ve \u0161patn\u011b spolehliv\u00fdch s\u00edt\u00edch uk\u00e1\u017ee MQTT, funguj\u00edc\u00ed nad TCP, zcela odli\u0161n\u00fd v\u00fdsledek.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.diva-portal.org\/smash\/get\/diva2:1092136\/FULLTEXT01.pdf\">Porovn\u00e1n\u00ed <\/a><\/noindex>Doba odezvy protokol\u016f AMQP a MQTT p\u0159i zvy\u0161ov\u00e1n\u00ed u\u017eite\u010dn\u00e9 z\u00e1t\u011b\u017ee uk\u00e1zala, \u017ee p\u0159i mal\u00e9 z\u00e1t\u011b\u017ei je \u00farove\u0148 latence t\u00e9m\u011b\u0159 stejn\u00e1. Ale p\u0159i p\u0159enosu velk\u00e9ho objemu dat vykazuje MQTT men\u0161\u00ed dobu odezvy. Je\u0161t\u011b v jednom <noindex><a rel=\"nofollow\" href=\"http:\/\/www.tfzr.rs\/esociety\/issues\/eSocietyVol3No1.pdf#page=26\">v\u00fdzkumu <\/a><\/noindex>CoAP byl porovn\u00e1n s HTTP ve sc\u00e9n\u00e1\u0159i strojov\u00e9 komunikace s za\u0159\u00edzen\u00edmi, kter\u00e1 byla nasazena na vozidlech a vybavena plynov\u00fdmi senzory, meteorologick\u00fdmi senzory, lokalizac\u00ed (GPS) a rozhran\u00edm mobiln\u00ed s\u00edt\u011b (GPRS). \u010cas pot\u0159ebn\u00fd k p\u0159enosu zpr\u00e1vy CoAP p\u0159es mobiln\u00ed s\u00ed\u0165 byl t\u00e9m\u011b\u0159 t\u0159ikr\u00e1t krat\u0161\u00ed ne\u017e \u010das pot\u0159ebn\u00fd pro pou\u017eit\u00ed zpr\u00e1v HTTP.<\/p>\n<p>Byly provedeny studie, kter\u00e9 porovn\u00e1valy nejen dva, ale t\u0159i protokoly. Nap\u0159\u00edklad <noindex><a rel=\"nofollow\" href=\"https:\/\/ieeexplore.ieee.org\/document\/7496622\">porovn\u00e1n\u00ed <\/a><\/noindex>v\u00fdkonnosti IoT protokol\u016f MQTT, DDS a CoAP ve sc\u00e9n\u00e1\u0159i l\u00e9ka\u0159sk\u00e9 aplikace s vyu\u017eit\u00edm s\u00ed\u0165ov\u00e9ho emul\u00e1toru. DDS p\u0159ekonal MQTT z hlediska zji\u0161t\u011bn\u00e9 latence telemetrie za r\u016fzn\u00fdch \u0161patn\u00fdch podm\u00ednek s\u00edt\u011b. CoAP zalo\u017een\u00fd na UDP pracov\u00e1l dob\u0159e pro aplikace vy\u017eaduj\u00edc\u00ed rychlou odezvu, av\u0161ak kv\u016fli tomu, \u017ee je zalo\u017een na UDP, do\u0161lo k v\u00fdrazn\u00e9 nep\u0159edv\u00eddateln\u00e9 ztr\u00e1t\u011b paket\u016f.<\/p>\n<p><b>\u0160\u00ed\u0159ka p\u00e1sma<\/b><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.researchgate.net\/publication\/267636202_Performance_evaluation_of_MQTT_and_CoAP_via_a_common_middleware\">Porovn\u00e1n\u00ed <\/a><\/noindex>MQTT a CoAP z hlediska efektivity vyu\u017eit\u00ed propustnosti bylo provedeno jako v\u00fdpo\u010det celkov\u00e9ho mno\u017estv\u00ed dat p\u0159en\u00e1\u0161en\u00fdch v jedn\u00e9 zpr\u00e1v\u011b. CoAP vyk\u00e1zal ni\u017e\u0161\u00ed propustnost ne\u017e MQTT p\u0159i p\u0159enosu mal\u00fdch zpr\u00e1v. Ale p\u0159i porovn\u00e1n\u00ed efektivity protokol\u016f z hlediska pom\u011bru po\u010dtu u\u017eite\u010dn\u00fdch informa\u010dn\u00edch byt\u016f k celkov\u00e9mu mno\u017estv\u00ed p\u0159enesen\u00fdch byt\u016f se CoAP uk\u00e1zal jako efektivn\u011bj\u0161\u00ed.<\/p>\n<p>P\u0159i <noindex><a rel=\"nofollow\" href=\"https:\/\/ieeexplore.ieee.org\/document\/7496622\">anal\u00fdze <\/a><\/noindex>P\u0159i pou\u017e\u00edv\u00e1n\u00ed propustnosti kan\u00e1lu MQTT, DDS (s TCP jako transportn\u00edm protokolem) a CoAP se uk\u00e1zalo, \u017ee CoAP obvykle vykazuje relativn\u011b ni\u017e\u0161\u00ed spot\u0159ebu \u0161\u00ed\u0159ky p\u00e1sma, kter\u00e1 se nezvy\u0161ovala se zvy\u0161uj\u00edc\u00edmi se ztr\u00e1tami s\u00ed\u0165ov\u00fdch paket\u016f nebo zv\u00fd\u0161enou latenc\u00ed s\u00edt\u011b, na rozd\u00edl od MQTT a DDS, kde v uveden\u00fdch sc\u00e9n\u00e1\u0159\u00edch doch\u00e1zelo k r\u016fstu vyu\u017eit\u00ed propustnosti kan\u00e1lu. V jin\u00e9m sc\u00e9n\u00e1\u0159i bylo zapojeno velk\u00e9 mno\u017estv\u00ed za\u0159\u00edzen\u00ed, kter\u00e1 p\u0159ed\u00e1vala data sou\u010dasn\u011b, co\u017e je typick\u00fd p\u0159\u00edpad v prost\u0159ed\u00edch IoT. V\u00fdsledky uk\u00e1zaly, \u017ee pro vy\u0161\u0161\u00ed z\u00e1t\u011b\u017e je lep\u0161\u00ed pou\u017e\u00edvat CoAP.<\/p>\n<p>P\u0159i n\u00edzk\u00e9 z\u00e1t\u011b\u017ei pou\u017e\u00edval CoAP nejmen\u0161\u00ed propustnost, n\u00e1sledovan\u00fd MQTT a REST HTTP. Nicm\u00e9n\u011b, kdy\u017e se velikost payload\u016f zv\u00fd\u0161ila, nejlep\u0161\u00ed v\u00fdsledky byly u REST HTTP.<\/p>\n<p><b>Spot\u0159eba energie<\/b><\/p>\n<p>Ot\u00e1zka spot\u0159eby energie je v\u017edy d\u016fle\u017eit\u00e1, a v syst\u00e9mu IoT obzvl\u00e1\u0161\u0165. Pokud <noindex><a rel=\"nofollow\" href=\"https:\/\/ieeexplore.ieee.org\/document\/7899537\">srovn\u00e1me <\/a><\/noindex>spot\u0159ebu elektrick\u00e9 energie u MQTT a HTTP, pak HTTP \u201espot\u0159ebov\u00e1v\u00e1\u201c mnohem v\u00edce. A CoAP je v\u00edce <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mdpi.com\/1424-8220\/16\/12\/2044\/htm\">energeticky efektivn\u00ed <\/a><\/noindex>ve srovn\u00e1n\u00ed s MQTT, co\u017e umo\u017e\u0148uje \u0159\u00edzen\u00ed nap\u00e1jen\u00ed. V jednoduch\u00fdch sc\u00e9n\u00e1\u0159\u00edch je v\u0161ak MQTT vhodn\u011bj\u0161\u00ed pro v\u00fdm\u011bnu informac\u00ed v s\u00edt\u00edch internetu v\u011bc\u00ed, zejm\u00e9na pokud neexistuj\u00ed \u017e\u00e1dn\u00e1 omezen\u00ed v\u00fdkonu.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/cgweb1.northumbria.ac.uk\/SubjectAreaResources\/KF7046\/papers\/review\/iot\/lpb15.pdf\">Jin\u00fd <\/a><\/noindex>experiment, p\u0159i kter\u00e9m byly porovn\u00e1ny mo\u017enosti AMQP a MQTT na zku\u0161ebn\u00edm za\u0159\u00edzen\u00ed v mobiln\u00ed \u010di nestabiln\u00ed bezdr\u00e1tov\u00e9 s\u00edti, uk\u00e1zal, \u017ee AMQP nab\u00edz\u00ed v\u00edce mo\u017enost\u00ed z hlediska bezpe\u010dnosti, zat\u00edmco MQTT je energeticky efektivn\u011bj\u0161\u00ed.<\/p>\n<p><b>Bezpe\u010dnost<\/b><\/p>\n<p>Bezpe\u010dnost je dal\u0161\u00ed kl\u00ed\u010dov\u00e1 ot\u00e1zka, kter\u00e1 se objevuje p\u0159i zkoum\u00e1n\u00ed t\u00e9matu internetu v\u011bc\u00ed a okrajov\u00e9ho\/obla\u010dn\u00e9ho v\u00fdpo\u010dtu. Bezpe\u010dnostn\u00ed mechanismus se obvykle zakl\u00e1d\u00e1 na TLS v HTTP, MQTT, AMQP a XMPP, nebo DTLS v CoAP, a tak\u00e9 podporuj\u00edc\u00edm ob\u011b varianty DDS.<\/p>\n<p>TLS a DTLS za\u010d\u00ednaj\u00ed procesem navazov\u00e1n\u00ed spojen\u00ed mezi klientskou a serverovou stranou pro v\u00fdm\u011bnu podporovan\u00fdch sad \u0161ifer a kl\u00ed\u010d\u016f. Ob\u011b strany se dohodnou na sad\u00e1ch, aby zajistily, \u017ee dal\u0161\u00ed komunikace prob\u00edh\u00e1 v bezpe\u010dn\u00e9m kan\u00e1lu. Rozd\u00edl mezi nimi spo\u010d\u00edv\u00e1 v drobn\u00fdch modifikac\u00edch, kter\u00e9 umo\u017e\u0148uj\u00ed DTLS zalo\u017een\u00e9mu na UDP pracovat v nespolehliv\u00e9m p\u0159ipojen\u00ed.<\/p>\n<p>P\u0159i <noindex><a rel=\"nofollow\" href=\"http:\/\/www.isg.rhul.ac.uk\/tls\/lucky13.html\">testovac\u00edch \u00fatoc\u00edch<\/a><\/noindex> P\u0159i testov\u00e1n\u00ed r\u016fzn\u00fdch implementac\u00ed TLS a DTLS se uk\u00e1zalo, \u017ee TLS se s \u00fakolem vypo\u0159\u00e1dalo l\u00e9pe. \u00datoky na DTLS byly \u00fasp\u011b\u0161n\u011bj\u0161\u00ed kv\u016fli jeho toleranci k chyb\u00e1m.<\/p>\n<p>Nejv\u011bt\u0161\u00edm probl\u00e9mem t\u011bchto protokol\u016f v\u0161ak je, \u017ee p\u016fvodn\u011b nebyly navr\u017eeny pro pou\u017eit\u00ed v IoT a nep\u0159edpokl\u00e1daly pr\u00e1ci v mlze nebo cloudu. P\u0159i dohod\u011b (handshaking) p\u0159id\u00e1vaj\u00ed dal\u0161\u00ed provoz s ka\u017ed\u00fdm nav\u00e1z\u00e1n\u00edm spojen\u00ed, co\u017e vy\u010derp\u00e1v\u00e1 v\u00fdpo\u010detn\u00ed zdroje. Pr\u016fm\u011brn\u011b do\u0161lo k n\u00e1r\u016fstu o 6,5 % pro TLS a 11 % pro DTLS v re\u017eijn\u00ed z\u00e1t\u011b\u017ei ve srovn\u00e1n\u00ed se spojen\u00edm bez bezpe\u010dnostn\u00ed vrstvy. V bohat\u00fdch zdrojov\u00fdch prost\u0159ed\u00edch, kter\u00e1 se obvykle nach\u00e1zej\u00ed v <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cloud4y.ru\/cloud-hosting\/cloud-server\/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=article\">cloudu <\/a><\/noindex>, to nebude probl\u00e9m, ale v p\u0159\u00edpad\u011b spojen\u00ed mezi IoT a \u00farovn\u00ed mlhy se to st\u00e1v\u00e1 d\u016fle\u017eit\u00fdm omezen\u00edm.<\/p>\n<p>Co si tedy vybrat? Na tuto ot\u00e1zku neexistuje jednozna\u010dn\u00e1 odpov\u011b\u010f. MQTT a HTTP se zdaj\u00ed b\u00fdt nejperspektivn\u011bj\u0161\u00edmi protokoly, proto\u017ee jsou pova\u017eov\u00e1ny za relativn\u011b vysp\u011bl\u00e9 a stabiln\u00ed \u0159e\u0161en\u00ed pro IoT ve srovn\u00e1n\u00ed s jin\u00fdmi protokoly.<\/p>\n<h3>\u0158e\u0161en\u00ed na z\u00e1klad\u011b jedin\u00e9ho komunika\u010dn\u00edho protokolu<\/h3>\n<p>\nPraxe jednoho protokolu m\u00e1 mnoho nev\u00fdhod. Nap\u0159\u00edklad protokol, kter\u00fd vyhovuje omezen\u00e9mu prost\u0159ed\u00ed, nemus\u00ed fungovat v dom\u00e9n\u011b, kter\u00e1 m\u00e1 p\u0159\u00edsn\u00e9 bezpe\u010dnostn\u00ed po\u017eadavky. S t\u00edmto na pam\u011bti mus\u00edme vylou\u010dit t\u00e9m\u011b\u0159 v\u0161echna mo\u017en\u00e1 \u0159e\u0161en\u00ed na b\u00e1zi jedin\u00e9ho protokolu v ekosyst\u00e9mu Fog-to-Cloud v IoT, krom\u011b MQTT a REST HTTP.<\/p>\n<p><b>REST HTTP jako jednoprotokolov\u00e9 \u0159e\u0161en\u00ed<\/b><\/p>\n<p>Existuje dobr\u00fd p\u0159\u00edklad interakce mezi po\u017eadavky a odpov\u011b\u010fmi REST HTTP v oblasti IoT-to-Fog: <noindex><a rel=\"nofollow\" href=\"https:\/\/dl.acm.org\/citation.cfm?doid=3152130.3152140\">inteligentn\u00ed farma<\/a><\/noindex>. Zv\u00ed\u0159ata jsou vybavena nositeln\u00fdmi senzory (IoT-klient, C) a jsou \u0159\u00edzena prost\u0159ednictv\u00edm cloudov\u00e9ho v\u00fdpo\u010dtu chytr\u00fdm zem\u011bd\u011blsk\u00fdm syst\u00e9mem (Fog-server, S).<\/p>\n<p>V z\u00e1hlav\u00ed metody POST je uveden zdroj ke zm\u011bn\u011b ( \/farm \/animals), spolu s verz\u00ed HTTP a typem obsahu, kter\u00fd je v tomto p\u0159\u00edpad\u011b objektem JSON p\u0159edstavuj\u00edc\u00edm chovatelskou farmu, kterou m\u00e1 syst\u00e9m \u0159\u00eddit (Dulcinea \/kr\u00e1va). Odpov\u011b\u010f ze serveru nazna\u010duje, \u017ee \u017e\u00e1dost byla \u00fasp\u011b\u0161n\u00e1, a pos\u00edl\u00e1 k\u00f3d stavu HTTPS 201 (resource created). Metoda GET by m\u011bla uv\u00e1d\u011bt pouze po\u017eadovan\u00fd zdroj v URI (nap\u0159\u00edklad \/farm \/animals \/1), co\u017e vrac\u00ed JSON reprezentaci zv\u00ed\u0159ete s t\u00edmto identifik\u00e1torem ze serveru. <\/p>\n<p>Metoda PUT se pou\u017e\u00edv\u00e1, kdy\u017e je t\u0159eba aktualizovat konkr\u00e9tn\u00ed z\u00e1znam zdroje. V tomto p\u0159\u00edpad\u011b se v zdroji uv\u00e1d\u00ed URI pro parametr, kter\u00fd se m\u00e1 zm\u011bnit, a aktu\u00e1ln\u00ed hodnotu (nap\u0159\u00edklad kdy\u017e kr\u00e1va pr\u00e1v\u011b pase, \/farm\/animals\/1?state=chod). Nakonec metoda DELETE je pou\u017e\u00edv\u00e1na stejn\u00fdm zp\u016fsobem jako metoda GET, ale jednodu\u0161e odstran\u00ed zdroj v d\u016fsledku operace. <\/p>\n<p><b>MQTT jako jednoprotokolov\u00e9 \u0159e\u0161en\u00ed<\/b><\/p>\n<p><img decoding=\"async\" alt=\"IoT, mlha a cloud: pov\u011bzme si n\u011bco o technologi\u00edch?\" src=\"\/wp-content\/uploads\/2019\/09\/529857b556ea5a186ac1519e2804d1b8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVezm\u011bme si stejnou inteligentn\u00ed farmu, ale m\u00edsto REST HTTP pou\u017eijeme protokol MQTT. M\u00edstn\u00ed server se nainstalovanou knihovnou Mosquitto funguje jako broker. V tomto p\u0159\u00edkladu jednoduch\u00fd po\u010d\u00edta\u010d (ozna\u010dovan\u00fd jako server farmy) Raspberry Pi slou\u017e\u00ed jako klient MQTT, implementovan\u00fd pomoc\u00ed instalace knihovny MQTT Paho, pln\u011b kompatibiln\u00ed s brokerem Mosquitto.<\/p>\n<p>Tento klient odpov\u00edd\u00e1 \u00farovni abstrakce IoT p\u0159edstavuj\u00edc\u00ed za\u0159\u00edzen\u00ed s mo\u017enostmi detekce a v\u00fdpo\u010dt\u016f. Zprost\u0159edkovatel, na druh\u00e9 stran\u011b, odpov\u00edd\u00e1 vy\u0161\u0161\u00ed \u00farovni abstrakce p\u0159edstavuj\u00edc\u00ed v\u00fdpo\u010detn\u00ed uzel mlhy, charakterizovan\u00fd velk\u00fdmi kapacitami v oblasti zpracov\u00e1n\u00ed a ukl\u00e1d\u00e1n\u00ed dat.<\/p>\n<p>V navrhovan\u00e9m sc\u00e9n\u00e1\u0159i 'inteligentn\u00ed farmy' se Raspberry Pi p\u0159ipojuje k akcelerometru, GPS a teplotn\u00edm senzor\u016fm a publikuje data z t\u011bchto senzor\u016f v uzlu mlhy. Jak jist\u011b v\u00edte, MQTT ch\u00e1pe t\u00e9mata jako hierarchii. Jeden vydavatel MQTT m\u016f\u017ee publikovat zpr\u00e1vy v ur\u010dit\u00e9 sad\u011b t\u00e9mat. V na\u0161em p\u0159\u00edpad\u011b jsou to t\u0159i. Pro senzor, kter\u00fd m\u011b\u0159\u00ed teplotu ve st\u00e1ji pro zv\u00ed\u0159ata, si klient vyb\u00edr\u00e1 t\u00e9ma (animalfarm\/shed\/temperature). Pro senzory, kter\u00e9 m\u011b\u0159\u00ed polohu GPS a pohyb zv\u00ed\u0159at prost\u0159ednictv\u00edm akcelerometru, klient publikovat aktualizace (animalfarm\/animal\/GPS) a (animalfarm\/animal\/movement).<\/p>\n<p>Tyto informace budou p\u0159ed\u00e1ny brokerovi, kter\u00fd je m\u016f\u017ee do\u010dasn\u011b ulo\u017eit do m\u00edstn\u00ed datab\u00e1ze pro p\u0159\u00edpad, \u017ee by se pozd\u011bji objevil jin\u00fd zainteresovan\u00fd odb\u011bratel.<\/p>\n<p>Krom\u011b lok\u00e1ln\u00edho serveru, kter\u00fd funguje jako MQTT broker v mlze a kter\u00e9mu Raspberry Pi, funguj\u00edc\u00ed jako MQTT klienti, pos\u00edlaj\u00ed data ze senzor\u016f, m\u016f\u017ee na \u00farovni cloudu existovat dal\u0161\u00ed MQTT broker. V takov\u00e9m p\u0159\u00edpad\u011b m\u016f\u017ee b\u00fdt informace, p\u0159ed\u00e1van\u00e1 lok\u00e1ln\u00edmu brokerovi, do\u010dasn\u011b uchov\u00e1v\u00e1na v lok\u00e1ln\u00ed datab\u00e1zi a\/nebo pos\u00edl\u00e1na do cloudu. Mlhav\u00fd MQTT broker je v t\u00e9to situaci vyu\u017e\u00edv\u00e1n k propojen\u00ed v\u0161ech dat s cloudov\u00fdm MQTT brokerem. P\u0159i t\u00e9to architektu\u0159e m\u016f\u017ee u\u017eivatel mobiln\u00ed aplikace b\u00fdt p\u0159ihl\u00e1\u0161en k ob\u011bma broker\u016fm.<\/p>\n<p>V p\u0159\u00edpad\u011b v\u00fdpadku spojen\u00ed s jedn\u00edm z broker\u016f (nap\u0159\u00edklad cloudov\u00fdm) z\u00edsk\u00e1 koncov\u00fd u\u017eivatel informace od druh\u00e9ho (mlhav\u00e9ho). To je charakteristick\u00e1 vlastnost kombinovan\u00fdch syst\u00e9m\u016f mlhy a cloudov\u00fdch v\u00fdpo\u010dt\u016f. V\u00fdchoz\u00ed mobiln\u00ed aplikace m\u016f\u017ee b\u00fdt nastavena na prvn\u00ed p\u0159ipojen\u00ed k mlhav\u00e9mu MQTT brokeru, a v p\u0159\u00edpad\u011b ne\u00fasp\u011bchu na p\u0159ipojen\u00ed k MQTT brokeru v cloudu. Toto \u0159e\u0161en\u00ed je pouze jedn\u00edm z mnoha v syst\u00e9mech IoT-F2C. <\/p>\n<h3>Multiprotocoln\u00ed \u0159e\u0161en\u00ed<\/h3>\n<p>\n\u0158e\u0161en\u00ed s jedn\u00edm protokolem jsou popul\u00e1rn\u00ed d\u00edky sv\u00e9 snaz\u0161\u00ed realizaci. Je v\u0161ak jasn\u00e9, \u017ee v syst\u00e9mech IoT-F2C m\u00e1 smysl kombinovat r\u016fzn\u00e9 protokoly. Smysl spo\u010d\u00edv\u00e1 v tom, \u017ee na r\u016fzn\u00fdch \u00farovn\u00edch mohou fungovat r\u016fzn\u00e9 protokoly. Vezm\u011bme nap\u0159\u00edklad t\u0159i abstrakce: \u00farovn\u011b IoT, mlhy a cloudov\u00fdch v\u00fdpo\u010dt\u016f. Za\u0159\u00edzen\u00ed na \u00farovni IoT jsou obvykle pova\u017eov\u00e1na za omezen\u00e1. Pro tento p\u0159ehled pova\u017eujme \u00farovn\u011b IoT za nejv\u00edce omezen\u00e9, cloudov\u00e9 za m\u00e9n\u011b omezen\u00e9 a v\u00fdpo\u010dty mlhy jako \u201en\u011bkde uprost\u0159ed\u201c. Pak to vych\u00e1z\u00ed tak, \u017ee mezi IoT a abstrakcemi mlhy zahrnuj\u00ed aktu\u00e1ln\u00ed protokolov\u00e1 \u0159e\u0161en\u00ed MQTT, CoAP a XMPP. Mezi mlhou a cloudem, na druhou stranu, je AMQP jedn\u00edm z hlavn\u00edch pou\u017e\u00edvan\u00fdch protokol\u016f spolu s REST HTTP, kter\u00fd d\u00edky sv\u00e9 flexibilit\u011b je tak\u00e9 pou\u017e\u00edv\u00e1n mezi IoT a vrstvami mlhy. <\/p>\n<p>Hlavn\u00edm probl\u00e9mem je funk\u010dn\u00ed kompatibilita protokol\u016f a jednoduchost p\u0159evodu zpr\u00e1v z jednoho protokolu na druh\u00fd. Ide\u00e1ln\u011b, v budoucnu bude architektura syst\u00e9mu internetu v\u011bc\u00ed s cloudov\u00fdmi a mlhav\u00fdmi zdroji nez\u00e1visl\u00e1 na pou\u017e\u00edvan\u00e9m komunika\u010dn\u00edm protokolu a zajist\u00ed dobrou interakci r\u016fzn\u00fdch protokol\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"IoT, mlha a cloud: pov\u011bzme si n\u011bco o technologi\u00edch?\" src=\"\/wp-content\/uploads\/2019\/09\/cddc564cad572966002ae22eff8cb99d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nVzhledem k tomu, \u017ee tomu moment\u00e1ln\u011b tak nen\u00ed, d\u00e1v\u00e1 smysl spojit protokoly, kter\u00e9 nemaj\u00ed v\u00fdznamn\u00e9 rozd\u00edly. K tomuto \u00fa\u010delu je jedno potenci\u00e1ln\u00ed \u0159e\u0161en\u00ed zalo\u017eeno na kombinaci dvou protokol\u016f, kter\u00e9 se \u0159\u00edd\u00ed stejn\u00fdm architektonick\u00fdm stylem, REST HTTP a CoAP. Dal\u0161\u00ed navrhovan\u00e9 \u0159e\u0161en\u00ed vych\u00e1z\u00ed ze spojen\u00ed dvou protokol\u016f, kter\u00e9 nab\u00edzej\u00ed interakci podle modelu \u201epublikace-p\u0159edplatn\u00e9\u201c, MQTT a AMQP. Pou\u017eit\u00ed bl\u00edzk\u00fdch koncept\u016f (jak MQTT, tak AMQP pou\u017e\u00edvaj\u00ed zprost\u0159edkovatele, CoAP a HTTP vyu\u017e\u00edvaj\u00ed REST) usnad\u0148uje realizaci t\u011bchto kombinac\u00ed a vy\u017eaduje men\u0161\u00ed \u00fasil\u00ed p\u0159i integraci.<\/p>\n<p><img decoding=\"async\" alt=\"IoT, mlha a cloud: pov\u011bzme si n\u011bco o technologi\u00edch?\" src=\"\/wp-content\/uploads\/2019\/09\/395bc75880a154aeab7b61d043476802.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa obr\u00e1zku (a) jsou zobrazeny dva modely zalo\u017een\u00e9 na po\u017eadavc\u00edch a odpov\u011bd\u00edch, HTTP a CoAP, a jejich mo\u017en\u00e9 um\u00edst\u011bn\u00ed v \u0159e\u0161en\u00ed IoT-F2C. Vzhledem k tomu, \u017ee HTTP je jedn\u00edm z nejzn\u00e1m\u011bj\u0161\u00edch a nejp\u0159izp\u016fsoben\u011bj\u0161\u00edch protokol\u016f v sou\u010dasn\u00fdch s\u00edt\u00edch, je nepravd\u011bpodobn\u00e9, \u017ee by byl pln\u011b nahrazen jin\u00fdmi protokoly pro v\u00fdm\u011bnu zpr\u00e1v. Mezi uzly, kter\u00e9 p\u0159edstavuj\u00ed v\u00fdkonn\u00e9 za\u0159\u00edzen\u00ed, je\u017e se nach\u00e1z\u00ed mezi cloudem a mlhou, je REST HTTP rozumn\u00fdm \u0159e\u0161en\u00edm.<\/p>\n<p>Na druhou stranu, pro za\u0159\u00edzen\u00ed s omezen\u00fdmi v\u00fdpo\u010detn\u00edmi zdroji, kter\u00e1 komunikuj\u00ed mezi \u00farovn\u011bmi mlhy a IoT, je efektivn\u011bj\u0161\u00ed pou\u017e\u00edvat CoAP. Jednou z velk\u00fdch v\u00fdhod CoAP je jeho kompatibilita s HTTP, proto\u017ee oba protokoly jsou zalo\u017eeny na principech REST.<\/p>\n<p>Na obr\u00e1zku (b) jsou zobrazeny dva modely interakce \u201epublikace-p\u0159edplatn\u00e9\u201c v jednom sc\u00e9n\u00e1\u0159i, zahrnuj\u00edc\u00ed MQTT a AMQP. I kdy\u017e hypoteticky mohou b\u00fdt oba protokoly pou\u017eity pro komunikaci mezi uzly na ka\u017ed\u00e9 \u00farovni abstrakce, jejich um\u00edst\u011bn\u00ed by m\u011blo b\u00fdt ur\u010deno na z\u00e1klad\u011b v\u00fdkonnosti. MQTT byl navr\u017een jako zjednodu\u0161en\u00fd protokol pro za\u0159\u00edzen\u00ed s omezen\u00fdmi v\u00fdpo\u010detn\u00edmi zdroji, tak\u017ee m\u016f\u017ee b\u00fdt pou\u017eit pro komunikaci mezi IoT a mlhou. AMQP je l\u00e9pe p\u0159izp\u016fsoben pro v\u00fdkonn\u011bj\u0161\u00ed za\u0159\u00edzen\u00ed, kter\u00e1 by ho ide\u00e1ln\u011b um\u00edstila mezi uzly mlhy a cloudu. M\u00edsto MQTT m\u016f\u017ee b\u00fdt v IoT pou\u017eit protokol XMPP, proto\u017ee se pova\u017euje za lehk\u00fd. Ale v podobn\u00fdch sc\u00e9n\u00e1\u0159\u00edch se nepou\u017e\u00edv\u00e1 tak \u0161iroce.<\/p>\n<h3>Z\u00e1v\u011bry<\/h3>\n<p>\nJe nepravd\u011bpodobn\u00e9, \u017ee by jeden z uveden\u00fdch protokol\u016f sta\u010dil k pokryt\u00ed cel\u00e9 komunikace v syst\u00e9mu, po\u010d\u00ednaje za\u0159\u00edzen\u00edmi s omezen\u00fdmi v\u00fdpo\u010detn\u00edmi zdroji a kon\u010de cloudov\u00fdmi servery. Studie uk\u00e1zala, \u017ee dva nejperspektivn\u011bj\u0161\u00ed varianty, kter\u00e9 v\u00fdvoj\u00e1\u0159i \u010dast\u011bji vyu\u017e\u00edvaj\u00ed, jsou MQTT a RESTful HTTP. Tyto dva protokoly jsou nejen nejv\u00edce zral\u00e9 a stabiln\u00ed, ale tak\u00e9 zahrnuj\u00ed mnoho dob\u0159e zdokumentovan\u00fdch a \u00fasp\u011b\u0161n\u00fdch implementac\u00ed a online zdroj\u016f.<\/p>\n<p>D\u00edky sv\u00e9 stabilit\u011b a jednoduch\u00e9 konfiguraci je MQTT protokolem, kter\u00fd \u010dasem prok\u00e1zal svou vynikaj\u00edc\u00ed v\u00fdkonnost p\u0159i pou\u017eit\u00ed na \u00farovni IoT s omezen\u00fdmi za\u0159\u00edzen\u00edmi. V \u010d\u00e1stech syst\u00e9mu, kde nen\u00ed probl\u00e9mem omezen\u00e9 p\u0159ipojen\u00ed a spot\u0159eba baterie, nap\u0159\u00edklad v n\u011bkter\u00fdch oblastech mlhy a v\u011bt\u0161in\u011b cloud computing\u016f, je RESTful HTTP jednoduchou volbou. CoAP by m\u011bl b\u00fdt tak\u00e9 zv\u00e1\u017een, proto\u017ee se tak\u00e9 rychle vyv\u00edj\u00ed jako standard pro zpr\u00e1vy IoT, a je velmi pravd\u011bpodobn\u00e9, \u017ee v bl\u00edzk\u00e9 budoucnosti dos\u00e1hne \u00farovn\u011b stability a zralosti srovnateln\u00e9 s MQTT a HTTP. Ale standard se nyn\u00ed vyv\u00edj\u00ed, co\u017e s sebou nese kr\u00e1tkodob\u00e9 probl\u00e9my s kompatibilitou.<\/p>\n<p><b>Co dal\u0161\u00edho si m\u016f\u017eete p\u0159e\u010d\u00edst v blogu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cloud4y.ru\/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=article\">Cloud4Y<\/a><\/noindex><\/b><\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/466755\/\">Po\u010d\u00edta\u010d v\u00e1m ud\u011bl\u00e1 dob\u0159e<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/464155\/\">AI pom\u00e1h\u00e1 studovat zv\u00ed\u0159ata v Africe <\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/465251\/\">L\u00e9to skoro skon\u010dilo. T\u00e9m\u011b\u0159 u\u017e nez\u016fstaly \u017e\u00e1dn\u00e9 unikl\u00e9 \u00fadaje.<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/461713\/\">4 zp\u016fsoby, jak u\u0161et\u0159it na z\u00e1loh\u00e1ch v cloudu<\/a><\/noindex><br \/>\n\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/467769\/\">O jednotn\u00e9m feder\u00e1ln\u00edm informa\u010dn\u00edm zdroji, kter\u00fd obsahuje \u00fadaje o obyvatelstvu<\/a><\/noindex><\/p>\n<p>Sledujte n\u00e1\u0161 <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/cloud4y\">Telegram<\/a><\/noindex>-kan\u00e1l, abyste nep\u0159i\u0161li o dal\u0161\u00ed \u010dl\u00e1nek! P\u00ed\u0161eme maxim\u00e1ln\u011b dvakr\u00e1t t\u00fddn\u011b a pouze relevantn\u011b.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/467711\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u043e\u0444\u0442\u0430 \u0438 \u0436\u0435\u043b\u0435\u0437\u0430, \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u0441\u0432\u044f\u0437\u0438 \u043f\u0440\u0438\u0432\u0435\u043b\u0438 \u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044e \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u0435\u0449\u0435\u0439 (IoT). \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0440\u0430\u0441\u0442\u0451\u0442 \u0434\u0435\u043d\u044c \u043e\u0442\u043e \u0434\u043d\u044f, \u0438 \u043e\u043d\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u043e\u0431\u044a\u0451\u043c \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c, \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435. \u0421\u0435\u0439\u0447\u0430\u0441 \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0449\u0430\u044f\u0441\u044f \u0432\u0441\u0451 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28806,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u043e\u0444\u0442\u0430 \u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/iot-tuman-i-oblaka-pogovorim-pro-tehnologii\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47IoT, \u0442\u0443\u043c\u0430\u043d \u0438 \u043e\u0431\u043b\u0430\u043a\u0430: \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u043e\u0444\u0442\u0430 \u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/iot-tuman-i-oblaka-pogovorim-pro-tehnologii\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:23:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:23:21+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47IoT, mlha a cloudy: promluvme si o technologi\u00edch? | ProHoster","description":"V\u00fdvoj technologi\u00ed v oblasti softwaru a.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/iot-tuman-i-oblaka-pogovorim-pro-tehnologii","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47IoT, \u0442\u0443\u043c\u0430\u043d \u0438 \u043e\u0431\u043b\u0430\u043a\u0430: \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438? | ProHoster","og:description":"\u0420\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0441\u043e\u0444\u0442\u0430 \u0438.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/iot-tuman-i-oblaka-pogovorim-pro-tehnologii","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:23:21+00:00","article:modified_time":"2019-10-31T19:23:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38375","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 21:45:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:10:24","updated":"2026-01-23 21:45:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/38375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=38375"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/38375\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/28806"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=38375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=38375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=38375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}