ΠžΠ±Π·ΠΎΡ€ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями для IoT

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Ρ…Π°Π±Ρ€ΠΎΠ²Ρ‡Π°Π½Π΅! ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π² России ΠΎΠ½Π»Π°ΠΉΠ½-курс IoT-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ΅Ρ‚ Π² OTUS ΡƒΠΆΠ΅ Π² октябрС. ΠŸΡ€ΡΠΌΠΎ сСйчас ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π½Π°Π±ΠΎΡ€ Π½Π° курс, Π² связи с Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π²Π°ΠΌΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ.

ΠžΠ±Π·ΠΎΡ€ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями для IoT

Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π²Π΅Ρ‰Π΅ΠΉ (IoT, Internet of Things) Π±ΡƒΠ΄Π΅Ρ‚ построСн Π½Π° Π±Π°Π·Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сСтСвой инфраструктуры, Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² настоящСС врСмя Π² Π΄ΠΎΠΌΠ°Ρ…/офисах ΠΈ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

ЦСль Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства β€” Π΄Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ сСтСвых ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² для IoT.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π£ вас Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ знания основ сСтСвых Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

IoT-сСти

IoT Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… TCP/IP-сСтях.

TCP/IP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ модСль с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π‘ΠΌ. understanding the TCP/IP 4 layer model (разбираСмся с Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ модСлью TCP/IP).

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ сравнСниС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² настоящСС врСмя, ΠΈ Ρ‚Π΅Ρ… Ρ‡Ρ‚ΠΎ, скорСС всСго, Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для IoT.

ΠžΠ±Π·ΠΎΡ€ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями для IoT

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΊ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅:

  1. Π Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ популярности ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. НапримСр, слСва IPv4 большС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π³ΠΎΡ€Π°Π·Π΄ΠΎ популярнСС Π² соврСмСнном Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Однако справа ΠΎΠ½ мСньшС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ оТидаСтся, Ρ‡Ρ‚ΠΎ IPv6 Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ популярным Π² IoT.

  2. ΠŸΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ всС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹.

  3. Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° канальном (ΡƒΡ€ΠΎΠ²Π½ΠΈ 1 ΠΈ 2) ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ уровнях (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 4).

  4. Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ ΠΈ транспортный ΡƒΡ€ΠΎΠ²Π½ΠΈ, скорСС всСго, останутся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ канального уровня

На канальном ΡƒΡ€ΠΎΠ²Π½Π΅ (Data Link) Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ устройства ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Они ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях (local networks) Ρ‚Π°ΠΊ ΠΈ Π½Π° большом расстоянии Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°: Π² городских (metropolitan area networks) ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… сСтях (wide area networks).

Π’ настоящСС врСмя Π½Π° этом ΡƒΡ€ΠΎΠ²Π½Π΅ Π² Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΈ офисных сСтях (LAN) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ethernet ΠΈ Wi-Fi, Π° Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… (WAN) β€” 3G / 4G. Однако ΠΌΠ½ΠΎΠ³ΠΈΠ΅ IoT-устройства ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, ΠΈ ΠΏΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉ. Π’ этих случаях Ethernet Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ low powered Wi-Fi ΠΈ low powered Bluetooth.

Π₯отя для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этих устройств ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ бСспроводныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Wi-Fi, Bluetooth, 3G / 4G), стоит Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ для IoT-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΠΎ всСй вСроятности, Π±ΡƒΠ΄Π΅Ρ‚ расти.

Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ…:

  • BLE – Bluetooth Low Energy

  • LoRaWAN – Long Range WAN

  • SigFox

  • LTE-M

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ½ΠΈ описаны Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ An overview of IOT wireless technologies (ΠΎΠ±Π·ΠΎΡ€ бСспроводных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ IoT).

Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ

На сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅ (Networking) Π² долгосрочной пСрспСктивС Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» IPv6. ΠœΠ°Π»ΠΎΠ²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ IPv4, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… этапах. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ IoT-устройств для Π΄ΠΎΠΌΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΌΠ½Ρ‹Π΅ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠΈ, Π² настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ IPv4.

Вранспортный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 

На транспортном ΡƒΡ€ΠΎΠ²Π½Π΅ (Transport) Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΈ Π²Π΅Π±Π΅ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ TCP. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π² HTTP, Ρ‚Π°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… популярных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ… Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° (SMTP, POP3, IMAP4 ΠΈ Ρ‚. Π΄.).

MQTT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ я оТидаю, станСт ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ уровня для ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями, Π² настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ TCP.

Однако Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΈΠ·-Π·Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΡ… Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов, я оТидаю, Ρ‡Ρ‚ΠΎ UDP Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ популярСн для IoT. ВСроятно, Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ распространСниС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ MQTT-SN, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ… UDP. Π‘ΠΌ. ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎ сравнСнии TCP vs UDP .

ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями

Π’Π°ΠΆΠ½Ρ‹Π΅ характСристики для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² IoT:

  • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ β€” количСство ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² сСкунду.

  • Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° β€” врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСния.

  • ΠŸΠΎΡ‚Ρ€Π΅Π±Π»ΡΠ΅ΠΌΠ°Ρ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ.

  • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ.

  • НаличиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств.

Π’ настоящСС врСмя Π½Π° этом ΡƒΡ€ΠΎΠ²Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° основных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°: HTTP ΠΈ MQTT.

HTTP, вСроятно, самый извСстный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» этого уровня, Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π² основС Π²Π΅Π±Π° (WWW). Он ΠΏΠΎ ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для IoT, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для REST API β€” основного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° взаимодСйствия Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сСрвисов. Однако, ΠΈΠ·-Π·Π° высоких Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов, HTTP вряд Π»ΠΈ станСт основным ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ IoT, хотя всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

MQTT (Message Queuing Telemetry Transport) стал основным ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π² IoT, благодаря своСй лСгкости ΠΈ простотС Π² использовании. Π‘ΠΌ. ΡΡ‚Π°Ρ‚ΡŒΡŽ Introduction to MQTT for beginners (Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² MQTT для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…).

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ HTTP ΠΈ MQTT для IoT

MQTT быстро становится стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для IoT-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° Π΅Π³ΠΎ лСгкости ΠΈ скорости ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с HTTP ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ являСтся ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ «ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ», Π° Π½Π΅ «ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ» (HTTP).

МногиС соврСмСнныС Π²Π΅Π±-прилоТСния, с Ρ€Π°Π΄ΠΎΡΡ‚ΡŒΡŽ использовали Π±Ρ‹ MQTT вмСсто HTTP, Ссли Π±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» доступСн Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ мноТСству ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎ ΠΏΡ€ΠΈΠ±Ρ‹Ρ‚ΠΈΠΈ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΅Π·Π΄ΠΎΠ² / автобусов / самолСтов. Π’ этом сцСнарии ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» «ΠΎΠ΄ΠΈΠ½-ΠΊ-ΠΎΠ΄Π½ΠΎΠΌΡƒ», Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ HTTP, ΠΈΠΌΠ΅Π΅Ρ‚ большиС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΈ создаСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π²Π΅Π±-сСрвСры. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этих Π²Π΅Π±-сСрвСров ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΎ. Π‘ MQTT ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊ Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ для балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΎΠ± этом Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» с Π²ΠΈΠ΄Π΅ΠΎ Republish HTML Data Over MQTT (Flight Arrivals Example) ΠΈ ΡΡ‚Π°Ρ‚ΡŒΡŽ MQTT vs HTTP for IOT.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями

HTTP Π½Π΅ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для IoT-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ благодаря Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ использованию Π² API.

ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ IoT ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ HTTP, Ρ‚Π°ΠΊ ΠΈ MQTT.

Однако Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹

  • MQTT β€” (Message Queuing Telemetry Transport). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ TCP/IP. Для ΠΌΠΎΠ΄Π΅Π»ΠΈ «ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ-подписчик» трСбуСтся Π±Ρ€ΠΎΠΊΠ΅Ρ€ сообщСний.

  • AMQP β€” (Advanced Message Queuing Protocol). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ TCP/IP. МодСли «ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ-подписчик» ΠΈ «Ρ‚ΠΎΡ‡ΠΊΠ°-Ρ‚ΠΎΡ‡ΠΊΠ°».

  • COAP β€” (Constrained Application Protocol). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ UDP. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для IoT, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ модСль запроса-ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΊΠ°ΠΊ Π² HTTP. RFC 7252.

  • DDS β€” (Data Distribution Service) 

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ основныС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈ ΠΈΡ… примСнСния. Π’Ρ‹Π²ΠΎΠ΄ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ IoT Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Π² зависимости ΠΎΡ‚ ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ примСнСния.

Однако, Ссли ΠΎΠ³Π»ΡΠ½ΡƒΡ‚ΡŒΡΡ Π½Π°Π·Π°Π΄, Π² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π³ΠΎΠ΄Ρ‹ сущСствования Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HTTP,  впослСдствии ΡΡ‚Π°Π²ΡˆΠΈΠΉ Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ, Π±Ρ‹Π» всСго лишь ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· мноТСства ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ².

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ HTTP Π½Π΅ Π±Ρ‹Π» ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°Π΄ΡƒΠΌΠ°Π½ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, сСгодня ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ для Ρ‚ΠΎΠ³ΠΎ ΠΈ для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

Π― оТидаю, Ρ‡Ρ‚ΠΎ Π² IoT с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сСрвисов Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Google Trends, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅, ΠΊΠ°ΠΊ измСнялась ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ MQTT, COAP ΠΈ AMQP Π·Π° послСдниС нСсколько Π»Π΅Ρ‚.

ΠžΠ±Π·ΠΎΡ€ Google Trends 

ΠžΠ±Π·ΠΎΡ€ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями для IoT

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌ

  • Microsoft Azure β€” MQTT, AMQP, HTTP ΠΈ HTTPS

  • AWS β€” MQTT, HTTPS, MQTT over websockets

  • IBM Bluemix – MQTT,HTTPS,MQTT

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

РСзюмС

Π‘ΠΎΠ»ΡŒΡˆΠ΅ всСго ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° канальном (ΡƒΡ€ΠΎΠ²Π½ΠΈ 1 ΠΈ 2) ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ уровнях (ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 4).

Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ ΠΈ транспортный ΡƒΡ€ΠΎΠ²Π½ΠΈ, скорСС всСго, останутся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.

На ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ IoT Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями. Π₯отя ΠΌΡ‹ всС Π΅Ρ‰Π΅ находимся Π½Π° Ρ€Π°Π½Π½Π΅ΠΌ этапС развития IoT, Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, Ρ‡Ρ‚ΠΎ выдСлится ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π²Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями.

Π—Π° послСдниС нСсколько Π»Π΅Ρ‚ MQTT стал самым популярным, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° Π½Π΅ΠΌ я сСйчас Ρ„ΠΎΠΊΡƒΡΠΈΡ€ΡƒΡŽΡΡŒ Π½Π° этом сайтС.

HTTP Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡƒΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ встроСн Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ IoT-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

На этом всС. ΠŸΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ вас Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° бСсплатный Π΄Π΅ΠΌΠΎ ΡƒΡ€ΠΎΠΊ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅ «Π§Π°Ρ‚-Π±ΠΎΡ‚ для быстрых ΠΊΠΎΠΌΠ°Π½Π΄ устройству».

Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com