Sdílet prostřednictvím


Volba komunikačního protokolu zařízení

IoT Hub umožňuje zařízením používat ke komunikaci ze strany zařízení následující protokoly:

Poznámka:

IoT Hub má omezenou podporu funkcí pro MQTT. Pokud vaše řešení potřebuje podporu MQTT v3.1.1 nebo v5, doporučujeme podporu MQTT ve službě Azure Event Grid. Další informace najdete v tématu Porovnání podpory MQTT ve službě IoT Hub a Event Gridu.

Informace o tom, jak tyto protokoly podporují konkrétní funkce služby IoT Hub, najdete v pokynech ke komunikaci typu zařízení-cloud a pokyny ke komunikaci typu Cloud-zařízení.

Následující tabulka obsahuje základní doporučení pro váš výběr protokolu:

Protokol Kdy byste měli zvolit tento protokol
MQTT
MQTT přes WebSockets
Používá se na všech zařízeních, která nevyžadují připojení k více zařízením, z nichž každý má svoje vlastní přihlašovací údaje pro každé zařízení přes stejné připojení TLS.
AMQP
AMQP přes WebSockets
Pomocí polí a cloudových bran můžete využívat multiplexování připojení mezi zařízeními.
HTTPS Používá se pro zařízení, která nepodporují jiné protokoly.

Při výběru protokolu pro komunikaci na straně zařízení zvažte následující body:

  • Model cloud-zařízení HTTPS nemá efektivní způsob implementace serverových nabízených oznámení. Pokud například používáte PROTOKOL HTTPS, zařízení se do IoT Hubu dotazují na zprávy typu cloud-zařízení. Tento přístup je pro zařízení i IoT Hub neefektivní. V aktuálních pokynech HTTPS by se každé zařízení mělo dotazovat na zprávy každých 25 minut nebo déle. Vydání dalšího protokolu HTTPS přijímá výsledky omezování požadavků ve službě IoT Hub. MQTT a AMQP podporují nabízení serverů při přijímání zpráv typu cloud-zařízení. Umožňují okamžité nasdílení zpráv ze služby IoT Hub do zařízení. Pokud je latence doručení problém, MQTT nebo AMQP jsou nejlepší protokoly, které se mají použít. U zřídka připojených zařízení funguje i HTTPS.

  • Brány polí. MQTT a HTTPS podporují pouze jednu identitu zařízení (ID zařízení plus přihlašovací údaje) na připojení TLS. Z tohoto důvodu se tyto protokoly nepodporují ve scénářích brány polí, které vyžadují multiplexingové zprávy pomocí více identit zařízení, a to buď v jednom připojení, nebo ve fondu upstreamových připojení ke službě IoT Hub. Tyto brány můžou pro nadřazený provoz používat protokol, který podporuje více identit zařízení na připojení, jako je AMQP.

  • Zařízení s nízkými prostředky Knihovny MQTT a HTTPS mají menší nároky než knihovny AMQP. Pokud má zařízení omezené prostředky (například méně než 1 MB paměti RAM), můžou být tyto protokoly jedinou dostupnou implementací protokolu.

  • Procházení sítě. Standardní protokol AMQP používá port 5671 a MQTT naslouchá na portu 8883. Použití těchto portů může způsobit problémy v sítích, které jsou zavřené pro protokoly jiného typu než HTTPS. V tomto scénáři použijte MQTT přes WebSockets, AMQP přes WebSockets nebo HTTPS.

  • Velikost datové části MQTT a AMQP jsou binární protokoly, což vede k kompaktnějším datovým částem než HTTPS.

Upozorňující

Při použití protokolu HTTPS by se každé zařízení mělo dotazovat na zprávy typu cloud-zařízení maximálně jednou za 25 minut. Při vývoji se každé zařízení může v případě potřeby dotazovat častěji.

Důležité

Následující funkce pro zařízení, která používají ověřování certifikační autority X.509, ještě není všeobecně dostupná a musí být povolený režim Preview:

  • HTTPS, MQTT přes WebSockets a AMQP přes protokoly WebSockets.
  • Nahrávání souborů (všechny protokoly)

Tyto funkce jsou obecně dostupné na zařízeních, která používají ověřování kryptografického otisku X.509. Další informace o ověřování X.509 ve službě IoT Hub najdete v tématu Podporované certifikáty X.509.

Čísla portů

Zařízení můžou komunikovat se službou IoT Hub v Azure pomocí různých protokolů. Volba protokolu se obvykle řídí konkrétními požadavky řešení. Následující tabulka uvádí odchozí porty, které musí být otevřené pro zařízení, aby bylo možné používat konkrétní protokol:

Protokol Port
MQTT 8883
MQTT přes WebSockets 443
AMQP 5671
AMQP přes WebSockets 443
HTTPS 443

IP adresa centra IoT se může bez předchozího upozornění změnit. Informace o tom, jak zmírnit účinky změn IP adres služby IoT Hub na vaše řešení IoT a zařízení, najdete v části Osvědčené postupy IP adres služby IoT Hub.

Další kroky

Další informace o tom, jak IoT Hub implementuje protokol MQTT, najdete v tématu Komunikace se službou IoT Hub pomocí protokolu MQTT.