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 till 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-portalen 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. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.
Logga in på Azure-portalen
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 den 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.
Så här startar du Cloud Shell:
Välj knappen Cloud Shell i menyraden längst upp till höger i Azure-portalen.
Kommentar
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.
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.
Kommentar
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.
Förbereda två CLI-sessioner
Därefter förbereder du två Azure CLI-sessioner. Om du använder Cloud Shell kör du de här sessionerna på separata Cloud Shell-flikar. Om du använder en lokal CLI-klient kör du separata CLI-instanser. Använd de separata CLI-sessionerna 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 niska veze.
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 specifika kommandon för IoT Hub, IoT Edge och IoT Device Provisioning Service (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.
Kommentar
Den här artikeln använder den senaste versionen av Azure IoT-tillägget med namnet
azure-iot
. Den äldre versionen kallasazure-cli-iot-ext
. Du bör bara ha en version installerad i taget. Du kan använda kommandotaz extension list
för att verifiera de tillägg som är installerade.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 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.
Skapa en IoT-hubb
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.
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
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 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 Hub-namn 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:
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}
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:
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 egenskapstillståndsändringar 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}
När du har övervakat den simulerade enheten under 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.
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}
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-portalen. Om du vill göra det bläddrar du till översiktssidan för din IoT Hub, väljer IoT-enheter, väljer den simulerade enheten och väljer Meddelande till enhet.
I den första CLI-sessionen bekräftar du att den simulerade enheten tog emot meddelandet.
Använd CLI för att anropa en enhetsmetod
I det här avsnittet anropar du en direktmetod på den simulerade enheten.
Som du gjorde tidigare bekräftar du att den simulerade enheten i den första CLI-sessionen körs. Annars startar du om den.
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}
I den första CLI-sessionen bekräftar du att utdata visar metodanropet.
Använd 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.
Som du gjorde tidigare bekräftar du att den simulerade enheten i den första CLI-sessionen körs. Annars startar du om den.
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 slipper 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}
I den första CLI-sessionen bekräftar du att den simulerade enheten matar ut egenskapsuppdateringen.
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}
Visa meddelandemått i portalen
Med Azure-portalen 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-portalen:
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.
Välj länken på den IoT-hubb som du skapade. Portalen visar översiktssidan för hubben.
Välj Mått i den vänstra rutan i din IoT Hub.
I fältet Omfång anger du namnet på din IoT-hubb.
I fältet Måttnamnområde väljer du Iot Hub Standard Metrics.
I fältet Mått väljer du Totalt antal meddelanden som används.
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.
Du kan också använda listrutan Mått för att visa andra mått på din simulerade enhet. Till exempel slutförda C2d-meddelandeleveranser 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:
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
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-portalen för att visualisera meddelandemått på din enhet.
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 för 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.