Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
IoT Hub umožňuje zařízením používat pro komunikaci na straně zařízení následující protokoly:
- MQTT
- MQTT přes WebSockets
- Rozšířený protokol řízení front zpráv (AMQP)
- AMQP přes WebSockets
- HTTPS
Note
IoT Hub poskytuje omezenou podporu funkcí pro MQTT. Pokud vaše řešení potřebuje podporu MQTT v3.1.1 nebo v5, podívejte se na přehled funkce zprostředkovatele MQTT ve službě Azure Event Grid. Další informace najdete v části Porovnání podpory MQTT ve službě IoT Hub a Event Grid. Viz Komunikace s centrem IoT pomocí protokolu MQTT.
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:
| Protocol | 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 |
Používejte místní a cloudové brány k využití multiplexování připojení pro zařízení. |
| 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 server push. 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. Zasílání více požadavků přes HTTPS vede k omezování těchto požadavků ve službě IoT Hub. MQTT a AMQP podporují serverové push při přijímání zpráv z cloudu do 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 tyto protokoly nejsou podporovány ve scénářích field gateway, které vyžadují multiplexování zpráv pomocí více identit zařízení, a to buď na jednom připojení, nebo ve fondu připojení k upstreamu 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ší paměťovou náročnost než knihovny AMQP. Pokud například zařízení poskytuje 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.
Warning
Pokud zařízení používají protokol HTTPS, každé zařízení by mělo zasílat dotazy na zprávy z cloudu do 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.
Čísla portů
Zařízení můžou komunikovat se službou IoT Hub v Azure pomocí různých protokolů. Konkrétní požadavky řešení obvykle určují volbu protokolu. 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:
| Protocol | 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é postupyIP 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.