Skicka meddelanden från moln till enhet med IoT Hub (iOS)

Azure IoT Hub är en fullständigt hanterad tjänst som möjliggör tillförlitlig och säker dubbelriktad kommunikation mellan miljontals enheter och en serverdelslösning.

Den här artikeln visar hur du:

  • Ta emot C2D-meddelanden (moln-till-enhet) på en enhet

I slutet av den här artikeln kör du följande Swift iOS-projekt:

Anteckning

IoT Hub har SDK-stöd för många enhetsplattformar och språk (inklusive C, Java, Python och JavaScript) via Azure IoT-enhets-SDK:er.

Mer information om meddelanden från molnet till enheten finns i Skicka meddelanden från molnet till enheten från en IoT-hubb.

Förutsättningar

  • En aktiv IoT-hubb i Azure.

  • Kodexemplet från Azure IoT-exempel för IoS Platform-lagringsplatsen.

  • Den senaste versionen av XCode med den senaste versionen av iOS SDK. Den här artikeln har testats med XCode 9.3 och iOS 11.3.

  • Den senaste versionen av CocoaPods.

  • Kontrollera att port 8883 är öppen i brandväggen. Enhetsexemplet i den här artikeln använder MQTT-protokollet, som kommunicerar över port 8883. Den här porten kan blockeras i vissa företags- och utbildningsnätverksmiljöer. Mer information och sätt att kringgå det här problemet finns i Ansluta till IoT Hub (MQTT).

Simulera en IoT-enhet

I det här avsnittet simulerar du en iOS-enhet som kör ett Swift-program för att ta emot meddelanden från molnet till enheten från IoT-hubben.

Installera CocoaPods

CocoaPods hanterar beroenden för iOS-projekt som använder bibliotek från tredje part.

I ett terminalfönster navigerar du till mappen som innehåller den lagringsplats som du laddade ned i förhandskraven. Navigera sedan till exempelprojektet:

cd quickstart/sample-device

Kontrollera att XCode är stängt och kör följande kommando för att installera CocoaPods som deklareras i filen podfile:

pod install

Förutom att installera de poddar som krävs för projektet så skapar även installationskommandot en XCode-arbetsytefil som redan är konfigurerad att använda poddarna för beroenden.

Kör exempelprogrammet för enheten

  1. Hämta anslutningssträngen för enheten. Du kan kopiera strängen från Azure Portal på enhetens informationssida eller hämta den med följande CLI-kommando:

    az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id {YourDeviceID} --output table
    
  2. Öppna exempelarbetsytan i XCode.

    open "MQTT Client Sample.xcworkspace"
    
  3. Expandera MQTT-klientexempelprojektet och sedan mappen med samma namn.

  4. Öppna ViewController.swift för redigering i XCode.

  5. Sök efter variabeln connectionString och uppdatera värdet med enhetsanslutningssträngen som du kopierade i det första steget.

  6. Spara ändringarna.

  7. Kör projektet i enhetsemulatorn med knappen Build and run (Skapa och kör) eller tangentkombinationen command + r.

    Skärmbild som visar knappen Skapa och köra i enhetsemulatorn.

Skicka ett meddelande från moln till enhet

Nu är du redo att ta emot meddelanden från molnet till enheten. Använd Azure Portal för att skicka ett testmeddelande från molnet till enheten till din simulerade IoT-enhet.

  1. I exempelappen för iOS-appen som körs på den simulerade IoT-enheten väljer du Start. Programmet börjar skicka meddelanden från enhet till moln, men börjar också lyssna efter meddelanden från molnet till enheten.

    Visa exempelappen för IoT-enheter

  2. I Azure Portal navigerar du till din IoT-hubb.

  3. På sidan Enheter väljer du enhets-ID för din simulerade IoT-enhet.

  4. Välj Meddelande till enhet för att öppna meddelandegränssnittet från moln till enhet.

  5. Skriv ett klartextmeddelande i textrutan Meddelandetext och välj sedan Skicka meddelande.

  6. Titta på appen som körs på din simulerade IoT-enhet. Den söker efter meddelanden från IoT Hub och skriver ut texten från den senaste på skärmen. Dina utdata bör se ut som i följande exempel:

    Visa meddelanden från moln till enhet

Nästa steg

I den här artikeln har du lärt dig hur du skickar och tar emot meddelanden från molnet till enheten.