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:

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í

  1. 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
    
  2. Otevřete ukázkový pracovní prostor v XCode.

    open "MQTT Client Sample.xcworkspace"
    
  3. Rozbalte projekt MQTT Client Sample a pak složku se stejným názvem.

  4. Otevřete soubor ViewController.swift pro úpravy v XCode.

  5. Vyhledejte proměnnou connectionString a aktualizujte hodnotu připojovacím řetězcem zařízení, který jste zkopírovali v prvním kroku.

  6. Uložte provedené změny.

  7. Spusťte projekt v emulátoru zařízení pomocí tlačítka Build and run (Sestavit a spustit) nebo kombinace kláves command + r.

    Snímek obrazovky znázorňující tlačítko Sestavit a spustit v emulátoru zařízení

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í.

  1. 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.

    Zobrazení ukázkové aplikace zařízení IoT

  2. V Azure Portal přejděte do centra IoT.

  3. Na stránce Zařízení vyberte ID zařízení pro simulované zařízení IoT.

  4. Výběrem možnosti Zpráva do zařízení otevřete rozhraní zpráv cloud-zařízení.

  5. Do textového pole Text zprávy napište zprávu ve formátu prostého textu a pak vyberte Odeslat zprávu.

  6. 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:

    Zobrazení zpráv z cloudu do zařízení

Další kroky

V tomto článku jste zjistili, jak odesílat a přijímat zprávy z cloudu do zařízení.