Odesílání zpráv z cloudu do zařízení pomocí IoT Hub (iOS)
Azure IoT Hub je plně spravovaná služba, která pomáhá zajistit spolehlivou a zabezpečenou obousměrnou komunikaci mezi miliony zařízení a back-endem řešení.
V tomto článku se dozvíte, jak:
- Příjem zpráv cloud-zařízení (C2D) na zařízení
Na konci tohoto článku spustíte následující projekt Swift pro iOS:
- sample-device: Ukázková aplikace z úložiště Azure IoT Samples for IoS Platform, která se připojuje k centru IoT a přijímá zprávy z cloudu do zařízení.
Poznámka
IoT Hub podporuje sadu SDK pro mnoho platforem a jazyků zařízení (včetně jazyků C, Java, Python a JavaScript) prostřednictvím sad SDK pro zařízení Azure IoT.
Další informace o zprávách z cloudu do zařízení najdete v tématu Odesílání zpráv z cloudu do zařízení ze služby IoT Hub.
Požadavky
Aktivní centrum IoT v Azure.
Ukázka kódu z úložiště Ukázek Azure IoT pro platformu IoS
Nejnovější verze XCode používající nejnovější verzi sady SDK pro iOS. Tento článek byl testován s XCode 9.3 a iOS 11.3.
Nejnovější verze CocoaPods.
Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka zařízení v tomto článku používá protokol MQTT, který komunikuje přes port 8883. Tento port může být v některých podnikových a vzdělávacích síťových prostředích blokovaný. Další informace a způsoby, jak tento problém obejít, najdete v tématu Připojení k IoT Hub (MQTT).
Simulace zařízení IoT
V této části simulujete zařízení s iOSem, na kterém běží aplikace Swift, aby přijímalo zprávy z cloudu do zařízení ze služby IoT Hub.
Instalace CocoaPods
CocoaPods spravuje závislosti pro projekty iOS, které používají knihovny třetích stran.
V okně terminálu přejděte do složky obsahující úložiště, které jste stáhli v rámci požadavků. Pak přejděte do ukázkového projektu:
cd quickstart/sample-device
Ujistěte se, že je XCode zavřené, a pak spuštěním následujícího příkazu nainstalujte CocoaPods deklarované v souboru podfile:
pod install
Kromě instalace požadovaných podů pro váš projekt příkaz k instalaci vytvořil také soubor pracovního prostoru XCode, který je předem nakonfigurovaný tak, aby používal pody pro závislosti.
Spuštění ukázkové aplikace zařízení
Načtěte připojovací řetězec pro vaše zařízení. Tento řetězec můžete zkopírovat z Azure Portal na stránce podrobností o zařízení nebo ho načíst pomocí následujícího příkazu rozhraní příkazového řádku:
az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id {YourDeviceID} --output table
Otevřete ukázkový pracovní prostor v XCode.
open "MQTT Client Sample.xcworkspace"
Rozbalte projekt MQTT Client Sample a pak složku se stejným názvem.
Otevřete soubor ViewController.swift pro úpravy v XCode.
Vyhledejte proměnnou connectionString a aktualizujte hodnotu připojovacím řetězcem zařízení, který jste zkopírovali v prvním kroku.
Uložte provedené změny.
Spusťte projekt v emulátoru zařízení pomocí tlačítka Build and run (Sestavit a spustit) nebo kombinace kláves command + r.
Odeslání zprávy z cloudu do zařízení
Teď jste připraveni přijímat zprávy z cloudu do zařízení. Pomocí Azure Portal odešlete simulovanému zařízení IoT testovací zprávu z cloudu do zařízení.
V ukázkové aplikaci aplikace pro iOS spuštěné na simulovaném zařízení IoT vyberte Spustit. Aplikace začne posílat zprávy ze zařízení do cloudu, ale také začne naslouchat zprávům mezi cloudem a zařízením.
V Azure Portal přejděte do centra IoT.
Na stránce Zařízení vyberte ID zařízení pro simulované zařízení IoT.
Výběrem možnosti Zpráva do zařízení otevřete rozhraní zpráv cloud-zařízení.
Do textového pole Text zprávy napište zprávu ve formátu prostého textu a pak vyberte Odeslat zprávu.
Sledujte, jak aplikace běží na simulovaném zařízení IoT. Zkontroluje zprávy z IoT Hub a vytiskne text z posledního textu na obrazovce. Výstup by měl vypadat jako v následujícím příkladu:
Další kroky
V tomto článku jste zjistili, jak odesílat a přijímat zprávy z cloudu do zařízení.
Další informace o zprávách z cloudu do zařízení najdete v tématu Odesílání zpráv z cloudu do zařízení ze služby IoT Hub.
Další informace o IoT Hub formátech zpráv najdete v tématu Vytváření a čtení IoT Hub zpráv.