Självstudie: Skicka telemetri från en IoT Plug and Play-enhet till Azure IoT Hub

Sökkod

I den här snabbstarten lär du dig ett grundläggande arbetsflöde för Azure IoT-programutveckling. Du använder Azure CLI och IoT Explorer för att skapa en Azure IoT-hubb och en enhet. Sedan använder du ett Azure IoT-enhets-SDK-exempel för att köra en temperaturkontrollant, ansluta den säkert till hubben och skicka telemetri. Temperaturkontrollantens exempelprogram körs på den lokala datorn och genererar simulerade sensordata som ska skickas till IoT Hub.

Förutsättningar

Den här snabbstarten körs i Windows, Linux och Raspberry Pi. Det har testats på följande operativsystem och enhetsversioner:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) version 10, körs på en Raspberry Pi 3 Model B+

Installera följande krav på utvecklingsdatorn förutom när det gäller Raspberry Pi:

  • Om du inte har en Azure-prenumeration skapar du en kostnadsfritt innan du börjar.
  • Git.
  • Azure IoT Explorer: Plattformsoberoende, GUI-baserat verktyg för att övervaka och hantera Azure IoT. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du installerar IoT Explorer på en annan dator. Om du inte vill installera IoT Explorer kan du använda Azure CLI för att utföra samma steg.
  • Azure CLI. Du har två alternativ för att köra Azure CLI-kommandon i den här snabbstarten:
    • Använd Azure Cloud Shell, ett interaktivt gränssnitt som kör CLI-kommandon i webbläsaren. Det här alternativet rekommenderas eftersom du inte behöver installera något. Om du använder Cloud Shell för första gången loggar du in på Azure-portalen. Följ stegen i Kom igång med Azure Cloud Shell för att starta Cloud Shell och välj Bash-miljön.
    • Du kan också köra Azure CLI på din lokala dator. Om Azure CLI redan är installerat kör du az upgrade för att uppgradera CLI och tillägg till den aktuella versionen. Information om hur du installerar Azure CLI finns i Installera Azure CLI. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du använder Azure Cloud Shell eller installerar Azure CLI på en annan dator.

Installera de återstående förutsättningarna för operativsystemet.

Linux- eller Raspberry Pi OS

Om du vill slutföra den här snabbstarten på Linux eller Raspberry Pi OS installerar du följande programvara:

Installera GCC, Git, CMake och de beroenden som krävs med kommandot apt-get :

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

Kontrollera att versionen av CMake är 3.13 eller senare och att versionen av GCC är 4.4.7 eller senare.

cmake --version
gcc --version

Windows

Slutför den här snabbstarten i Windows genom att installera Visual Studio 2022 och lägga till nödvändiga komponenter för C- och C++-utveckling.

  1. För nya användare installerar du Visual Studio (Community, Professional eller Enterprise) 2022. Ladda ned den utgåva som du vill installera och starta installationsprogrammet.

    Kommentar

    För befintliga Visual Studio 2022-användare väljer du Windows Start, skriver Visual Studio Installer, kör installationsprogrammet och väljer sedan Ändra.

  2. På fliken Arbetsbelastningar för installationsprogram väljer du Skrivbordsutveckling med C++-arbetsbelastning.
  3. Kör installationen.

Skapa en IoT-hubb

I det här avsnittet använder du Azure CLI för att skapa en IoT-hubb och en resursgrupp. 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 dina enheter.

Så här skapar du en IoT-hubb och en resursgrupp:

  1. Starta Azure CLI:

    • Om du använder Cloud Shell väljer du knappen Prova på CLI-kommandona för att starta Cloud Shell i ett delat webbläsarfönster. Eller så kan du öppna Cloud Shell på en separat webbläsarflik.
    • Om du använder Azure CLI lokalt öppnar du en konsol som Windows CMD, PowerShell eller Bash och loggar in på Azure CLI.

    Kör CLI-kommandona i resten av den här snabbstarten: kopiera kommandosyntaxen, klistra in den i Cloud Shell-fönstret eller CLI-konsolen, redigera variabelvärden och tryck på Retur.

  2. Kör az extension add för att installera eller uppgradera azure-iot-tillägget till den aktuella versionen.

    az extension add --upgrade --name azure-iot
    
  3. Kör kommandot az group create för att skapa en resursgrupp. Följande kommando skapar en resursgrupp med namnet MyResourceGroup på platsen eastus .

    Kommentar

    Du kan också ange en alternativ plats. Om du vill se tillgängliga platser kör du az account list-locations. I den här självstudien används eastus enligt exempelkommandot.

    az group create --name MyResourceGroup --location eastus
    
  4. Kör kommandot az iot hub create för att skapa en IoT-hubb. Det kan ta 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}
    

    Dricks

    När du har skapat en IoT-hubb använder du Azure IoT Explorer för att interagera med din IoT-hubb i resten av den här snabbstarten. IoT Explorer är ett GUI-program som gör att du kan ansluta till en befintlig IoT Hub och lägga till, hantera och övervaka enheter. Mer information finns i Installera och använda Azure IoT Explorer. Du kan också fortsätta att använda CLI-kommandon.

Konfigurera IoT Explorer

I resten av den här snabbstarten använder du IoT Explorer för att registrera en enhet till din IoT-hubb och för att visa enhetens telemetri. I det här avsnittet konfigurerar du IoT Explorer för att ansluta till den IoT-hubb som du nyss skapade och för att läsa plug and play-modeller från lagringsplatsen för den offentliga modellen.

Kommentar

Du kan också använda Azure CLI för att registrera en enhet. Använd kommandot az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} för att registrera en ny enhet och kommandot az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} för att hämta den primära anslutningssträng för enheten. När du har antecknat enhetens anslutningssträng kan du gå vidare till Kör enhetsexemplet.

Så här lägger du till en anslutning till din IoT-hubb:

  1. Kör kommandot az iot hub connection-string show för att hämta anslutningssträng för din IoT-hubb.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Kopiera anslutningssträng utan omgivande citattecken.

  3. I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.

  4. Klistra in anslutningssträng i rutan Anslut ionssträng.

  5. Välj Spara.

    Skärmbild av att lägga till en anslutning i IoT Explorer

  6. Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .

Så här lägger du till lagringsplatsen för den offentliga modellen:

  1. I IoT Explorer väljer du Start för att återgå till hemvyn.

  2. Välj IoT Plug and Play Inställningar på den vänstra menyn och välj sedan +Lägg till och välj Offentlig lagringsplats på den nedrullningsbara menyn.

  3. En post visas för lagringsplatsen för den offentliga modellen på https://devicemodels.azure.com.

    Skärmbild av att lägga till lagringsplatsen för den offentliga modellen i IoT Explorer

  4. Välj Spara.

Registrera en enhet

I det här avsnittet skapar du en ny enhetsinstans och registrerar den med den IoT-hubb som du skapade. Du använder anslutningsinformationen för den nyligen registrerade enheten för att ansluta enheten på ett säkert sätt i ett senare avsnitt.

Så här registrerar du en enhet:

  1. I hemvyn i IoT Explorer väljer du IoT-hubbar.

  2. Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.

  3. Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.

  4. Välj Skapa.

    Skärmbild av Enhetsidentitet i Azure IoT Explorer

  5. Använd kopieringsknapparna för att kopiera och anteckna fältet Primär anslutningssträng. Du behöver den här anslutningssträng senare.

Kör enhetsexemplet

I det här avsnittet använder du C SDK för att skicka meddelanden från en enhet till din IoT-hubb. Du kör ett exempel som implementerar en temperaturstyrenhet med två termostatsensorer.

Skapa exemplet

  1. Öppna en ny konsol för att installera Azure IoT C-enhetens SDK och kör kodexemplet. För Windows väljer du Start, skriver Developer Command Prompt för VS 2019 och öppnar konsolen. Öppna en terminal för Bash-kommandon för Linux och Raspberry Pi OS.

    Kommentar

    Om du använder en lokal installation av Azure CLI kanske du nu har två konsolfönster öppna. Se till att ange kommandona i det här avsnittet i konsolen som du precis öppnade, inte den som du har använt för CLI.

  2. Gå till en lokal mapp där du vill klona exempelrepo.

  3. Klona Azure IoT C-enhetens SDK till din lokala dator:

    git clone https://github.com/Azure/azure-iot-sdk-c.git
    
  4. Gå till rotmappen för SDK och kör följande kommando för att uppdatera beroenden:

    cd azure-iot-sdk-c
    git submodule update --init
    

    Den här åtgärden tar några minuter.

  5. Kör följande kommandon för att skapa SDK och exempel:

    cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF
    cmake --build cmake
    
  6. Ange följande miljövariabler så att enheten kan ansluta till Azure IoT.

    • Ange en miljövariabel med namnet IOTHUB_DEVICE_CONNECTION_STRING. För variabelvärdet använder du enheten anslutningssträng som du sparade i föregående avsnitt.
    • Ange en miljövariabel med namnet IOTHUB_DEVICE_SECURITY_TYPE. För variabeln använder du strängvärdet connectionStringliteral .

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Kommentar

    För Windows CMD finns det inga citattecken kring strängvärdena för varje variabel.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    

Kör koden

  1. Kör exempelkoden med lämpligt kommando för konsolen.

    CMD

    cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
    

    Bash

    cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
    

    Kommentar

    Det här kodexemplet använder Azure IoT Plug and Play, vilket gör att du kan integrera smarta enheter i dina lösningar utan någon manuell konfiguration. Som standard använder de flesta exempel i den här dokumentationen IoT Plug and Play. Mer information om fördelarna med IoT PnP och fall för att använda eller inte använda det finns i Vad är IoT Plug and Play?.

Exemplet ansluter säkert till din IoT-hubb som den enhet som du registrerade och börjar skicka telemetrimeddelanden. Exempelutdata visas i konsolen.

Visa telemetri

Du kan visa enhetens telemetri med IoT Explorer. Du kan också visa telemetri med hjälp av Azure CLI.

Så här visar du telemetri i Azure IoT Explorer:

  1. Från din Iot-hubb i IoT Explorer väljer du Visa enheter i den här hubben och väljer sedan enheten i listan.

  2. På den vänstra menyn för enheten väljer du Telemetri.

  3. Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.

  4. Visa telemetrin när enheten skickar meddelanden till molnet.

    Skärmbild av enhetstelemetri i IoT Explorer

  5. Välj Stoppa för att avsluta mottagandet av händelser.

Om du vill läsa telemetri som skickas av enskilda enhetskomponenter kan du använda plug and play-funktionerna i IoT Explorer. Temperaturstyrenheten i den här snabbstarten har till exempel två termostater: termostat1 och termostat2. Så här ser du temperaturen som rapporteras av termostaten1:

  1. På enheten i IoT Explorer väljer du IoT Plug and Play-komponenter på den vänstra menyn. Välj sedan termostat1 i listan över komponenter.

  2. I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.

  3. I fönstret Telemetri följer du samma steg som du gjorde tidigare. Kontrollera att Använd inbyggd händelsehubb är inställd på Ja och välj sedan Start.

Så här visar du enhetstelemetri med Azure CLI:

  1. Kör kommandot az iot hub monitor-events för att övervaka händelser som skickas från enheten till din IoT-hubb. Använd de namn som du skapade tidigare i Azure IoT för din enhet och IoT Hub.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Visa anslutningsinformationen och telemetriutdata i konsolen.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: ''
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"workingSet":1251}'
    
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"temperature":22.00}'
    

Sökkod

I den här snabbstarten lär du dig ett grundläggande arbetsflöde för Azure IoT-programutveckling. Du använder Azure CLI och IoT Explorer för att skapa en Azure IoT-hubb och en enhet. Sedan använder du ett Azure IoT-enhets-SDK-exempel för att köra en temperaturkontrollant, ansluta den säkert till hubben och skicka telemetri. Temperaturkontrollantens exempelprogram körs på den lokala datorn och genererar simulerade sensordata som ska skickas till IoT Hub.

Förutsättningar

Den här snabbstarten körs i Windows, Linux och Raspberry Pi. Det har testats på följande operativsystem och enhetsversioner:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) version 10, körs på en Raspberry Pi 3 Model B+

Installera följande krav på utvecklingsdatorn förutom när det gäller Raspberry Pi:

  • Om du inte har en Azure-prenumeration skapar du en kostnadsfritt innan du börjar.

  • Git.

  • .NET Core SDK 3.1. Se till att installera .NET SDK, inte bara körningen. Om du vill kontrollera versionen av .NET SDK och körningen som är installerad på datorn kör du dotnet --info.

    • För Windows och Linux (förutom Raspberry Pi) följer du anvisningarna för att installera .NET Core SDK 3.1 på din plattform.
    • För Raspberry Pi måste du följa anvisningarna för att installera SDK:t manuellt. Detta beror på att pakethanterarens installationer av .NET SDK endast stöds för x64-arkitekturen på Debian.
  • Azure IoT Explorer: Plattformsoberoende, GUI-baserat verktyg för att övervaka och hantera Azure IoT. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du installerar IoT Explorer på en annan dator. Om du inte vill installera IoT Explorer kan du använda Azure CLI för att utföra samma steg.

  • Azure CLI. Du har två alternativ för att köra Azure CLI-kommandon i den här snabbstarten:

    • Använd Azure Cloud Shell, ett interaktivt gränssnitt som kör CLI-kommandon i webbläsaren. Det här alternativet rekommenderas eftersom du inte behöver installera något. Om du använder Cloud Shell för första gången loggar du in på Azure-portalen. Följ stegen i Kom igång med Azure Cloud Shell för att starta Cloud Shell och välj Bash-miljön.
    • Du kan också köra Azure CLI på din lokala dator. Om Azure CLI redan är installerat kör du az upgrade för att uppgradera CLI och tillägg till den aktuella versionen. Information om hur du installerar Azure CLI finns i Installera Azure CLI. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du använder Azure Cloud Shell eller installerar Azure CLI på en annan dator.

Skapa en IoT-hubb

I det här avsnittet använder du Azure CLI för att skapa en IoT-hubb och en resursgrupp. 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 dina enheter.

Så här skapar du en IoT-hubb och en resursgrupp:

  1. Starta Azure CLI:

    • Om du använder Cloud Shell väljer du knappen Prova på CLI-kommandona för att starta Cloud Shell i ett delat webbläsarfönster. Eller så kan du öppna Cloud Shell på en separat webbläsarflik.
    • Om du använder Azure CLI lokalt öppnar du en konsol som Windows CMD, PowerShell eller Bash och loggar in på Azure CLI.

    Kör CLI-kommandona i resten av den här snabbstarten: kopiera kommandosyntaxen, klistra in den i Cloud Shell-fönstret eller CLI-konsolen, redigera variabelvärden och tryck på Retur.

  2. Kör az extension add för att installera eller uppgradera azure-iot-tillägget till den aktuella versionen.

    az extension add --upgrade --name azure-iot
    
  3. Kör kommandot az group create för att skapa en resursgrupp. Följande kommando skapar en resursgrupp med namnet MyResourceGroup på platsen eastus .

    Kommentar

    Du kan också ange en alternativ plats. Om du vill se tillgängliga platser kör du az account list-locations. I den här självstudien används eastus enligt exempelkommandot.

    az group create --name MyResourceGroup --location eastus
    
  4. Kör kommandot az iot hub create för att skapa en IoT-hubb. Det kan ta 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}
    

    Dricks

    När du har skapat en IoT-hubb använder du Azure IoT Explorer för att interagera med din IoT-hubb i resten av den här snabbstarten. IoT Explorer är ett GUI-program som gör att du kan ansluta till en befintlig IoT Hub och lägga till, hantera och övervaka enheter. Mer information finns i Installera och använda Azure IoT Explorer. Du kan också fortsätta att använda CLI-kommandon.

Konfigurera IoT Explorer

I resten av den här snabbstarten använder du IoT Explorer för att registrera en enhet till din IoT-hubb och för att visa enhetens telemetri. I det här avsnittet konfigurerar du IoT Explorer för att ansluta till den IoT-hubb som du nyss skapade och för att läsa plug and play-modeller från lagringsplatsen för den offentliga modellen.

Kommentar

Du kan också använda Azure CLI för att registrera en enhet. Använd kommandot az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} för att registrera en ny enhet och kommandot az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} för att hämta den primära anslutningssträng för enheten. När du har antecknat enhetens anslutningssträng kan du gå vidare till Kör enhetsexemplet.

Så här lägger du till en anslutning till din IoT-hubb:

  1. Kör kommandot az iot hub connection-string show för att hämta anslutningssträng för din IoT-hubb.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Kopiera anslutningssträng utan omgivande citattecken.

  3. I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.

  4. Klistra in anslutningssträng i rutan Anslut ionssträng.

  5. Välj Spara.

    Skärmbild av att lägga till en anslutning i IoT Explorer

  6. Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .

Så här lägger du till lagringsplatsen för den offentliga modellen:

  1. I IoT Explorer väljer du Start för att återgå till hemvyn.

  2. Välj IoT Plug and Play Inställningar på den vänstra menyn och välj sedan +Lägg till och välj Offentlig lagringsplats på den nedrullningsbara menyn.

  3. En post visas för lagringsplatsen för den offentliga modellen på https://devicemodels.azure.com.

    Skärmbild av att lägga till lagringsplatsen för den offentliga modellen i IoT Explorer

  4. Välj Spara.

Registrera en enhet

I det här avsnittet skapar du en ny enhetsinstans och registrerar den med den IoT-hubb som du skapade. Du använder anslutningsinformationen för den nyligen registrerade enheten för att ansluta enheten på ett säkert sätt i ett senare avsnitt.

Så här registrerar du en enhet:

  1. I hemvyn i IoT Explorer väljer du IoT-hubbar.

  2. Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.

  3. Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.

  4. Välj Skapa.

    Skärmbild av Enhetsidentitet i Azure IoT Explorer

  5. Använd kopieringsknapparna för att kopiera och anteckna fältet Primär anslutningssträng. Du behöver den här anslutningssträng senare.

Kör enhetsexemplet

I det här avsnittet använder du C# SDK för att skicka meddelanden från en enhet till din IoT-hubb. Du kör ett exempel som implementerar en temperaturstyrenhet med två termostatsensorer.

  1. Öppna en ny konsol som Windows CMD, PowerShell eller Bash. I följande steg använder du den här konsolen för att installera Node.js SDK och arbeta med Node.js exempelkod.

    Kommentar

    Om du använder en lokal installation av Azure CLI kanske du nu har två konsolfönster öppna. Se till att ange kommandona i det här avsnittet i konsolen som du precis öppnade, inte den som du har använt för CLI.

  2. Klona Microsoft Azure IoT SDK för C# (.NET) till din lokala dator:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  3. Gå till exempelkatalogen:

    Windows

    cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureController
    

    Linux- eller Raspberry Pi OS

    cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
    
  4. Installera Azure IoT C# SDK och nödvändiga beroenden:

    dotnet restore
    

    Det här kommandot installerar rätt beroenden enligt vad som anges i filen TemperatureController.csproj .

  5. Ange båda följande miljövariabler så att enheten kan ansluta till Azure IoT.

    • Ange en miljövariabel med namnet IOTHUB_DEVICE_CONNECTION_STRING. För variabelvärdet använder du enheten anslutningssträng som du sparade i föregående avsnitt.
    • Ange en miljövariabel med namnet IOTHUB_DEVICE_SECURITY_TYPE. För variabeln använder du strängvärdet connectionStringliteral .

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Kommentar

    För Windows CMD finns det inga citattecken kring strängvärdena för varje variabel.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Kör kodexemplet:

    dotnet run
    

    Kommentar

    Det här kodexemplet använder Azure IoT Plug and Play, vilket gör att du kan integrera smarta enheter i dina lösningar utan någon manuell konfiguration. Som standard använder de flesta exempel i den här dokumentationen IoT Plug and Play. Mer information om fördelarna med IoT PnP och fall för att använda eller inte använda det finns i Vad är IoT Plug and Play?.

Exemplet ansluter säkert till din IoT-hubb som den enhet som du registrerade och börjar skicka telemetrimeddelanden. Exempelutdata visas i konsolen.

Visa telemetri

Du kan visa enhetens telemetri med IoT Explorer. Du kan också visa telemetri med hjälp av Azure CLI.

Så här visar du telemetri i Azure IoT Explorer:

  1. Från din Iot-hubb i IoT Explorer väljer du Visa enheter i den här hubben och väljer sedan enheten i listan.

  2. På den vänstra menyn för enheten väljer du Telemetri.

  3. Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.

  4. Visa telemetrin när enheten skickar meddelanden till molnet.

    Skärmbild av enhetstelemetri i IoT Explorer

  5. Välj Stoppa för att avsluta mottagandet av händelser.

Om du vill läsa telemetri som skickas av enskilda enhetskomponenter kan du använda plug and play-funktionerna i IoT Explorer. Temperaturstyrenheten i den här snabbstarten har till exempel två termostater: termostat1 och termostat2. Så här ser du temperaturen som rapporteras av termostaten1:

  1. På enheten i IoT Explorer väljer du IoT Plug and Play-komponenter på den vänstra menyn. Välj sedan termostat1 i listan över komponenter.

  2. I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.

  3. I fönstret Telemetri följer du samma steg som du gjorde tidigare. Kontrollera att Använd inbyggd händelsehubb är inställd på Ja och välj sedan Start.

Så här visar du enhetstelemetri med Azure CLI:

  1. Kör kommandot az iot hub monitor-events för att övervaka händelser som skickas från enheten till din IoT-hubb. Använd de namn som du skapade tidigare i Azure IoT för din enhet och IoT Hub.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Visa anslutningsinformationen och telemetriutdata i konsolen.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 39.8
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 36.7
    
  3. Välj CTRL+C för att avsluta övervakningen.

Sökkod

I den här snabbstarten lär du dig ett grundläggande arbetsflöde för Azure IoT-programutveckling. Du använder Azure CLI och IoT Explorer för att skapa en Azure IoT-hubb och en enhet. Sedan använder du ett Azure IoT-enhets-SDK-exempel för att köra en temperaturkontrollant, ansluta den säkert till hubben och skicka telemetri. Temperaturkontrollantens exempelprogram körs på den lokala datorn och genererar simulerade sensordata som ska skickas till IoT Hub.

Förutsättningar

Den här snabbstarten körs i Windows, Linux och Raspberry Pi. Det har testats på följande operativsystem och enhetsversioner:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) version 10, körs på en Raspberry Pi 3 Model B+

Installera följande krav på utvecklingsdatorn förutom när det gäller Raspberry Pi:

  • Om du inte har en Azure-prenumeration skapar du en kostnadsfritt innan du börjar.
  • Git.
  • Azure IoT Explorer: Plattformsoberoende, GUI-baserat verktyg för att övervaka och hantera Azure IoT. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du installerar IoT Explorer på en annan dator. Om du inte vill installera IoT Explorer kan du använda Azure CLI för att utföra samma steg.
  • Azure CLI. Du har två alternativ för att köra Azure CLI-kommandon i den här snabbstarten:
    • Använd Azure Cloud Shell, ett interaktivt gränssnitt som kör CLI-kommandon i webbläsaren. Det här alternativet rekommenderas eftersom du inte behöver installera något. Om du använder Cloud Shell för första gången loggar du in på Azure-portalen. Följ stegen i Kom igång med Azure Cloud Shell för att starta Cloud Shell och välj Bash-miljön.
    • Du kan också köra Azure CLI på din lokala dator. Om Azure CLI redan är installerat kör du az upgrade för att uppgradera CLI och tillägg till den aktuella versionen. Information om hur du installerar Azure CLI finns i Installera Azure CLI. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du använder Azure Cloud Shell eller installerar Azure CLI på en annan dator.

Installera de återstående förutsättningarna för operativsystemet.

Windows

Slutför den här snabbstarten i Windows genom att installera följande programvara:

  • Java SE Development Kit 8 eller senare. Du kan ladda ned JDK:n Java 8 (LTS) för flera plattformar från Ladda ned Zulu Builds of OpenJDK. I installationsprogrammet väljer du alternativet Lägg till i sökväg .

  • Apache Maven 3. När du har extraherat nedladdningen till en lokal mapp lägger du till den fullständiga sökvägen till mappen Maven /bin i Windows-miljövariabeln PATH .

Linux- eller Raspberry Pi OS

Om du vill slutföra den här snabbstarten på Linux eller Raspberry Pi OS installerar du följande programvara:

Kommentar

Stegen i det här avsnittet baseras på Linux Ubuntu/Debian-distributioner. (Raspberry Pi OS är baserat på Debian.) Om du använder en annan Linux-distribution måste du ändra stegen i enlighet med detta.

  • OpenJDK (Open Java Development Kit) 8 eller senare. Du kan använda java -version kommandot för att verifiera versionen av Java som är installerad på systemet. Kontrollera att JDK:t är installerat, inte bara Java-körningen (JRE).

    1. Om du vill installera OpenJDK för systemet anger du följande kommandon:

      Så här installerar du standardversionen av OpenJDK för systemet (OpenJDK 11 för Ubuntu 20.04 och Raspberry Pi OS 10 i skrivande stund):

      sudo apt update
      sudo apt install default-jdk
      

      Du kan också ange en version av JDK:et som ska installeras. Till exempel:

      sudo apt update
      sudo apt install openjdk-8-jdk
      
    2. Om systemet har flera versioner av Java installerat kan du använda följande kommandon för att konfigurera standardversionerna (automatiskt) av Java och Java-kompilatorn.

      update-java-alternatives --list          #list the Java versions installed
      sudo update-alternatives --config java   #set the default Java version
      sudo  update-alternatives --config javac #set the default Java compiler version
      
    3. JAVA_HOME Ange miljövariabeln till sökvägen för din JDK-installation. (Detta är vanligtvis en versionsunderkatalog i katalogen /usr/lib/jvm .)

      export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
      

      Viktigt!

      Det här kommandot anger variabeln JAVA_HOME i din aktuella gränssnittsmiljö. Vi rekommenderar att du lägger till kommandot i din ~/.bashrc eller /etc/profile filen för att göra det tillgängligt när du öppnar ett nytt gränssnitt.

    4. Kontrollera vilken version av Java JDK (och JRE) som är installerad, att Java-kompilatorversionen matchar JDK-versionen och att JAVA_HOME miljövariabeln är korrekt inställd.

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3. Du kan använda mvn --version kommandot för att verifiera den version av Maven som är installerad på systemet.

    1. Om du vill installera Maven anger du följande kommandon:

      sudo apt-get update
      sudo apt-get install maven
      
    2. Ange följande kommando för att verifiera installationen.

      mvn --version
      

Skapa en IoT-hubb

I det här avsnittet använder du Azure CLI för att skapa en IoT-hubb och en resursgrupp. 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 dina enheter.

Så här skapar du en IoT-hubb och en resursgrupp:

  1. Starta Azure CLI:

    • Om du använder Cloud Shell väljer du knappen Prova på CLI-kommandona för att starta Cloud Shell i ett delat webbläsarfönster. Eller så kan du öppna Cloud Shell på en separat webbläsarflik.
    • Om du använder Azure CLI lokalt öppnar du en konsol som Windows CMD, PowerShell eller Bash och loggar in på Azure CLI.

    Kör CLI-kommandona i resten av den här snabbstarten: kopiera kommandosyntaxen, klistra in den i Cloud Shell-fönstret eller CLI-konsolen, redigera variabelvärden och tryck på Retur.

  2. Kör az extension add för att installera eller uppgradera azure-iot-tillägget till den aktuella versionen.

    az extension add --upgrade --name azure-iot
    
  3. Kör kommandot az group create för att skapa en resursgrupp. Följande kommando skapar en resursgrupp med namnet MyResourceGroup på platsen eastus .

    Kommentar

    Du kan också ange en alternativ plats. Om du vill se tillgängliga platser kör du az account list-locations. I den här självstudien används eastus enligt exempelkommandot.

    az group create --name MyResourceGroup --location eastus
    
  4. Kör kommandot az iot hub create för att skapa en IoT-hubb. Det kan ta 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}
    

    Dricks

    När du har skapat en IoT-hubb använder du Azure IoT Explorer för att interagera med din IoT-hubb i resten av den här snabbstarten. IoT Explorer är ett GUI-program som gör att du kan ansluta till en befintlig IoT Hub och lägga till, hantera och övervaka enheter. Mer information finns i Installera och använda Azure IoT Explorer. Du kan också fortsätta att använda CLI-kommandon.

Konfigurera IoT Explorer

I resten av den här snabbstarten använder du IoT Explorer för att registrera en enhet till din IoT-hubb och för att visa enhetens telemetri. I det här avsnittet konfigurerar du IoT Explorer för att ansluta till den IoT-hubb som du nyss skapade och för att läsa plug and play-modeller från lagringsplatsen för den offentliga modellen.

Kommentar

Du kan också använda Azure CLI för att registrera en enhet. Använd kommandot az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} för att registrera en ny enhet och kommandot az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} för att hämta den primära anslutningssträng för enheten. När du har antecknat enhetens anslutningssträng kan du gå vidare till Kör enhetsexemplet.

Så här lägger du till en anslutning till din IoT-hubb:

  1. Kör kommandot az iot hub connection-string show för att hämta anslutningssträng för din IoT-hubb.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Kopiera anslutningssträng utan omgivande citattecken.

  3. I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.

  4. Klistra in anslutningssträng i rutan Anslut ionssträng.

  5. Välj Spara.

    Skärmbild av att lägga till en anslutning i IoT Explorer

  6. Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .

Så här lägger du till lagringsplatsen för den offentliga modellen:

  1. I IoT Explorer väljer du Start för att återgå till hemvyn.

  2. Välj IoT Plug and Play Inställningar på den vänstra menyn och välj sedan +Lägg till och välj Offentlig lagringsplats på den nedrullningsbara menyn.

  3. En post visas för lagringsplatsen för den offentliga modellen på https://devicemodels.azure.com.

    Skärmbild av att lägga till lagringsplatsen för den offentliga modellen i IoT Explorer

  4. Välj Spara.

Registrera en enhet

I det här avsnittet skapar du en ny enhetsinstans och registrerar den med den IoT-hubb som du skapade. Du använder anslutningsinformationen för den nyligen registrerade enheten för att ansluta enheten på ett säkert sätt i ett senare avsnitt.

Så här registrerar du en enhet:

  1. I hemvyn i IoT Explorer väljer du IoT-hubbar.

  2. Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.

  3. Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.

  4. Välj Skapa.

    Skärmbild av Enhetsidentitet i Azure IoT Explorer

  5. Använd kopieringsknapparna för att kopiera och anteckna fältet Primär anslutningssträng. Du behöver den här anslutningssträng senare.

Kör enhetsexemplet

I det här avsnittet använder du Java SDK för att skicka meddelanden från en enhet till din IoT-hubb. Du kör ett exempel som implementerar en temperaturstyrenhet med två termostatsensorer.

  1. Öppna en konsol för att installera Azure IoT Java-enhetens SDK, skapa och köra kodexemplet. Du använder den här konsolen i följande steg.

    Kommentar

    Om du använder en lokal installation av Azure CLI kanske du nu har två konsolfönster öppna. Se till att ange kommandona i det här avsnittet i konsolen som du precis öppnade, inte den som du har använt för CLI.

    Linux och Raspberry Pi OS

    Bekräfta att miljövariabeln JAVA_HOME (echo $JAVA_HOME) har angetts. Information om hur du ställer in JAVA_HOME finns i Förhandskrav för Linux/Raspberry Pi.

  2. Klona Azure IoT Java-enhetens SDK till din lokala dator:

    git clone https://github.com/Azure/azure-iot-sdk-java.git
    
  3. Gå till rotmappen för SDK och kör följande kommando för att skapa SDK:et och uppdatera exemplen.

    cd azure-iot-sdk-java
    mvn install -T 2C -DskipTests
    

    Den här åtgärden tar flera minuter.

  4. Ange följande miljövariabler så att enheten kan ansluta till Azure IoT.

    • Ange en miljövariabel med namnet IOTHUB_DEVICE_CONNECTION_STRING. För variabelvärdet använder du enheten anslutningssträng som du sparade i föregående avsnitt.
    • Ange en miljövariabel med namnet IOTHUB_DEVICE_SECURITY_TYPE. För variabeln använder du strängvärdet connectionStringliteral .

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Kommentar

    För Windows CMD finns det inga citattecken kring strängvärdena för varje variabel.

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  5. Gå till exempelkatalogen.

    CMD

    cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
    

    Bash

    cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
    
  6. Kör kodexemplet.

    java -jar -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
    

    Kommentar

    Det här kodexemplet använder Azure IoT Plug and Play, vilket gör att du kan integrera smarta enheter i dina lösningar utan någon manuell konfiguration. Som standard använder de flesta exempel i den här dokumentationen IoT Plug and Play. Mer information om fördelarna med IoT PnP och fall för att använda eller inte använda det finns i Vad är IoT Plug and Play?.

Exemplet ansluter säkert till din IoT-hubb som den enhet som du registrerade och börjar skicka telemetrimeddelanden. Exempelutdata visas i konsolen.

Visa telemetri

Du kan visa enhetens telemetri med IoT Explorer. Du kan också visa telemetri med hjälp av Azure CLI.

Så här visar du telemetri i Azure IoT Explorer:

  1. Från din Iot-hubb i IoT Explorer väljer du Visa enheter i den här hubben och väljer sedan enheten i listan.

  2. På den vänstra menyn för enheten väljer du Telemetri.

  3. Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.

  4. Visa telemetrin när enheten skickar meddelanden till molnet.

    Skärmbild av enhetstelemetri i IoT Explorer

  5. Välj Stoppa för att avsluta mottagandet av händelser.

Om du vill läsa telemetri som skickas av enskilda enhetskomponenter kan du använda plug and play-funktionerna i IoT Explorer. Temperaturstyrenheten i den här snabbstarten har till exempel två termostater: termostat1 och termostat2. Så här ser du temperaturen som rapporteras av termostaten1:

  1. På enheten i IoT Explorer väljer du IoT Plug and Play-komponenter på den vänstra menyn. Välj sedan termostat1 i listan över komponenter.

  2. I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.

  3. I fönstret Telemetri följer du samma steg som du gjorde tidigare. Kontrollera att Använd inbyggd händelsehubb är inställd på Ja och välj sedan Start.

Så här visar du enhetstelemetri med Azure CLI:

  1. Kör kommandot az iot hub monitor-events för att övervaka händelser som skickas från enheten till din IoT-hubb. Använd de namn som du skapade tidigare i Azure IoT för din enhet och IoT Hub.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Visa anslutningsinformationen och telemetriutdata i konsolen.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 24.1
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 33.3
    

Sökkod

I den här snabbstarten lär du dig ett grundläggande arbetsflöde för Azure IoT-programutveckling. Du använder Azure CLI och IoT Explorer för att skapa en Azure IoT-hubb och en enhet. Sedan använder du ett Azure IoT-enhets-SDK-exempel för att köra en temperaturkontrollant, ansluta den säkert till hubben och skicka telemetri. Temperaturkontrollantens exempelprogram körs på den lokala datorn och genererar simulerade sensordata som ska skickas till IoT Hub.

Förutsättningar

Den här snabbstarten körs i Windows, Linux och Raspberry Pi. Det har testats på följande operativsystem och enhetsversioner:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) version 10, körs på en Raspberry Pi 3 Model B+

Installera följande krav på utvecklingsdatorn förutom när det gäller Raspberry Pi:

  • Om du inte har en Azure-prenumeration skapar du en kostnadsfritt innan du börjar.
  • Git.
  • Node.js version 12 eller senare. Kontrollera nodversionen genom att köra node --version.
  • Azure IoT Explorer: Plattformsoberoende, GUI-baserat verktyg för att övervaka och hantera Azure IoT. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du installerar IoT Explorer på en annan dator. Om du inte vill installera IoT Explorer kan du använda Azure CLI för att utföra samma steg.
  • Azure CLI. Du har två alternativ för att köra Azure CLI-kommandon i den här snabbstarten:
    • Använd Azure Cloud Shell, ett interaktivt gränssnitt som kör CLI-kommandon i webbläsaren. Det här alternativet rekommenderas eftersom du inte behöver installera något. Om du använder Cloud Shell för första gången loggar du in på Azure-portalen. Följ stegen i Kom igång med Azure Cloud Shell för att starta Cloud Shell och välj Bash-miljön.
    • Du kan också köra Azure CLI på din lokala dator. Om Azure CLI redan är installerat kör du az upgrade för att uppgradera CLI och tillägg till den aktuella versionen. Information om hur du installerar Azure CLI finns i Installera Azure CLI. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du använder Azure Cloud Shell eller installerar Azure CLI på en annan dator.

Skapa en IoT-hubb

I det här avsnittet använder du Azure CLI för att skapa en IoT-hubb och en resursgrupp. 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 dina enheter.

Så här skapar du en IoT-hubb och en resursgrupp:

  1. Starta Azure CLI:

    • Om du använder Cloud Shell väljer du knappen Prova på CLI-kommandona för att starta Cloud Shell i ett delat webbläsarfönster. Eller så kan du öppna Cloud Shell på en separat webbläsarflik.
    • Om du använder Azure CLI lokalt öppnar du en konsol som Windows CMD, PowerShell eller Bash och loggar in på Azure CLI.

    Kör CLI-kommandona i resten av den här snabbstarten: kopiera kommandosyntaxen, klistra in den i Cloud Shell-fönstret eller CLI-konsolen, redigera variabelvärden och tryck på Retur.

  2. Kör az extension add för att installera eller uppgradera azure-iot-tillägget till den aktuella versionen.

    az extension add --upgrade --name azure-iot
    
  3. Kör kommandot az group create för att skapa en resursgrupp. Följande kommando skapar en resursgrupp med namnet MyResourceGroup på platsen eastus .

    Kommentar

    Du kan också ange en alternativ plats. Om du vill se tillgängliga platser kör du az account list-locations. I den här självstudien används eastus enligt exempelkommandot.

    az group create --name MyResourceGroup --location eastus
    
  4. Kör kommandot az iot hub create för att skapa en IoT-hubb. Det kan ta 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}
    

    Dricks

    När du har skapat en IoT-hubb använder du Azure IoT Explorer för att interagera med din IoT-hubb i resten av den här snabbstarten. IoT Explorer är ett GUI-program som gör att du kan ansluta till en befintlig IoT Hub och lägga till, hantera och övervaka enheter. Mer information finns i Installera och använda Azure IoT Explorer. Du kan också fortsätta att använda CLI-kommandon.

Konfigurera IoT Explorer

I resten av den här snabbstarten använder du IoT Explorer för att registrera en enhet till din IoT-hubb och för att visa enhetens telemetri. I det här avsnittet konfigurerar du IoT Explorer för att ansluta till den IoT-hubb som du nyss skapade och för att läsa plug and play-modeller från lagringsplatsen för den offentliga modellen.

Kommentar

Du kan också använda Azure CLI för att registrera en enhet. Använd kommandot az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} för att registrera en ny enhet och kommandot az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} för att hämta den primära anslutningssträng för enheten. När du har antecknat enhetens anslutningssträng kan du gå vidare till Kör enhetsexemplet.

Så här lägger du till en anslutning till din IoT-hubb:

  1. Kör kommandot az iot hub connection-string show för att hämta anslutningssträng för din IoT-hubb.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Kopiera anslutningssträng utan omgivande citattecken.

  3. I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.

  4. Klistra in anslutningssträng i rutan Anslut ionssträng.

  5. Välj Spara.

    Skärmbild av att lägga till en anslutning i IoT Explorer

  6. Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .

Så här lägger du till lagringsplatsen för den offentliga modellen:

  1. I IoT Explorer väljer du Start för att återgå till hemvyn.

  2. Välj IoT Plug and Play Inställningar på den vänstra menyn och välj sedan +Lägg till och välj Offentlig lagringsplats på den nedrullningsbara menyn.

  3. En post visas för lagringsplatsen för den offentliga modellen på https://devicemodels.azure.com.

    Skärmbild av att lägga till lagringsplatsen för den offentliga modellen i IoT Explorer

  4. Välj Spara.

Registrera en enhet

I det här avsnittet skapar du en ny enhetsinstans och registrerar den med den IoT-hubb som du skapade. Du använder anslutningsinformationen för den nyligen registrerade enheten för att ansluta enheten på ett säkert sätt i ett senare avsnitt.

Så här registrerar du en enhet:

  1. I hemvyn i IoT Explorer väljer du IoT-hubbar.

  2. Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.

  3. Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.

  4. Välj Skapa.

    Skärmbild av Enhetsidentitet i Azure IoT Explorer

  5. Använd kopieringsknapparna för att kopiera och anteckna fältet Primär anslutningssträng. Du behöver den här anslutningssträng senare.

Kör enhetsexemplet

I det här avsnittet använder du Node.js SDK för att skicka meddelanden från en enhet till din IoT-hubb. Du kör ett exempel som implementerar en temperaturstyrenhet med två termostatsensorer.

  1. Öppna en ny konsol som Windows CMD, PowerShell eller Bash. I följande steg använder du den här konsolen för att installera Node.js SDK och arbeta med Node.js exempelkod.

    Kommentar

    Om du använder en lokal installation av Azure CLI kanske du nu har två konsolfönster öppna. Se till att ange kommandona i det här avsnittet i konsolen som du precis öppnade, inte den som du har använt för CLI.

  2. Klona Azure IoT-Node.js SDK-enhetsexempel till din lokala dator:

    git clone https://github.com/Azure/azure-iot-sdk-node
    
  3. Gå till exempelkatalogen:

    Windows

    cd azure-iot-sdk-node\device\samples\javascript
    

    Linux- eller Raspberry Pi OS

    cd azure-iot-sdk-node/device/samples/javascript
    
  4. Installera Azure IoT Node.js SDK och nödvändiga beroenden:

    npm install
    

    Det här kommandot installerar rätt beroenden enligt vad som anges i package.json-filen i katalogen enhetsexempel.

  5. Ange båda följande miljövariabler så att enheten kan ansluta till Azure IoT.

    • Ange en miljövariabel med namnet IOTHUB_DEVICE_CONNECTION_STRING. För variabelvärdet använder du enheten anslutningssträng som du sparade i föregående avsnitt.
    • Ange en miljövariabel med namnet IOTHUB_DEVICE_SECURITY_TYPE. För variabeln använder du strängvärdet connectionStringliteral .

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Kommentar

    För Windows CMD finns det inga citattecken kring strängvärdena för varje variabel.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Kör följande kodexempel:

    node pnp_temperature_controller.js
    

    Kommentar

    Det här kodexemplet använder Azure IoT Plug and Play, vilket gör att du kan integrera smarta enheter i dina lösningar utan någon manuell konfiguration. Som standard använder de flesta exempel i den här dokumentationen IoT Plug and Play. Mer information om fördelarna med IoT PnP och fall för att använda eller inte använda det finns i Vad är IoT Plug and Play?.

Exemplet ansluter säkert till din IoT-hubb som den enhet som du registrerade och börjar skicka telemetrimeddelanden. Exempelutdata visas i konsolen.

Visa telemetri

Du kan visa enhetens telemetri med IoT Explorer. Du kan också visa telemetri med hjälp av Azure CLI.

Så här visar du telemetri i Azure IoT Explorer:

  1. Från din Iot-hubb i IoT Explorer väljer du Visa enheter i den här hubben och väljer sedan enheten i listan.

  2. På den vänstra menyn för enheten väljer du Telemetri.

  3. Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.

  4. Visa telemetrin när enheten skickar meddelanden till molnet.

    Skärmbild av enhetstelemetri i IoT Explorer

  5. Välj Stoppa för att avsluta mottagandet av händelser.

Om du vill läsa telemetri som skickas av enskilda enhetskomponenter kan du använda plug and play-funktionerna i IoT Explorer. Temperaturstyrenheten i den här snabbstarten har till exempel två termostater: termostat1 och termostat2. Så här ser du temperaturen som rapporteras av termostaten1:

  1. På enheten i IoT Explorer väljer du IoT Plug and Play-komponenter på den vänstra menyn. Välj sedan termostat1 i listan över komponenter.

  2. I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.

  3. I fönstret Telemetri följer du samma steg som du gjorde tidigare. Kontrollera att Använd inbyggd händelsehubb är inställd på Ja och välj sedan Start.

Så här visar du enhetstelemetri med Azure CLI:

  1. Kör kommandot az iot hub monitor-events för att övervaka händelser som skickas från enheten till din IoT-hubb. Använd de namn som du skapade tidigare i Azure IoT för din enhet och IoT Hub.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Visa anslutningsinformationen och telemetriutdata i konsolen.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 70.5897683228018
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 52.87582619316418
    

Sökkod

I den här snabbstarten lär du dig ett grundläggande arbetsflöde för Azure IoT-programutveckling. Du använder Azure CLI och IoT Explorer för att skapa en Azure IoT-hubb och en enhet. Sedan använder du ett Azure IoT-enhets-SDK-exempel för att köra en temperaturkontrollant, ansluta den säkert till hubben och skicka telemetri. Temperaturkontrollantens exempelprogram körs på den lokala datorn och genererar simulerade sensordata som ska skickas till IoT Hub.

Förutsättningar

Den här snabbstarten körs i Windows, Linux och Raspberry Pi. Det har testats på följande operativsystem och enhetsversioner:

  • Windows 10 eller Windows 11
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) version 10, körs på en Raspberry Pi 3 Model B+

Installera följande krav på utvecklingsdatorn förutom när det gäller Raspberry Pi:

  • Om du inte har en Azure-prenumeration skapar du en kostnadsfritt innan du börjar.
  • Git.
  • Python. Kontrollera Azure IoT Python SDK för aktuella versionskrav för Python. Kontrollera Python-versionen genom att köra python3 --version.
  • Azure IoT Explorer: Plattformsoberoende, GUI-baserat verktyg för att övervaka och hantera Azure IoT. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du installerar IoT Explorer på en annan dator. Om du inte vill installera IoT Explorer kan du använda Azure CLI för att utföra samma steg.
  • Azure CLI. Du har två alternativ för att köra Azure CLI-kommandon i den här snabbstarten:
    • Använd Azure Cloud Shell, ett interaktivt gränssnitt som kör CLI-kommandon i webbläsaren. Det här alternativet rekommenderas eftersom du inte behöver installera något. Om du använder Cloud Shell för första gången loggar du in på Azure-portalen. Följ stegen i Kom igång med Azure Cloud Shell för att starta Cloud Shell och välj Bash-miljön.
    • Du kan också köra Azure CLI på din lokala dator. Om Azure CLI redan är installerat kör du az upgrade för att uppgradera CLI och tillägg till den aktuella versionen. Information om hur du installerar Azure CLI finns i Installera Azure CLI. Om du använder Raspberry Pi som utvecklingsplattform rekommenderar vi att du använder Azure Cloud Shell eller installerar Azure CLI på en annan dator.

Skapa en IoT-hubb

I det här avsnittet använder du Azure CLI för att skapa en IoT-hubb och en resursgrupp. 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 dina enheter.

Så här skapar du en IoT-hubb och en resursgrupp:

  1. Starta Azure CLI:

    • Om du använder Cloud Shell väljer du knappen Prova på CLI-kommandona för att starta Cloud Shell i ett delat webbläsarfönster. Eller så kan du öppna Cloud Shell på en separat webbläsarflik.
    • Om du använder Azure CLI lokalt öppnar du en konsol som Windows CMD, PowerShell eller Bash och loggar in på Azure CLI.

    Kör CLI-kommandona i resten av den här snabbstarten: kopiera kommandosyntaxen, klistra in den i Cloud Shell-fönstret eller CLI-konsolen, redigera variabelvärden och tryck på Retur.

  2. Kör az extension add för att installera eller uppgradera azure-iot-tillägget till den aktuella versionen.

    az extension add --upgrade --name azure-iot
    
  3. Kör kommandot az group create för att skapa en resursgrupp. Följande kommando skapar en resursgrupp med namnet MyResourceGroup på platsen eastus .

    Kommentar

    Du kan också ange en alternativ plats. Om du vill se tillgängliga platser kör du az account list-locations. I den här självstudien används eastus enligt exempelkommandot.

    az group create --name MyResourceGroup --location eastus
    
  4. Kör kommandot az iot hub create för att skapa en IoT-hubb. Det kan ta 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}
    

    Dricks

    När du har skapat en IoT-hubb använder du Azure IoT Explorer för att interagera med din IoT-hubb i resten av den här snabbstarten. IoT Explorer är ett GUI-program som gör att du kan ansluta till en befintlig IoT Hub och lägga till, hantera och övervaka enheter. Mer information finns i Installera och använda Azure IoT Explorer. Du kan också fortsätta att använda CLI-kommandon.

Konfigurera IoT Explorer

I resten av den här snabbstarten använder du IoT Explorer för att registrera en enhet till din IoT-hubb och för att visa enhetens telemetri. I det här avsnittet konfigurerar du IoT Explorer för att ansluta till den IoT-hubb som du nyss skapade och för att läsa plug and play-modeller från lagringsplatsen för den offentliga modellen.

Kommentar

Du kan också använda Azure CLI för att registrera en enhet. Använd kommandot az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} för att registrera en ny enhet och kommandot az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} för att hämta den primära anslutningssträng för enheten. När du har antecknat enhetens anslutningssträng kan du gå vidare till Kör enhetsexemplet.

Så här lägger du till en anslutning till din IoT-hubb:

  1. Kör kommandot az iot hub connection-string show för att hämta anslutningssträng för din IoT-hubb.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. Kopiera anslutningssträng utan omgivande citattecken.

  3. I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.

  4. Klistra in anslutningssträng i rutan Anslut ionssträng.

  5. Välj Spara.

    Skärmbild av att lägga till en anslutning i IoT Explorer

  6. Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .

Så här lägger du till lagringsplatsen för den offentliga modellen:

  1. I IoT Explorer väljer du Start för att återgå till hemvyn.

  2. Välj IoT Plug and Play Inställningar på den vänstra menyn och välj sedan +Lägg till och välj Offentlig lagringsplats på den nedrullningsbara menyn.

  3. En post visas för lagringsplatsen för den offentliga modellen på https://devicemodels.azure.com.

    Skärmbild av att lägga till lagringsplatsen för den offentliga modellen i IoT Explorer

  4. Välj Spara.

Registrera en enhet

I det här avsnittet skapar du en ny enhetsinstans och registrerar den med den IoT-hubb som du skapade. Du använder anslutningsinformationen för den nyligen registrerade enheten för att ansluta enheten på ett säkert sätt i ett senare avsnitt.

Så här registrerar du en enhet:

  1. I hemvyn i IoT Explorer väljer du IoT-hubbar.

  2. Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.

  3. Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.

  4. Välj Skapa.

    Skärmbild av Enhetsidentitet i Azure IoT Explorer

  5. Använd kopieringsknapparna för att kopiera och anteckna fältet Primär anslutningssträng. Du behöver den här anslutningssträng senare.

Kör enhetsexemplet

I det här avsnittet använder du Python SDK för att skicka meddelanden från en enhet till din IoT-hubb. Du kör ett exempel som implementerar en temperaturstyrenhet med två termostatsensorer.

  1. Öppna en ny konsol som Windows CMD, PowerShell eller Bash. I följande steg använder du den här konsolen för att installera Python SDK och arbeta med Python-exempelkoden.

    Kommentar

    Om du använder en lokal installation av Azure CLI kanske du nu har två konsolfönster öppna. Se till att ange kommandona i det här avsnittet i konsolen som du precis öppnade, inte den som du har använt för CLI.

  2. Klona Azure IoT Python SDK-enhetsexempel till din lokala dator:

    git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
    
  3. Gå till exempelkatalogen:

    Windows

    cd azure-iot-sdk-python\samples\pnp
    

    Linux- eller Raspberry Pi OS

    cd azure-iot-sdk-python/samples/pnp
    
  4. Installera Azure IoT Python SDK:

    pip3 install azure-iot-device
    
  5. Ange följande miljövariabler så att enheten kan ansluta till Azure IoT.

    • Ange en miljövariabel med namnet IOTHUB_DEVICE_CONNECTION_STRING. För variabelvärdet använder du enheten anslutningssträng som du sparade i föregående avsnitt.
    • Ange en miljövariabel med namnet IOTHUB_DEVICE_SECURITY_TYPE. För variabeln använder du strängvärdet connectionStringliteral .

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    Kommentar

    För Windows CMD finns det inga citattecken kring strängvärdena för varje variabel.

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. Kör koden för följande exempelfil.

    python temp_controller_with_thermostats.py
    

    Kommentar

    Det här kodexemplet använder Azure IoT Plug and Play, vilket gör att du kan integrera smarta enheter i dina lösningar utan någon manuell konfiguration. Som standard använder de flesta exempel i den här dokumentationen IoT Plug and Play. Mer information om fördelarna med IoT Plug and Play och fall för att använda eller inte använda det finns i Vad är IoT Plug and Play?.

Exemplet ansluter säkert till din IoT-hubb som den enhet som du registrerade och börjar skicka telemetrimeddelanden. Exempelutdata visas i konsolen.

Visa telemetri

Du kan visa enhetens telemetri med IoT Explorer. Du kan också visa telemetri med hjälp av Azure CLI.

Så här visar du telemetri i Azure IoT Explorer:

  1. Från din Iot-hubb i IoT Explorer väljer du Visa enheter i den här hubben och väljer sedan enheten i listan.

  2. På den vänstra menyn för enheten väljer du Telemetri.

  3. Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.

  4. Visa telemetrin när enheten skickar meddelanden till molnet.

    Skärmbild av enhetstelemetri i IoT Explorer

  5. Välj Stoppa för att avsluta mottagandet av händelser.

Om du vill läsa telemetri som skickas av enskilda enhetskomponenter kan du använda plug and play-funktionerna i IoT Explorer. Temperaturstyrenheten i den här snabbstarten har till exempel två termostater: termostat1 och termostat2. Så här ser du temperaturen som rapporteras av termostaten1:

  1. På enheten i IoT Explorer väljer du IoT Plug and Play-komponenter på den vänstra menyn. Välj sedan termostat1 i listan över komponenter.

  2. I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.

  3. I fönstret Telemetri följer du samma steg som du gjorde tidigare. Kontrollera att Använd inbyggd händelsehubb är inställd på Ja och välj sedan Start.

Så här visar du enhetstelemetri med Azure CLI:

  1. Kör kommandot az iot hub monitor-events för att övervaka händelser som skickas från enheten till din IoT-hubb. Använd de namn som du skapade tidigare i Azure IoT för din enhet och IoT Hub.

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Visa anslutningsinformationen och telemetriutdata i konsolen.

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 28
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 10
    

Rensa resurser

Om du inte längre behöver de Azure-resurser som skapats i den här självstudien kan du använda Azure CLI för att ta bort 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 Hub 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 självstudien har du lärt dig ett grundläggande Azure IoT-programarbetsflöde för att på ett säkert sätt ansluta en enhet till molnet och skicka telemetri från enhet till moln. Du använde Azure CLI för att skapa en Azure IoT-hubb och en enhetsinstans. Sedan använde du en Azure IoT-enhets-SDK för att skapa en temperaturkontrollant, ansluta den till hubben och skicka telemetri. Du använde också Azure CLI för att övervaka telemetri.

Som ett nästa steg kan du utforska följande artiklar för att lära dig mer om att skapa enhetslösningar med Azure IoT.