IoT uchun tarmoq va xabar almashish protokollariga umumiy nuqtai

Salom, Xabrovitlar! Rossiyadagi birinchi onlayn kurs IoT dasturchisi oktyabr oyida OTUSda ishga tushiriladi. Kursga ro'yxatdan o'tish hozirda ochiq, shu munosabat bilan biz siz bilan foydali materiallarni baham ko'rishda davom etamiz.

IoT uchun tarmoq va xabar almashish protokollariga umumiy nuqtai

Narsalar Interneti (IoT, Internet of Things) mavjud tarmoq infratuzilmasi, texnologiyalar va protokollar asosida quriladi va hozirda uylar/ofislar va Internetda qo'llaniladi va yana ko'p narsalarni taklif qiladi.

Ushbu qo'llanmaning maqsadi tarmoq va IoT uchun dastur protokollari haqida qisqacha ma'lumot berishdir.

Eslatma. Siz bilimga ega bo'lishingiz kerak tarmoq texnologiyalari asoslari.

IoT tarmoqlari

IoT mavjud TCP/IP tarmoqlarida ishlaydi.

TCP/IP har bir qatlamda maxsus protokollarga ega bo'lgan to'rt qavatli modeldan foydalanadi. Sm. TCP/IP 4 qatlam modelini tushunish (biz TCP / IP ning to'rt qavatli modelini tushunamiz).

Quyidagi diagrammada hozirda foydalanilayotgan va IoT uchun ishlatilishi mumkin bo'lgan protokollarning taqqoslanishi ko'rsatilgan.

IoT uchun tarmoq va xabar almashish protokollariga umumiy nuqtai

Diagramma qaydlari:

  1. Shrift o'lchami protokolning mashhurligini ko'rsatadi. Masalan, chap tomonda IPv4 kattaroq, chunki u zamonaviy Internetda ancha mashhur. Biroq, u o'ng tomonda kichikroq, chunki IPv6 IoTda ko'proq mashhur bo'lishi kutilmoqda.

  2. Barcha protokollar ko'rsatilmagan.

  3. Barcha o'zgarishlarning aksariyati kanal (1 va 2 darajalar) va dastur darajalarida (4 daraja).

  4. Tarmoq va transport qatlamlari o'zgarishsiz qolishi mumkin.

Bog'lanish qatlami protokollari

Ma'lumotlar havolasi darajasida (Data Link) siz qurilmalarni bir-biriga ulashingiz kerak. Ular, masalan, mahalliy tarmoqlarda (mahalliy tarmoqlar) ham, bir-biridan katta masofada ham yaqin bo'lishi mumkin: shahar (metropoliya tarmoqlari) va global tarmoqlarda (keng tarmoqli).

Hozirgi vaqtda ushbu darajada uy va ofis tarmoqlari (LAN) Ethernet va Wi-Fi dan, mobil (WAN) 3G / 4G dan foydalanadi. Biroq, ko'pgina IoT qurilmalari sensorlar kabi kam quvvatga ega va faqat batareyalardan quvvatlanadi. Bunday hollarda Ethernet mos kelmaydi, lekin kam quvvatli Wi-Fi va kam quvvatli Bluetooth dan foydalanish mumkin.

Mavjud simsiz texnologiyalar (Wi-Fi, Bluetooth, 3G/4G) ushbu qurilmalarni ulash uchun foydalanishda davom etsa-da, mashhurligi oshishi mumkin bo'lgan IoT ilovalari uchun maxsus ishlab chiqilgan yangi texnologiyalarni ko'rib chiqishga arziydi.

Ular orasida:

  • BLE - Bluetooth past energiya

  • LoRaWAN - Uzoq masofali WAN

  • SigFox

  • LTE-M

Ular maqolada batafsil tavsiflangan. IOT simsiz texnologiyalariga umumiy nuqtai (simsiz IoT texnologiyalariga umumiy nuqtai).

tarmoq qatlami

Tarmoq darajasida (Networking) protokol uzoq muddatda ustunlik qiladi IPv6. IPv4 dan foydalanilishi dargumon, lekin u dastlabki bosqichlarda rol o'ynashi mumkin. Aqlli lampochkalar kabi uy IoT qurilmalarining aksariyati hozirda IPv4 dan foydalanadi.

transport qatlami 

Transport darajasida (Transport) Internet va Internetda TCP ustunlik qiladi. U HTTP va boshqa ko'plab mashhur Internet protokollarida (SMTP, POP3, IMAP4 va boshqalar) ishlatiladi.

Men xabar almashish uchun asosiy dastur qatlami protokollaridan biriga aylanishini kutayotgan MQTT hozirda TCP dan foydalanmoqda.

Biroq, kelajakda, kamroq qo'shimcha xarajatlar tufayli, men UDP IoT uchun yanada mashhur bo'lishini kutaman. Ehtimol, kengroq tarqalgan MQTT-SN, UDP orqali ishlaydi. Taqqoslash maqolasiga qarang TCP va UDP .

Ilova qatlami va xabar almashish protokollari

IoT protokollari uchun muhim xususiyatlar:

  • Tezlik - soniyada uzatiladigan ma'lumotlar miqdori.

  • Kechikish - bu xabar yuborish uchun ketadigan vaqt.

  • Quvvat iste'moli.

  • Xavfsizlik.

  • Dasturiy ta'minotning mavjudligi.

Hozirgi vaqtda ushbu darajada ikkita asosiy protokol faol qo'llaniladi: HTTP va MQTT.

HTTP, ehtimol, veb (WWW) asosidagi ushbu darajadagi eng mashhur protokoldir. Bu IoT uchun muhim bo'lib qoladi, chunki u veb-ilovalar va xizmatlar o'rtasidagi o'zaro aloqaning asosiy mexanizmi - REST API uchun ishlatiladi. Biroq, yuqori xarajatlar tufayli HTTP asosiy IoT protokoliga aylanishi dargumon, garchi u hali ham Internetda keng qo'llaniladi.

MQTT (Message Queuing Telemetry Transport) yengilligi va foydalanish qulayligi tufayli IoTda asosiy xabar almashish protokoliga aylandi. Maqolaga qarang Yangi boshlanuvchilar uchun MQTT ga kirish (Yangi boshlanuvchilar uchun MQTTga kirish).

IoT uchun HTTP va MQTT solishtirish

MQTT tezlik bilan IoT ilovalari uchun de-fakto standartga aylanmoqda. Bu HTTP bilan solishtirganda uning engilligi va tezligi va birdan birga (HTTP) emas, balki birdan ko'p protokol ekanligi bilan bog'liq.

Ko'pgina zamonaviy veb-ilovalar, agar ular ishlab chiqish vaqtida mavjud bo'lsa, HTTP o'rniga MQTT dan mamnun bo'lar edi.

Poezdlar/avtobuslar/samolyotlarning kelishi va jo‘nashlari kabi bir nechta mijozlarga ma’lumotlarni yuborish yaxshi misoldir. Ushbu stsenariyda HTTP kabi birma-bir protokol juda ko'p yuklarga ega va veb-serverlarga juda ko'p yuk beradi. Ushbu veb-serverlarni masshtablash qiyin bo'lishi mumkin. MQTT yordamida mijozlar yukni muvozanatlash uchun osongina qo'shilishi mumkin bo'lgan brokerga ulanadi. Bu haqda video darslikni tomosha qiling MQTT orqali HTML ma'lumotlarini qayta nashr qilish (parvoz kelishiga misol) va maqola IOT uchun MQTT va HTTP.

Boshqa xabar almashish protokollari

HTTP IoT ilovalari uchun mo'ljallanmagan, ammo aytib o'tilganidek, u keng tarqalgan bo'lib qo'llanilishi tufayli bir muncha vaqt davomida keng qo'llaniladi. API.

Deyarli barcha IoT platformalari HTTP va MQTT-ni qo'llab-quvvatlaydi.

Biroq, ko'rib chiqishga arziydigan boshqa protokollar mavjud.

Protokollar

  • MQTT - (Message Queuing Telemetry Transport). TCP/IP dan foydalanadi. Nashr qilish-obuna bo'lish modeli xabarlar brokerini talab qiladi.

  • AMQP - (Kengaytirilgan xabarlar navbati protokoli). TCP/IP dan foydalanadi. Nashriyotchi-obunachi va nuqtadan nuqtaga modellar.

  • COAP - (Cheklangan dastur protokoli). UDP dan foydalanadi. IoT uchun maxsus ishlab chiqilgan, HTTP-dagi kabi so'rov-javob modelidan foydalanadi. QRM 7252.

  • DDS - (Ma'lumotlarni tarqatish xizmati) 

Bunda maqola asosiy protokollar va ularning ilovalari ko'rib chiqiladi. Ushbu maqolaning xulosasi shundaki, IoT ulardan foydalanish maqsadiga qarab bir qator protokollardan foydalanadi.

Biroq, orqaga qarab, Internetning dastlabki yillarida dominant bo'ladigan HTTP protokoli ko'plab protokollardan biri edi.

HTTP dastlab fayl va elektron pochtani uzatish uchun ishlab chiqilmagan bo'lsa-da, bugungi kunda u ikkalasi uchun ham qo'llaniladi.

Xuddi shu narsa IoT-dagi xabar almashish protokollari bilan sodir bo'lishini kutaman: aksariyat xizmatlar bitta ustun protokoldan foydalanadi.

Quyida so'nggi bir necha yil ichida MQTT, COAP va AMQP mashhurligi qanday o'zgarganini ko'rsatadigan Google Trends jadvallari keltirilgan.

Google trendlariga umumiy nuqtai 

IoT uchun tarmoq va xabar almashish protokollariga umumiy nuqtai

Platforma tomonidan protokolni qo'llab-quvvatlash

  • Microsoft Azure - MQTT, AMQP, HTTP va HTTPS

  • AWS - MQTT, HTTPS, MQTT veb-soketlar orqali

  • IBM Bluemix - MQTT, HTTPS, MQTT

  • Thingvorx — MQTT, HTTPS, MQTT, AMQP

Xulosa

Barcha o'zgarishlarning aksariyati kanal (1 va 2 darajalar) va dastur darajalarida (4 daraja).

Tarmoq va transport qatlamlari o'zgarishsiz qolishi mumkin.

Ilova sathida IoT komponentlari xabar almashish protokollaridan foydalanadi. Biz hali IoT rivojlanishining dastlabki bosqichida ekanmiz, ehtimol bir yoki ikkita xabar almashish protokoli ajralib turishi mumkin.

So'nggi bir necha yil ichida MQTT eng ommabop bo'ldi va men hozir ushbu saytga e'tibor qaratmoqdaman.

HTTP ham foydalanishda davom etadi, chunki u allaqachon mavjud IoT platformalarida yaxshi o'rnatilgan.

Ana xolos. Sizni mavzu bo'yicha bepul demo darsiga yozilishni taklif qilamiz "Qurilmaga tezkor buyruqlar uchun chatbot".

Ko'proq o'qish:

Manba: www.habr.com

a Izoh qo'shish