Overview sa Networking ug Messaging Protocols para sa IoT

Hello, mga Khabrovites! Ang una nga online nga kurso sa IoT developer sa Russia ilusad sa OTUS sa Oktubre. Ang pagpalista alang sa kurso bukas karon, nga adunay kalabotan diin kami nagpadayon sa pagpaambit sa mapuslanon nga mga materyal kanimo.

Overview sa Networking ug Messaging Protocols para sa IoT

Ang Internet of Things (IoT, Internet of Things) pagatukoron sa ibabaw sa kasamtangan nga imprastraktura sa network, mga teknolohiya ug mga protocol nga gigamit karon sa mga balay/opisina ug sa Internet, ug magtanyag ug daghan pa.

Ang katuyoan sa kini nga giya mao ang paghatag usa ka mubu nga pagtan-aw sa networking ug mga protocol sa aplikasyon alang sa IoT.

Nota. Kinahanglan adunay ka kahibalo sukaranan sa mga teknolohiya sa network.

Mga network sa IoT

Ang IoT modagan sa kasamtangan nga TCP/IP network.

Ang TCP/IP naggamit ug upat ka layer nga modelo nga adunay piho nga mga protocol sa matag layer. Cm. pagsabot sa TCP/IP 4 layer model (nasabtan namon ang upat ka layer nga modelo sa TCP / IP).

Ang dayagram sa ubos nagpakita sa usa ka pagtandi sa mga protocol nga gigamit karon ug kadtong labing lagmit nga gamiton alang sa IoT.

Overview sa Networking ug Messaging Protocols para sa IoT

Mga nota sa tsart:

  1. Ang gidak-on sa font nagpakita sa pagkapopular sa protocol. Pananglitan, sa wala, ang IPv4 mas dako, tungod kay kini mas popular sa modernong Internet. Bisan pa, kini mas gamay sa tuo tungod kay ang IPv6 gilauman nga mahimong mas popular sa IoT.

  2. Dili tanang protocol gipakita.

  3. Kadaghanan sa mga pagbag-o naa sa channel (level 1 ug 2) ug lebel sa aplikasyon (level 4).

  4. Ang network ug transport layer lagmit nga magpabilin nga wala mausab.

I-link ang mga protocol sa layer

Sa lebel sa link sa data (Data Link), kinahanglan nimo nga magkonektar sa mga aparato sa usag usa. Mahimo silang pareho nga suod, pananglitan, sa mga lokal nga network (mga lokal nga network) ug sa layo nga distansya gikan sa usag usa: sa mga urban (mga network sa lugar sa metropolitan) ug mga global nga network (mga network sa lapad nga lugar).

Sa pagkakaron, sa kini nga lebel, ang mga network sa balay ug opisina (LAN) naggamit sa Ethernet ug Wi-Fi, ug ang mga mobile network (WAN) naggamit sa 3G / 4G. Bisan pa, daghang mga aparato sa IoT ang gamay nga gahum, sama sa mga sensor, ug gipadagan lamang sa mga baterya. Niini nga mga kaso, ang Ethernet dili angay, apan ang low powered Wi-Fi ug low powered Bluetooth mahimong magamit.

Samtang ang kasamtangan nga wireless nga mga teknolohiya (Wi-Fi, Bluetooth, 3G/4G) padayong gamiton sa pagkonektar niini nga mga device, angayan usab nga tan-awon ang mga bag-ong teknolohiya nga espesipikong gidisenyo alang sa IoT nga mga aplikasyon nga lagmit motubo sa pagkapopular.

Lakip niini:

  • BLE - Ubos nga Enerhiya sa Bluetooth

  • LoRaWAN - Long Range WAN

  • SigFox

  • LTE-M

Sila gihulagway sa mas detalyado sa artikulo. Usa ka kinatibuk-ang ideya sa IOT wireless nga teknolohiya (kinatibuk-ang pagtan-aw sa wireless IoT nga mga teknolohiya).

layer sa network

Sa layer sa network (Networking), ang protocol ang modominar sa kadugayan IPv6. Dili tingali nga magamit ang IPv4, apan mahimo kini nga adunay papel sa una nga mga yugto. Kadaghanan sa mga gamit sa IoT sa balay, sama sa mga smart light bulbs, karon naggamit sa IPv4.

layer sa transportasyon 

Sa transport layer (Transport), ang Internet ug ang web gidominar sa TCP. Gigamit kini sa HTTP ug sa daghang uban pang popular nga mga protocol sa Internet (SMTP, POP3, IMAP4, ug uban pa).

MQTT, nga akong gilauman nga mahimong usa sa mga nag-unang aplikasyon layer protocol alang sa messaging, sa pagkakaron naggamit TCP.

Bisan pa, sa umaabot, tungod sa ubos nga overhead, akong gilauman nga ang UDP mahimong mas popular alang sa IoT. Tingali mas kaylap MQTT-SN, nagdagan sa UDP. Tan-awa ang artikulo sa pagtandi TCP vs UDP .

Layer sa aplikasyon ug mga protocol sa pagmemensahe

Importante nga mga kinaiya alang sa IoT protocol:

  • Speed ​​- ang gidaghanon sa data nga gibalhin matag segundo.

  • Ang latency mao ang panahon nga gikinahanglan sa pagpadala og mensahe.

  • Konsumo sa kuryente.

  • Kasegurohan.

  • Pagkabaton sa software.

Sa pagkakaron, duha ka nag-unang protocol ang aktibong gigamit niini nga lebel: HTTP ug MQTT.

Ang HTTP mao tingali ang labing inila nga protocol niini nga lebel nga nagpahipi sa web (WWW). Magpadayon kini nga hinungdanon alang sa IoT, tungod kay gigamit kini alang sa REST API - ang panguna nga mekanismo alang sa interaksyon tali sa mga aplikasyon sa web ug serbisyo. Bisan pa, tungod sa taas nga overhead, ang HTTP dili tingali mahimong panguna nga protocol sa IoT, bisan kung kini magamit gihapon sa kadaghanan sa Internet.

Ang MQTT (Message Queuing Telemetry Transport) nahimong nag-unang messaging protocol sa IoT tungod sa kagaan ug kasayon ​​sa paggamit niini. Tan-awa ang artikulo Pasiuna sa MQTT alang sa mga nagsugod (Pasiuna sa MQTT alang sa mga nagsugod).

Pagtandi sa HTTP ug MQTT alang sa IoT

Ang MQTT paspas nga nahimong de facto nga sumbanan alang sa mga aplikasyon sa IoT. Kini tungod sa kagaan ug katulin niini kumpara sa HTTP ug ang kamatuoran nga kini usa ka usa-sa-daghan nga protocol kaysa usa-sa-usa (HTTP).

Daghang modernong mga aplikasyon sa web ang malipayong mogamit sa MQTT imbes sa HTTP kon kini anaa sa panahon sa ilang pag-uswag.

Usa ka maayong pananglitan mao ang pagpadala og impormasyon ngadto sa daghang mga kliyente, sama sa pag-abot ug pagbiya sa mga tren/bus/eroplano. Niini nga senaryo, ang usa-sa-usa nga protocol sama sa HTTP adunay daghang overhead ug nagbutang og daghang load sa mga web server. Ang pag-scale niini nga mga web server mahimong lisud. Uban sa MQTT, ang mga kliyente nagkonektar sa usa ka broker, nga dali nga madugang alang sa pagbalanse sa load. Tan-awa ang video tutorial bahin niini Imantala pag-usab ang HTML nga Data Labaw sa MQTT (Ehemplo sa Pag-abot sa Paglupad) ug artikulo MQTT vs HTTP alang sa IOT.

Uban pang mga protocol sa pagmemensahe

Ang HTTP wala gidesinyo alang sa IoT nga mga aplikasyon, apan sama sa nahisgotan, kini kaylap nga gamiton sulod sa pipila ka panahon tungod sa kaylap nga paggamit niini sa API.

Hapit tanan nga mga platform sa IoT nagsuporta sa HTTP ug MQTT.

Bisan pa, adunay ubang mga protocol nga angay ikonsiderar.

Mga protokol

  • MQTT - (Pagpila sa Mensahe sa Telemetry Transport). Gigamit ang TCP/IP. Ang modelo sa pag-publish-subscribe nanginahanglan usa ka broker sa mensahe.

  • AMQP - (Advanced nga Message Queuing Protocol). Gigamit ang TCP/IP. Publisher-Subscriber ug Point-to-Point nga mga Modelo.

  • COAP - (Gipugngan nga Application Protocol). Gigamit ang UDP. Gidisenyo nga espesipiko alang sa IoT, naggamit sa modelo nga tubag sa hangyo sama sa HTTP. RFC 7252.

  • DDS - (Data Distribution Service) 

Niini artikulo ang mga nag-unang protocol ug ang ilang mga aplikasyon gikonsiderar. Ang konklusyon niini nga artikulo mao nga ang IoT mogamit usa ka hugpong sa mga protocol, depende sa ilang gituyo nga paggamit.

Apan, sa paghinumdom, sa unang mga tuig sa Internet, ang HTTP protocol nga mahimong dominante usa lang sa daghang mga protocol.

Bisan kung ang HTTP dili orihinal nga gipanamkon alang sa pagbalhin sa file ug email, karon gigamit kini alang sa duha.

Gipaabut nako ang parehas nga butang nga mahitabo sa mga protocol sa pagmemensahe sa IoT: kadaghanan sa mga serbisyo mogamit usa ka nag-una nga protocol.

Sa ubos mao ang mga tsart sa Google Trends nga nagpakita kung giunsa ang pagkapopular sa MQTT, COAP ug AMQP nausab sa miaging pipila ka tuig.

Overview sa Google Trends 

Overview sa Networking ug Messaging Protocols para sa IoT

Suporta sa protocol pinaagi sa plataporma

  • Microsoft Azure - MQTT, AMQP, HTTP ug HTTPS

  • AWS - MQTT, HTTPS, MQTT sa mga websocket

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Thingworx β€” MQTT, HTTPS, MQTT, AMQP

Sumaryo

Kadaghanan sa mga pagbag-o naa sa channel (level 1 ug 2) ug lebel sa aplikasyon (level 4).

Ang network ug transport layer lagmit nga magpabilin nga wala mausab.

Sa layer sa aplikasyon, ang mga sangkap sa IoT mogamit mga protocol sa pagmemensahe. Samtang naa pa kita sa sayo nga yugto sa pag-uswag sa IoT, lagmit nga usa o tingali duha nga mga protocol sa pagmemensa ang mogawas.

Sa milabay nga pipila ka mga tuig, ang MQTT nahimong labing inila, ug diha niini nga ako karon nagtutok niini nga site.

Ang HTTP magpadayon usab nga gamiton tungod kay maayo na kini nga pagkatukod sa mga naa na nga platform sa IoT.

Mao ra. Kami nagdapit kanimo sa pag-sign up alang sa usa ka libre nga demo nga leksyon sa hilisgutan "Chatbot alang sa dali nga mga mando sa aparato".

Basaha ang dugang pa:

Source: www.habr.com

Idugang sa usa ka comment