Snabbstart: Skicka telemetri från en enhet till en IoT-hubb och övervaka den med Azure CLI

IoT Hub är en Azure-tjänst som gör att du kan mata in stora mängder telemetri från IoT-enheter i molnet för lagring eller bearbetning. I den här kodlösa snabbstarten använder du Azure CLI för att skapa en IoT-hubb och en simulerad enhet. Du skickar enhetens telemetri till hubben och skickar meddelanden, anropar metoder och uppdaterar egenskaper på enheten. Du kommer också att använda Azure Portal för att visualisera enhetsmått. Den här artikeln visar ett grundläggande arbetsflöde för utvecklare som använder CLI för att interagera med ett IoT Hub program.

Förutsättningar

  • Om du inte har en Azure-prenumeration skapar du en kostnadsfritt innan du börjar.
  • Azure CLI. Du kan köra alla kommandon i den här snabbstarten med hjälp av Azure Cloud Shell, ett interaktivt CLI-gränssnitt som körs i webbläsaren eller i en app som Windows-terminal. Om du använder Cloud Shell behöver du inte installera något. Om du föredrar att använda CLI lokalt kräver den här snabbstarten Azure CLI version 2.36 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Logga in på Azure Portal

Logga in på Azure-portalen.

Oavsett om du kör CLI lokalt eller i Cloud Shell ska du hålla portalen öppen i webbläsaren. Du använder det senare i den här snabbstarten.

Starta Cloud Shell

I det här avsnittet startar du en instans av Azure Cloud Shell. Om du använder CLI lokalt går du vidare till avsnittet Förbered två CLI-sessioner.

Starta Cloud Shell:

  1. Välj knappen Cloud Shell på menyraden längst upp till höger i Azure Portal.

    knappen Azure Portal Cloud Shell

    Anteckning

    Om det är första gången du använder Cloud Shell uppmanas du att skapa lagring, vilket krävs för att använda Cloud Shell. Välj en prenumeration för att skapa ett lagringskonto och en Microsoft Azure Files-resurs.

  2. Välj önskad CLI-miljö i listrutan Välj miljö . Den här snabbstarten använder Bash-miljön . Du kan också använda PowerShell-miljön .

    Anteckning

    Vissa kommandon kräver olika syntax eller formatering i Bash - och PowerShell-miljöerna . Mer information finns i Tips för att använda Azure CLI.

    Välj CLI-miljö

Förbereda två CLI-sessioner

Därefter förbereder du två Azure CLI-sessioner. Om du använder Cloud Shell kör du dessa sessioner i separata Cloud Shell flikar. Om du använder en lokal CLI-klient kör du separata CLI-instanser. Använd separata CLI-sessioner för följande uppgifter:

  • Den första sessionen simulerar en IoT-enhet som kommunicerar med din IoT-hubb.
  • Den andra sessionen övervakar antingen enheten i den första sessionen eller skickar meddelanden, kommandon och egenskapsuppdateringar.

Om du vill köra ett kommando väljer du Kopiera för att kopiera ett kodblock i den här snabbstarten, klistrar in det i shell-sessionen och kör det.

Azure CLI kräver att du är inloggad på ditt Azure-konto. All kommunikation mellan azure CLI-gränssnittet och din IoT-hubb autentiseras och krypteras. Därför behöver den här snabbstarten inte extra autentisering som du använder med en riktig enhet, till exempel en anslutningssträng.

  • I den första CLI-sessionen kör du kommandot az extension add . Kommandot lägger till Microsoft Azure IoT-tillägget för Azure CLI i CLI-gränssnittet. IOT-tillägget lägger till IoT Hub-, IoT Edge- och IoT Device Provisioning Service-specifika kommandon (DPS) i Azure CLI.

    az extension add --name azure-iot
    

    När du har installerat Azure IOT-tillägget behöver du inte installera det igen i någon Cloud Shell session.

    Anteckning

    Den här artikeln använder den senaste versionen av Azure IoT-tillägget med namnet azure-iot. Den äldre versionen heter azure-cli-iot-ext. Du bör bara ha en version installerad åt gången. Du kan använda kommandot az extension list för att verifiera de för närvarande installerade tilläggen.

    Använd az extension remove --name azure-cli-iot-ext för att ta bort den äldre versionen av tillägget.

    Använd az extension add --name azure-iot för att lägga till den nya versionen av tillägget.

    Om du vill se vilka tillägg som du har installerat använder du az extension list.

  • Öppna den andra CLI-sessionen. Om du använder Cloud Shell i en webbläsare använder du knappen Öppna ny session. Om du använder CLI lokalt öppnar du en andra CLI-instans.

    Öppna ny Cloud Shell session

Skapa en IoT Hub

I det här avsnittet använder du Azure CLI för att skapa en resursgrupp och en IoT-hubb. En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. En IoT-hubb fungerar som en central meddelandehubb för dubbelriktad kommunikation mellan ditt IoT-program och enheterna.

Tips

Du kan också skapa en Azure-resursgrupp, en IoT-hubb och andra resurser med hjälp av Azure Portal, Visual Studio Code eller andra programmatiska metoder.

  1. I den första CLI-sessionen kör du kommandot az group create för att skapa en resursgrupp. Följande kommando skapar en resursgrupp med namnet MyResourceGroup på platsen eastus .

    az group create --name MyResourceGroup --location eastus
    
  2. I den första CLI-sessionen kör du kommandot Az PowerShell-modulen iot hub create för att skapa en IoT-hubb. Det tar några minuter att skapa en IoT-hubb.

    YourIotHubName. Ersätt den här platshållaren och de omgivande klammerparenteserna i följande kommando med det namn du valde för din IoT-hubb. Ett IoT-hubbnamn måste vara globalt unikt i Azure. Använd ditt IoT-hubbnamn i resten av den här snabbstarten var du än ser platshållaren.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Skapa och övervaka en enhet

I det här avsnittet skapar du en simulerad enhet i den första CLI-sessionen. Den simulerade enheten skickar enhetstelemetri till din IoT-hubb. I den andra CLI-sessionen övervakar du händelser och telemetri.

Så här skapar och startar du en simulerad enhet:

  1. I den första CLI-sessionen kör du kommandot az iot hub device-identity create . Det här kommandot skapar den simulerade enhetsidentiteten.

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    simDevice. Du kan använda det här namnet direkt för den simulerade enheten i resten av den här snabbstarten. Du kan också använda ett annat namn.

    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. I den första CLI-sessionen kör du kommandot az iot device simulate . Det här kommandot startar den simulerade enheten. Enheten skickar telemetri till din IoT-hubb och tar emot meddelanden från den.

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

Så här övervakar du en enhet:

  1. I den andra CLI-sessionen kör du kommandot az iot hub monitor-events . Det här kommandot övervakar kontinuerligt den simulerade enheten. Utdata visar telemetri, till exempel händelser och ändringar i egenskapstillståndet som den simulerade enheten skickar till IoT-hubben.

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    Skärmbild av övervakningshändelser på en simulerad enhet.

  2. När du har övervakat den simulerade enheten i den andra CLI-sessionen trycker du på Ctrl+C för att stoppa övervakningen. Håll den andra CLI-sessionen öppen för användning i senare steg.

Använd CLI för att skicka ett meddelande

I det här avsnittet skickar du ett meddelande till den simulerade enheten.

  1. I den första CLI-sessionen bekräftar du att den simulerade enheten fortfarande körs. Om enheten stoppades kör du följande kommando för att starta om den:

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. I den andra CLI-sessionen kör du kommandot az iot device c2d-message send . Det här kommandot skickar ett meddelande från molnet till enheten från din IoT-hubb till den simulerade enheten. Meddelandet innehåller en sträng och två nyckel/värde-par.

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    Du kan också skicka meddelanden från molnet till enheten med hjälp av Azure Portal. Det gör du genom att bläddra till översiktssidan för din IoT Hub, välja IoT-enheter, välja den simulerade enheten och välja Meddelande till enhet.

  3. I den första CLI-sessionen bekräftar du att den simulerade enheten tog emot meddelandet.

    Skärmbild av en simulerad enhet som tar emot ett meddelande.

Använda CLI för att anropa en enhetsmetod

I det här avsnittet anropar du en direktmetod på den simulerade enheten.

  1. Som du gjorde tidigare bekräftar du att den simulerade enheten i den första CLI-sessionen körs. Annars startar du om den.

  2. I den andra CLI-sessionen kör du kommandot az iot hub invoke-device-method . I det här exemplet finns det ingen befintlig metod för enheten. Kommandot anropar ett exempelmetodnamn på den simulerade enheten och returnerar en nyttolast.

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. I den första CLI-sessionen bekräftar du att utdata visar metodanropet.

    Skärmbild av en simulerad enhet som visar utdata efter att en metod anropats.

Använda CLI för att uppdatera enhetsegenskaper

I det här avsnittet uppdaterar du tillståndet för den simulerade enheten genom att ange egenskapsvärden.

  1. Som du gjorde tidigare bekräftar du att den simulerade enheten i den första CLI-sessionen körs. Annars startar du om den.

  2. I den andra CLI-sessionen kör du kommandot az iot hub device-twin update . Det här kommandot uppdaterar egenskaperna till önskat tillstånd på IoT Hub-enhetstvillingen som motsvarar den simulerade enheten. I det här fallet anger kommandot exempel på temperaturvillkorsegenskaper.

    Viktigt

    Om du använder PowerShell i CLI-gränssnittet använder du PowerShell-versionen av kommandot nedan. PowerShell kräver att du tar bort tecknen i JSON-nyttolasten.

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. I den första CLI-sessionen bekräftar du att den simulerade enheten matar ut egenskapsuppdateringen.

    Skärmbild som visar hur du uppdaterar egenskaper på en enhet.

  4. I den andra CLI-sessionen kör du kommandot az iot hub device-twin show . Det här kommandot rapporterar ändringar i enhetsegenskaperna.

    YourIotHubName. Ersätt platshållaren nedan med det namn som du har valt för din IoT-hubb.

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    Skärmbild som visar de uppdaterade egenskaperna för en enhetstvilling.

Visa meddelandemått i portalen

Med Azure Portal kan du hantera alla aspekter av din IoT-hubb och dina enheter. I ett typiskt IoT Hub program som matar in telemetri från enheter kanske du vill övervaka enheter eller visa mått på enhetens telemetri.

Så här visualiserar du meddelandemått i Azure Portal:

  1. I den vänstra navigeringsmenyn i portalen väljer du Alla resurser. På den här fliken visas alla resurser i din prenumeration, inklusive den IoT-hubb som du skapade.

  2. Välj länken på den IoT-hubb som du skapade. Portalen visar översiktssidan för hubben.

  3. Välj Mått i den vänstra rutan i IoT Hub.

    IoT Hub meddelandemått

  4. I fältet Omfång anger du namnet på din IoT-hubb.

  5. I fältet Måttnamnområde väljer du Iot Hub Standard Metrics.

  6. I fältet Mått väljer du Totalt antal meddelanden som används.

  7. Hovra muspekaren över området på tidslinjen där enheten skickade meddelanden. Det totala antalet meddelanden vid en tidpunkt visas i tidslinjens nedre vänstra hörn.

    Visa Azure IoT Hub mått

  8. Du kan också använda listrutan Mått för att visa andra mått på din simulerade enhet. Till exempel har C2d-meddelandeleveranser slutförts eller Totalt antal enheter (förhandsversion).

Rensa resurser

Om du inte längre behöver de Azure-resurser som skapats i den här snabbstarten kan du använda Azure CLI för att ta bort dem.

Om du fortsätter till nästa rekommenderade artikel kan du behålla de resurser som du redan har skapat och återanvända dem.

Viktigt

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser som ingår i den tas bort permanent. Kontrollera att du inte av misstag tar bort fel resursgrupp eller resurser.

Ta bort en resursgrupp med namnet:

  1. Kör kommandot az group delete . Det här kommandot tar bort resursgruppen, IoT-hubben och enhetsregistreringen som du skapade.

    az group delete --name MyResourceGroup
    
  2. Kör kommandot az group list för att bekräfta att resursgruppen har tagits bort.

    az group list
    

Nästa steg

I den här snabbstarten använde du Azure CLI för att skapa en IoT-hubb, skapa en simulerad enhet, skicka och övervaka telemetri, anropa en metod, ange önskade egenskaper och rensa resurser. Du använde Azure Portal för att visualisera meddelandemått på enheten.

Om du är enhetsutvecklare är nästa steg att se snabbstarten för telemetri som använder Azure IoT Device SDK för C. Om du vill kan du läsa någon av de tillgängliga snabbstartsartiklarna Azure IoT Hub telemetri på önskat språk eller SDK.

Om du vill veta hur du kan styra den simulerade enheten från ett serverdelsprogram fortsätter du till nästa snabbstart.