IoT, ʻohu a me nā ao: e kamaʻilio e pili ana i ka ʻenehana?

IoT, ʻohu a me nā ao: e kamaʻilio e pili ana i ka ʻenehana?

ʻO ka hoʻomohala ʻana o nā ʻenehana i ke kahua o ka lako polokalamu a me nā lako, ka puka ʻana o nā protocol kamaʻilio hou i alakaʻi i ka hoʻonui ʻana o ka Internet of Things (IoT). Ke ulu nei ka nui o nā mea hana i kēlā me kēia lā a ke hana nei lākou i ka nui o ka ʻikepili. No laila, pono kahi hoʻolālā ʻōnaehana maʻalahi e hiki ke hana, mālama a hoʻouna i kēia ʻikepili.

I kēia manawa, hoʻohana ʻia nā lawelawe kapua no kēia mau kumu. Eia nō naʻe, hiki ke hoʻokō ʻia ka paradigm computing fog kaulana loa (Fog) i nā hoʻonā kapuaʻi ma o ka hoʻonui ʻana a me ka hoʻonui ʻana i ka ʻōnaehana IoT.

Hiki i nā ao ke uhi i ka hapa nui o nā noi IoT. No ka laʻana, e hāʻawi i ka nānā ʻana i nā lawelawe, ka wikiwiki wikiwiki o ka nui o nā ʻikepili i hana ʻia e nā mea hana, a me kā lākou ʻike. ʻOi aku ka maikaʻi o ka computing fog i ka wā e hoʻoponopono ai i nā pilikia manawa maoli. Hāʻawi lākou i ka pane wikiwiki i nā noi a me ka latency liʻiliʻi i ka hoʻoili ʻikepili. ʻO ia hoʻi, hoʻopiha ka Fog i nā "pua" a hoʻonui i kona hiki.

Eia naʻe, ʻokoʻa ka nīnau nui: pehea e pili ai kēia mau mea āpau i ka pōʻaiapili o IoT? He aha nā protocol kamaʻilio e ʻoi aku ka maikaʻi i ka hana ʻana i kahi ʻōnaehana IoT-Fog-Cloud i hui pū ʻia?

ʻOiai ka mana o HTTP, aia ka nui o nā ʻōnaehana ʻē aʻe i hoʻohana ʻia ma IoT, Fog a me nā ʻōnaehana Cloud. ʻO kēia no ka mea pono ʻo IoT e hoʻohui i ka hana o nā ʻano mea like ʻole me ka palekana, ka hoʻohālikelike a me nā koi ʻē aʻe o nā mea hoʻohana.

Akā ʻaʻohe manaʻo hoʻokahi e pili ana i ka hoʻolālā kuhikuhi a me ke kūlana kamaʻilio. No laila, ʻo ka hana ʻana i kahi protocol hou a i ʻole ka hoʻololi ʻana i kahi mea i loaʻa no nā hana IoT kikoʻī kekahi o nā hana koʻikoʻi e kū nei i ke kaiāulu IT.

He aha nā protocols e hoʻohana ʻia nei a he aha ka mea hiki iā lākou ke hāʻawi? E noʻonoʻo kākou. Akā ʻo ka mua, e kūkākūkā kākou i nā loina o ka kaiaola kahi e launa pū ai nā ao, ka noe a me ka Pūnaewele o nā mea.

ʻO IoT Fog-to-Cloud (F2C) Architecture

Ua ʻike paha ʻoe i ka nui o ka hoʻoikaika ʻana i ka ʻimi ʻana i nā pono a me nā pōmaikaʻi e pili ana me ka hoʻokele akamai a hoʻonohonoho ʻia o IoT, kapua a me ka noe. Inā ʻaʻole, eia ʻekolu mau hana hoʻohālikelike: OpenFog Consortium, Edge Computing Consortium и papahana mF2C H2020 EU.

Inā he 2 mau pae i noʻonoʻo ʻia ma mua, nā ao a me nā mea hoʻopau, a laila hoʻolauna ka hale hoʻolālā i manaʻo ʻia i kahi pae hou - ʻo ka noe computing. I kēia hihia, hiki ke hoʻokaʻawale ʻia ka pae o ka noe i kekahi mau sublevels, e pili ana i nā kikoʻī o nā kumuwaiwai a i ʻole kahi hoʻonohonoho o nā kulekele e hoʻoholo ai i ka hoʻohana ʻana i nā mea like ʻole i kēia mau sublevels.

He aha ke ʻano o kēia abstraction? Eia kahi kaiaola IoT-Fog-Cloud maʻamau. Hoʻouna nā mea IoT i ka ʻikepili i nā kikowaena wikiwiki a me nā polokalamu kamepiula e hoʻoponopono i nā pilikia e pono ai ka latency haʻahaʻa. Ma ka ʻōnaehana hoʻokahi, ʻo nā ao ke kuleana no ka hoʻoponopono ʻana i nā pilikia e koi ana i ka nui o nā kumuwaiwai computing a i ʻole kahi waiho ʻikepili.

IoT, ʻohu a me nā ao: e kamaʻilio e pili ana i ka ʻenehana?

Hiki i nā kelepona, nā wati akamai a me nā hāmeʻa ʻē aʻe ke lilo i ʻāpana o ka IoT. Akā ʻo ia mau mea, ma ke ʻano he kānāwai, hoʻohana i nā protocol kamaʻilio proprietary mai nā mea hoʻomohala nui. Hoʻololi ʻia ka ʻikepili IoT i hana ʻia i ka papa noe ma o ka protocol REST HTTP, e hāʻawi ana i ka maʻalahi a me ka interoperability i ka wā e hana ai i nā lawelawe RESTful. He mea koʻikoʻi kēia ma muli o ka pono e hōʻoia i ka hoʻokō ʻana i hope me nā ʻōnaehana kamepiula e holo nei ma nā kamepiula kūloko, nā kikowaena a i ʻole kahi pūʻulu kikowaena. ʻO nā kumuwaiwai kūloko, i kapa ʻia ʻo "fog nodes," kānana i ka ʻikepili i loaʻa a hoʻopaʻa ʻia ma ka ʻāina a i ʻole e hoʻouna i ke ao no ka helu hou ʻana.

Kākoʻo nā ao i nā protocol kamaʻilio like ʻole, ʻo ka mea maʻamau ʻo AMQP a me REST HTTP. No ka mea ua kaulana ʻo HTTP a ua hoʻopili ʻia no ka Pūnaewele, e kū mai ka nīnau: "ʻaʻole anei mākou e hoʻohana iā ia e hana me IoT a me ka noe?" Eia nō naʻe, aia kēia protocol i nā pilikia hana. Nā mea hou aʻe e pili ana i kēia ma hope.

Ma keʻano laulā, aia nā hiʻohiʻona 2 o nā protocol kamaʻilio kūpono no ka ʻōnaehana a mākou e pono ai. ʻO kēia nā noi-pane a hoʻopuka-kau inoa. ʻO ke kumu hoʻohālike mua i ʻike nui ʻia, ʻoi aku hoʻi i ka hoʻolālā server-client. Ke noi nei ka mea kūʻai aku i ka ʻike mai ke kikowaena, a loaʻa i ke kikowaena ka noi, hoʻoponopono iā ia a hoʻihoʻi i kahi leka pane. Hoʻohana ʻia nā protocol REST HTTP a me CoAP ma kēia kumu hoʻohālike.

ʻO ka lua o ka hoʻohālike i puka mai mai ka pono e hoʻolako asynchronous, puʻunaue, hoʻokuʻi ʻia ma waena o nā kumu hana ʻikepili a me nā mea i loaʻa i kēia ʻikepili.

IoT, ʻohu a me nā ao: e kamaʻilio e pili ana i ka ʻenehana?

Manaʻo ke kumu hoʻohālike i ʻekolu mau mea komo: kahi mea hoʻopuka (kumu ʻikepili), kahi mea hoʻolaha (dispatcher) a me kahi mea kākau inoa (loaʻa). Maanei, ʻaʻole pono ka mea kūʻai aku e noi i ka ʻike mai ke kikowaena. Ma kahi o ka hoʻouna ʻana i nā noi, kau inoa ʻo ia i kekahi mau hanana i loko o ka ʻōnaehana ma o ka mea kūʻai aku, nona ke kuleana no ka kānana ʻana i nā leka a pau e hiki mai ana a hoʻokele iā lākou ma waena o nā mea hoʻopuka a me nā mea kākau inoa. A ʻo ka mea hoʻopuka, i ka wā e loaʻa ai kahi hanana e pili ana i kekahi kumuhana, hoʻolaha ia i ka mea hoʻolaha, nāna e hoʻouna i ka ʻikepili i ke kumuhana i noi ʻia i ka mea kākau inoa.

ʻO ka mea nui, ua hoʻokumu ʻia kēia hoʻolālā i ka hanana. A he mea hoihoi kēia ʻano hoʻohālikelike no nā noi ma IoT, cloud, fog ma muli o kona hiki ke hāʻawi i ka scalability a maʻalahi i ka pilina ma waena o nā mea like ʻole, kākoʻo i ka kamaʻilio nui a me nā kamaʻilio asynchronous. ʻO kekahi o nā kaʻina memo maʻamau kaulana loa e hoʻohana ana i kahi hiʻohiʻona hoʻolaha hoʻolaha me MQTT, AMQP, a me DDS.

ʻIke loa, he nui nā mea maikaʻi o ke kumu hoʻolaha hoʻolaha:

  • ʻAʻole pono nā mea hoʻopuka a me nā mea kākau inoa e pili ana i ke ola o kekahi;
  • Hiki i ka mea kākau inoa ke loaʻa ka ʻike mai nā puke like ʻole he nui, a hiki i hoʻokahi mea hoʻopuka ke hoʻouna i ka ʻikepili i nā mea kākau inoa like ʻole (many-to-many principle);
  • ʻAʻole pono ka mea hoʻopuka a me ka mea kākau inoa e hoʻoikaika i ka manawa like e kamaʻilio ai, no ka mea, hiki i ka mea hoʻolimalima (hana ma ke ʻano he ʻōnaehana queuing) ke mālama i ka leka no nā mea kūʻai aku ʻaʻole i pili i kēia manawa i ka pūnaewele.

Eia nō naʻe, ʻo ke kumu hoʻohālike noi-pane kekahi i kona ikaika. I nā hihia i hiki ʻole i ka ʻaoʻao kikowaena ke lawelawe i nā noi o nā mea kūʻai aku he pilikia ʻole, kūpono ke hoʻohana ʻana i nā hopena i hōʻoia ʻia.

Aia kekahi mau protocols e kākoʻo ana i nā hiʻohiʻona ʻelua. No ka laʻana, ʻo XMPP a me HTTP 2.0, e kākoʻo ana i ke koho "push server". Ua hoʻokuʻu pū ka IETF i kahi CoAP. I ka hoʻāʻo ʻana e hoʻoponopono i ka pilikia memo, ua hana ʻia kekahi mau mea hoʻonā, e like me ka protocol WebSockets a i ʻole ka hoʻohana ʻana i ka protocol HTTP ma luna o QUIC (Quick UDP Internet Connections).

I ka hihia o WebSockets, ʻoiai ua hoʻohana ʻia e hoʻololi i ka ʻikepili i ka manawa maoli mai kahi kikowaena i kahi mea kūʻai pūnaewele a hāʻawi i nā pilina paʻa me ka kamaʻilio bidirectional like, ʻaʻole ia i manaʻo ʻia no nā polokalamu me nā kumu waiwai helu. Pono ka QUIC i ka nānā ʻana, no ka mea, hāʻawi ka protocol transport hou i nā manawa hou. Akā no ka mea ʻaʻole i hoʻohālikelike ʻia ʻo QUIC, ʻoi aku ka mua o ka wānana i kāna hiki ke noi a me ka hopena i nā hopena IoT. No laila, mālama mākou i nā WebSockets a me QUIC me ka maka i ka wā e hiki mai ana, akā ʻaʻole mākou e aʻo i nā kikoʻī hou aku i kēia manawa.

ʻO wai ka mea maikaʻi loa ma ka honua: hoʻohālikelike i nā protocols

I kēia manawa e kamaʻilio e pili ana i nā ikaika a me nā nāwaliwali o nā protocols. Ke nānā aku nei i mua, e hoʻopaʻa koke kākou ʻaʻohe alakaʻi maopopo. Loaʻa i kēlā me kēia protocol kekahi mau pono / hemahema.

Ka manawa hāʻina

ʻO kekahi o nā hiʻohiʻona koʻikoʻi o nā protocols kamaʻilio, ʻoi loa e pili ana i ka Pūnaewele o nā Mea, ʻo ia ka manawa pane. Akā ma waena o nā protocols i kēia manawa, ʻaʻohe mea lanakila e hōʻike ana i ka pae haʻahaʻa o ka latency i ka wā e hana ai ma lalo o nā kūlana like ʻole. Akā aia kahi pūʻulu o ka noiʻi a me ka hoʻohālikelike ʻana i nā mana protocol.

No kekahi laʻana, Nā hualoaʻa nā hoʻohālikelike o ka pono o HTTP a me MQTT i ka wā e hana pū ai me IoT i hōʻike i ka manawa pane no nā noi no MQTT ʻoi aku ka liʻiliʻi ma mua o HTTP. A i ka manawa e ao ana Ua hōʻike ʻia ka manawa huakaʻi puni (RTT) o MQTT a me CoAP he 20% ka liʻiliʻi o ka awelika RTT o CoAP ma mua o ka MQTT.

ʻO kekahi kahi hoʻokolohua me RTT no ka MQTT a me ka CoAP protocols i lawe ʻia i ʻelua mau hiʻohiʻona: ka pūnaewele kūloko a me ka pūnaewele IoT. Ua ʻike ʻia ʻo ka awelika RTT he 2-3 mau manawa kiʻekiʻe ma kahi pūnaewele IoT. Ua hōʻike ʻo MQTT me QoS0 i kahi hopena haʻahaʻa i hoʻohālikelike ʻia me CoAP, a ua hōʻike ʻo MQTT me QoS1 i kahi RTT kiʻekiʻe ma muli o nā ACK ma ka noi a me nā papa lawe. No nā pae QoS like ʻole, ʻo ka latency pūnaewele me ka ʻole o ka hoʻopaʻa ʻana he mau milliseconds no MQTT, a he mau haneli microseconds no CoAP. Eia naʻe, pono e hoʻomanaʻo i ka wā e hana ana ma nā pūnaewele hilinaʻi liʻiliʻi, ʻo MQTT e holo ana ma luna o TCP e hōʻike i kahi hopena ʻokoʻa loa.

Kūlike ʻO ka manawa pane no ka AMQP a me ka MQTT protocols ma ka hoʻonui ʻana i ka uku i hōʻike ʻia me kahi haʻahaʻa māmā ua aneane like ka pae latency. Akā i ka hoʻoili ʻana i nā ʻikepili nui, hōʻike ʻo MQTT i nā manawa pane pōkole. i hoʻokahi hou aku noiʻi Ua hoʻohālikelike ʻia ʻo CoAP me HTTP ma kahi ʻano kamaʻilio me ka mīkini me ka mīkini me nā mea i kau ʻia ma luna o nā kaʻa i hoʻolako ʻia me nā mea ʻike kinoea, nā mea ʻike i ka wā, nā ʻike wahi (GPS) a me kahi kikowaena pūnaewele kelepona (GPRS). ʻO ka manawa i koi ʻia no ka hoʻouna ʻana i kahi leka CoAP ma luna o ka pūnaewele paʻalima ua aneane ʻekolu manawa pōkole ma mua o ka manawa e pono ai e hoʻohana i nā memo HTTP.

Ua mālama ʻia nā haʻawina i hoʻohālikelike ʻia ʻaʻole ʻelua, akā ʻekolu mau protocol. ʻo kahi laʻana, hoʻohālikelike ka hana o nā protocol IoT MQTT, DDS a me CoAP i kahi hiʻohiʻona noiʻi olakino e hoʻohana ana i kahi emulator pūnaewele. Ua ʻoi aku ka maikaʻi o ka DDS i ka MQTT ma ke ʻano o ka latency telemetry i hoʻāʻo ʻia ma lalo o nā kūlana pūnaewele maikaʻi ʻole. Ua hana maikaʻi ʻo CoAP i hoʻokumu ʻia ma UDP no nā noi e koi ana i nā manawa pane wikiwiki, akā naʻe, ma muli o ka hoʻokumu ʻia ʻana o ka UDP, ua nui ka nalo ʻana o ka ʻeke.

Kāhea

Kūlike MQTT a me CoAP e pili ana i ka pono o ka bandwidth i lawe ʻia ma ke ʻano he helu o ka nui o ka ʻikepili i hoʻouna ʻia i kēlā me kēia memo. Ua hōʻike ʻo CoAP i ka haʻahaʻa haʻahaʻa ma mua o MQTT i ka hoʻouna ʻana i nā leka liʻiliʻi. Akā i ka hoʻohālikelike ʻana i ka pono o nā protocols e pili ana i ka ratio o ka helu o nā bytes ʻike pono i ka huina o nā bytes i hoʻoili ʻia, ua ʻoi aku ka maikaʻi o ka CoAP.

ma kālailai me ka hoʻohana ʻana iā MQTT, DDS (me TCP ma ke ʻano he transport protocol) a me ka bandwidth CoAP, ua ʻike ʻia ua hōʻike pinepine ʻo CoAP i ka hoʻohana haʻahaʻa haʻahaʻa haʻahaʻa haʻahaʻa, ʻaʻole i hoʻonui ʻia me ka hoʻonui ʻia ʻana o ka packet pūnaewele a i ʻole ka hoʻonui ʻana i ka latency pūnaewele, ʻaʻole like me MQTT a me DDS, kahi i loaʻa ai. ka hoʻonui ʻana i ka hoʻohana ʻana i ka bandwidth i nā hiʻohiʻona i ʻōlelo ʻia. ʻO kahi hiʻohiʻona ʻē aʻe e pili ana i ka nui o nā polokalamu e hoʻouna ana i ka ʻikepili i ka manawa like, ʻo ia ka mea maʻamau i nā kaiapuni IoT. Ua hōʻike ʻia nā hopena no ka hoʻohana kiʻekiʻe ʻoi aku ka maikaʻi o ka hoʻohana ʻana i ka CoAP.

Ma lalo o ka haʻahaʻa māmā, ua hoʻohana ʻo CoAP i ka bandwidth liʻiliʻi loa, a ukali ʻia e MQTT a me REST HTTP. Eia naʻe, i ka hoʻonui ʻana o ka nui o nā uku, loaʻa iā REST HTTP nā hopena maikaʻi loa.

Ka hoʻohana ʻana i ka ikaika

He mea koʻikoʻi nui ka pilikia o ka hoʻohana ʻana i ka ikehu, a ʻoi aku hoʻi i kahi ʻōnaehana IoT. Ina hoohalike ʻOiai ʻo MQTT a me HTTP e hoʻopau i ka uila, ʻoi aku ka nui o ka HTTP. A ʻoi aku ka CoAP ikehu pono hoʻohālikelike ʻia me MQTT, e ʻae ana i ka hoʻokele mana. Eia nō naʻe, ma nā hiʻohiʻona maʻalahi, ʻoi aku ka maikaʻi o ka MQTT no ka hoʻololi ʻana i ka ʻike ma nā pūnaewele Internet of Things, ʻoi aku ka nui inā ʻaʻohe palena mana.

ʻO kekahi ʻO kahi hoʻokolohua i hoʻohālikelike i nā mana o AMQP a me MQTT ma kahi kelepona paʻa ʻole a i ʻole paʻa paʻa pūnaewele hōʻike ʻia ua hāʻawi ʻo AMQP i nā mana palekana a ʻoi aku ka ikaika o ka MQTT.

Ka maluhia

ʻO ka palekana kekahi pilikia koʻikoʻi i hāpai ʻia i ke aʻo ʻana i ke kumuhana o ka Internet of Things a me ka noe/cloud computing. Hoʻokumu ʻia ka mīkini palekana ma TLS ma HTTP, MQTT, AMQP a me XMPP, a i ʻole DTLS ma CoAP, a kākoʻo i nā ʻano DDS ʻelua.

Hoʻomaka ʻo TLS a me DTLS me ke kaʻina hana o ka hoʻokumu ʻana i ke kamaʻilio ma waena o ka mea kūʻai aku a me nā ʻaoʻao kikowaena e hoʻololi i nā suite cipher i kākoʻo ʻia a me nā kī. Kūkākūkā nā ʻaoʻao ʻelua i nā hoʻonohonoho no ka hōʻoia ʻana e hiki ke kamaʻilio hou ʻia ma kahi ala paʻa. Aia ka ʻokoʻa ma waena o nā mea ʻelua i nā hoʻololi liʻiliʻi e hiki ai i ka DTLS e pili ana i ka UDP ke hana ma luna o kahi pilina hilinaʻi ʻole.

ma hoʻouka kaua Ua ʻike kekahi mau hoʻokō like ʻole o TLS a me DTLS ua hana maikaʻi ʻo TLS. ʻOi aku ka lanakila o ka hoʻouka ʻana iā DTLS ma muli o kona ʻae ʻana i ka hewa.

Eia naʻe, ʻo ka pilikia nui loa me kēia mau protocol, ʻaʻole lākou i hoʻolālā mua ʻia no ka hoʻohana ʻana ma IoT a ʻaʻole i manaʻo ʻia e hana i ka noe a i ʻole ke ao. Ma o ka lima lima, hoʻohui lākou i nā kaʻa ʻē aʻe me kēlā me kēia hoʻokumu pili, kahi e hoʻokahe ai i nā kumuwaiwai computing. Ma ka awelika, aia ka piʻi ʻana o 6,5% no TLS a me 11% no DTLS ma luna i hoʻohālikelike ʻia me nā kamaʻilio me ka ʻole o kahi papa palekana. I loko o nā kaiapuni waiwai waiwai, aia ma kahi maʻamau ʻōpua pae, ʻaʻole pilikia kēia, akā i ka pilina ma waena o IoT a me ka pae noe, lilo kēia i mea palena nui.

He aha ka mea e koho ai? ʻAʻohe pane maopopo. ʻO MQTT a me HTTP ka mea ʻoi aku ka maikaʻi o nā protocols no ka mea ua manaʻo ʻia lākou he ʻoi aku ka makua a ʻoi aku ka paʻa o nā hopena IoT i hoʻohālikelike ʻia me nā protocols ʻē aʻe.

Nā hoʻonā e pili ana i kahi protocol kamaʻilio hui

ʻO ka hoʻomaʻamaʻa ʻana i kahi hoʻonā hoʻokahi-protocol he nui nā hemahema. No ka laʻana, ʻaʻole hiki ke hana ʻia kahi protocol i kūpono i kahi kaiapuni i kaupalena ʻia i loko o kahi kikowaena i loaʻa nā koi palekana. Me kēia noʻonoʻo, waiho ʻia mākou e hoʻolei kokoke i nā hoʻonā hoʻokahi-protocol hiki i ka Fog-to-Cloud kaiaola ma IoT, koe wale nō ʻo MQTT a me REST HTTP.

REST HTTP ma ke ʻano he hoʻonā hoʻokahi-protocol

Aia kekahi laʻana maikaʻi o ka pili ʻana o nā noi a me nā pane ʻo REST HTTP i ka lewa IoT-to-Fog: mahiʻai akamai. Hoʻolako ʻia nā holoholona me nā mea ʻike hiki ke hoʻohana ʻia (IoT client, C) a hoʻomalu ʻia ma o ka computing cloud e kahi ʻōnaehana mahiʻai akamai (Fog server, S).

ʻO ke poʻomanaʻo o ke ʻano POST e wehewehe i ka kumuwaiwai e hoʻololi ai (/farm/holiops) a me ka ʻano HTTP a me ke ʻano ʻike, a ma kēia hihia he mea JSON e hōʻike ana i ka mahiʻai holoholona a ka ʻōnaehana e mālama ai (Dulcinea/cow) . Hōʻike ka pane mai ke kikowaena ua kūleʻa ka noi ma ka hoʻouna ʻana i ke code status HTTPS 201 (waiwai i hana ʻia). Pono ke ala GET e kuhikuhi wale i ka punawai i noi ʻia ma ka URI (no ka laʻana, /farm/animals/1), e hoʻihoʻi mai i kahi hōʻike JSON o ka holoholona me kēlā ID mai ka kikowaena.

Hoʻohana ʻia ke ʻano PUT inā pono e hoʻonui ʻia kekahi moʻolelo kumu waiwai. I kēia hihia, kuhikuhi ka punawai i ka URI no ka ʻāpana e hoʻololi ʻia a me ka waiwai o kēia manawa (no ka laʻana, e hōʻike ana e hele ana ka bipi i kēia manawa, /farm/animals/1? state=walking). ʻO ka hope, hoʻohana ʻia ke ʻano DELETE me ke ʻano GET, akā holoi wale i ka kumuwaiwai ma muli o ka hana.

MQTT ma ke ʻano he hoʻonā hoʻokahi-protocol

IoT, ʻohu a me nā ao: e kamaʻilio e pili ana i ka ʻenehana?

E lawe i ka mahiʻai akamai like, akā ma kahi o REST HTTP hoʻohana mākou i ka protocol MQTT. ʻO kahi kikowaena kūloko me ka hale waihona Mosquitto i hoʻokomo ʻia e hana ma ke ʻano he mea kūʻai aku. Ma kēia laʻana, he kamepiula maʻalahi (i kapa ʻia ʻo ke kikowaena mahiʻai) ʻo Raspberry Pi e lawelawe ma ke ʻano he mea kūʻai aku MQTT, i hoʻokō ʻia ma o ka hoʻokomo ʻana i ka waihona ʻo Paho MQTT, i kūpono loa me ka mea hoʻolaha Mosquitto.

Hoʻopili kēia mea kūʻai aku i kahi papa abstraction IoT e hōʻike ana i kahi hāmeʻa me ka hiki ke ʻike a me ka helu. ʻO ka mediator, ma ka ʻaoʻao ʻē aʻe, pili i kahi kiʻekiʻe o ka abstraction, e hōʻike ana i kahi node computing fog i hōʻike ʻia e ka ʻoi aku ka nui o ka hana a me ka hiki ke mālama.

Ma ka hoʻolālā mahiʻai akamai i manaʻo ʻia, hoʻopili ka Raspberry Pi i ka accelerometer, GPS, a me nā mea ʻike wela a hoʻopuka i ka ʻikepili mai kēia mau mea ʻike i kahi node noe. E like me kāu e ʻike ai, mālama ʻo MQTT i nā kumuhana ma ke ʻano he hierarchy. Hiki i ka mea hoʻopuka MQTT hoʻokahi ke hoʻolaha i nā memo i kahi pūʻulu kumuhana kikoʻī. I kā mākou hihia, ʻekolu o lākou. No ka mea ʻike e ana i ka wela o ka hale holoholona, ​​koho ka mea kūʻai aku i kahi kumuhana (animalfarm/shed/temperature). No nā mea ʻike e ana i ka wahi GPS a me ka neʻe ʻana o nā holoholona ma o ka accelerometer, e hoʻolaha ka mea kūʻai aku i nā mea hou i (animalfarm/animal/GPS) a me (animalfarm/animal/movement).

E hāʻawi ʻia kēia ʻike i ka mea kūʻai aku, nāna e mālama iā ia no ka manawa pōkole ma kahi waihona kūloko inā hiki mai kekahi mea kākau makemake ma hope.

Ma waho aʻe o ke kikowaena kūloko, e hana ana ma ke ʻano he MQTT broker i loko o ka noe a iā Raspberry Pis, e hana nei ma ke ʻano he MQTT nā mea kūʻai aku, e hoʻouna i ka ʻikepili sensor, aia paha kekahi MQTT broker ma ka pae ao. I kēia hihia, hiki ke mālama ʻia ka ʻike i hoʻouna ʻia i ka mea hoʻolaha kūloko i kahi manawa pōkole i kahi waihona kūloko a/a i hoʻouna ʻia i ke ao. Hoʻohana ʻia ka mea kūʻai aku MQTT puaʻa i kēia kūlana no ka hoʻopili ʻana i nā ʻikepili āpau me ka broker cloud MQTT. Me kēia hoʻolālā, hiki ke hoʻopaʻa inoa i kahi mea hoʻohana polokalamu kelepona i nā brokers ʻelua.

Inā hāʻule ka pilina me kekahi o nā brokers (no ka laʻana, cloud), e loaʻa i ka mea hoʻohana hope ka ʻike mai kekahi (fog). He ʻano hiʻohiʻona kēia o ka hui pū ʻana o ka noe a me nā ʻōnaehana ʻōhua. ʻO ka mea paʻamau, hiki ke hoʻonohonoho ʻia ka polokalamu kelepona e hoʻopili mua i ka broker MQTT fog, a inā hāʻule, e hoʻopili i ka broker MQTT cloud. ʻO kēia hoʻonā he hoʻokahi wale nō o nā ʻōnaehana IoT-F2C.

Nā hoʻonā kaʻa kaʻa

Ua kaulana nā hoʻonā protocol hoʻokahi ma muli o kā lākou hoʻokō maʻalahi. Akā ua maopopo i loko o nā ʻōnaehana IoT-F2C he mea kūpono ke hoʻohui i nā protocols ʻokoʻa. ʻO ka manaʻo e hiki ke hana i nā protocol like ʻole ma nā pae like ʻole. E lawe, no ka laʻana, ʻekolu abstractions: nā papa o IoT, ka noe a me ka hoʻopili ʻana i ke ao. Manaʻo ʻia nā hāmeʻa ma ka pae IoT i kaupalena ʻia. No kēia hiʻohiʻona, e noʻonoʻo kākou i nā pae IoT ma ke ʻano he mea paʻa loa, ʻo ke ao ka mea liʻiliʻi loa, a me ka helu ʻana o ka noe ma ke ʻano he "kahi i waena." ʻIke ʻia ʻo ia ma waena o IoT a me nā abstractions fog, nā ʻōnaehana protocol o kēia manawa me MQTT, CoAP a me XMPP. Ma waena o ka noe a me ke ao, ma ka ʻaoʻao ʻē aʻe, ʻo AMQP kekahi o nā protocols nui i hoʻohana ʻia, me ka REST HTTP, a ma muli o kona maʻalahi e hoʻohana ʻia ma waena o IoT a me nā papa noe.

ʻO ka pilikia nui ma aneʻi ʻo ka interoperability o nā protocols a me ka maʻalahi o ka hoʻoili ʻana i nā leka mai kekahi protocol i kekahi. ʻO ka mea kūpono, i ka wā e hiki mai ana, e kūʻokoʻa ka hoʻolālā ʻana o kahi ʻōnaehana Internet of Things me ke ao a me nā kumu waiwai noe mai ka protocol kamaʻilio i hoʻohana ʻia a e hōʻoia i ka interoperability maikaʻi ma waena o nā protocol like ʻole.

IoT, ʻohu a me nā ao: e kamaʻilio e pili ana i ka ʻenehana?

No ka mea ʻaʻole kēia ka hihia i kēia manawa, kūpono ke hoʻohui i nā protocols ʻaʻohe ʻokoʻa koʻikoʻi. No kēia hopena, hoʻokumu ʻia kahi hopena kūpono i ka hui ʻana o nā protocol ʻelua e hahai ana i ke ʻano hoʻolālā like, REST HTTP a me CoAP. Hoʻokumu ʻia kekahi hopena i manaʻo ʻia ma ka hui ʻana o nā protocol ʻelua e hāʻawi ana i ka kamaʻilio paʻi-subscribe, MQTT a me AMQP. ʻO ka hoʻohana ʻana i nā manaʻo like (ʻo MQTT a me AMQP hoʻohana i nā brokers, CoAP a me HTTP hoʻohana REST) ​​ʻoi aku ka maʻalahi o kēia mau hui ʻana e hoʻokō a koi i ka hoʻoikaika hoʻohui.

IoT, ʻohu a me nā ao: e kamaʻilio e pili ana i ka ʻenehana?

Hōʻike ke kiʻi (a) i ʻelua mau hiʻohiʻona e pili ana i ka noi-pane, HTTP a me CoAP, a me kā lākou hiki ke hoʻokomo ʻia i kahi hoʻonā IoT-F2C. No ka mea ʻo HTTP kekahi o nā protocols kaulana loa a hoʻohana ʻia ma nā pūnaewele hou, ʻaʻole paha e hoʻololi piha ʻia e nā protocol memo ʻē aʻe. Ma waena o nā nodes e hōʻike ana i nā mea ikaika e noho ana ma waena o ke ao a me ka noe, ʻo REST HTTP kahi hopena akamai.

Ma ka ʻaoʻao ʻē aʻe, no nā hāmeʻa me nā kumuwaiwai helu helu liʻiliʻi e kamaʻilio ma waena o nā papa Fog a me IoT, ʻoi aku ka maikaʻi o ka hoʻohana ʻana iā CoAP. ʻO kekahi o nā pōmaikaʻi nui o CoAP, ʻo ia ka hoʻohālikelike ʻana me HTTP, no ka mea, ua hoʻokumu ʻia nā protocol ʻelua i nā loina REST.

Hōʻike ke kiʻi (b) i ʻelua mau hiʻohiʻona kamaʻilio paʻi-kaupaʻa i ka hanana like, me MQTT a me AMQP. ʻOiai hiki ke hoʻohana hypothetically nā protocol ʻelua no ke kamaʻilio ma waena o nā nodes i kēlā me kēia papa abstraction, pono e hoʻoholo ʻia ko lākou kūlana ma muli o ka hana. Ua hoʻolālā ʻia ʻo MQTT ma ke ʻano he protocol māmā no nā hāmeʻa me nā kumuwaiwai helu helu liʻiliʻi, no laila hiki ke hoʻohana ʻia no ka kamaʻilio IoT-Fog. ʻOi aku ka maikaʻi o ka AMQP no nā mea mana ʻoi aku ka maikaʻi, e hoʻonohonoho pono iā ia ma waena o nā node a me nā ao. Ma kahi o MQTT, hiki ke hoʻohana ʻia ka protocol XMPP ma IoT e like me ka mea i manaʻo ʻia he māmā. Akā ʻaʻole i hoʻohana nui ʻia i loko o ia mau hiʻohiʻona.

haʻina

ʻAʻole lawa paha kekahi o nā protocols i kūkākūkā ʻia no ka uhi ʻana i nā kamaʻilio āpau i loko o kahi ʻōnaehana, mai nā polokalamu me nā kumuwaiwai helu palena ʻole i nā kikowaena kapua. Ua ʻike ʻia ka haʻawina ʻo nā koho hoʻohiki ʻelua i hoʻohana nui ʻia e nā mea hoʻomohala ʻo MQTT a me RESTful HTTP. ʻAʻole kēia mau protocol ʻelua wale nō ka mea ʻoi loa a paʻa, akā ua komo pū kekahi i nā hoʻokō maikaʻi a maikaʻi hoʻi a me nā kumuwaiwai pūnaewele.

Ma muli o kona kūpaʻa a me ka hoʻonohonoho maʻalahi, ʻo MQTT kahi protocol i hōʻoia i kāna hana kiʻekiʻe ma mua o ka manawa i hoʻohana ʻia ma ka pae IoT me nā mea liʻiliʻi. Ma nā ʻāpana o ka ʻōnaehana kahi i kaupalena ʻia ai ke kamaʻilio ʻana a me ka hoʻohana ʻana i ka pākaukau ʻaʻole ia he pilikia, e like me kekahi mau kikowaena puaʻa a me ka hapa nui o ka computing kapua, ʻo RESTful HTTP kahi koho maʻalahi. Pono e noʻonoʻo ʻia ʻo CoAP no ka mea ke ulu wikiwiki nei ʻo ia ma ke ʻano he maʻamau memo IoT a hiki paha i kahi pae o ke kūpaʻa a me ke oʻo e like me MQTT a me HTTP i ka wā e hiki mai ana. Akā ke ulu nei ka maʻamau i kēia manawa, e hele mai me nā pilikia hoʻohālikelike no ka wā pōkole.

He aha hou kāu e heluhelu ai ma ka blog? Cloud4Y

E ʻono ʻoe i ke kamepiula
Kōkua ʻo AI e aʻo i nā holoholona o ʻApelika
Ua kokoke pau ke kauwela. Aneane ʻaʻohe ʻikepili unleaked i koe
4 mau ala e mālama ai i nā backup cloud
Ma kahi waihona ʻike federal i hui pū ʻia me ka ʻike e pili ana i ka heluna kanaka

Kau inoa i kā mākou Telegram-channel, i ʻole e poina i ka ʻatikala aʻe! ʻAʻole mākou e kākau ʻoi aku ma mua o ʻelua manawa i ka pule a ma ka ʻoihana wale nō.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka