Självstudie: Skicka telemetri från en IoT Plug and Play-enhet till Azure IoT Hub
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.
- 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.
- På fliken Arbetsbelastningar för installationsprogram väljer du Skrivbordsutveckling med C++-arbetsbelastning.
- 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:
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.
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
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
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 niska veze för enheten. När du har antecknat enhetens niska veze kan du gå vidare till Kör enhetsexemplet.
Så här lägger du till en anslutning till din IoT-hubb:
Kör kommandot az iot hub connection-string show för att hämta niska veze för din IoT-hubb.
az iot hub connection-string show --hub-name {YourIoTHubName}
Kopiera niska veze utan omgivande citattecken.
I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.
Klistra in niska veze i rutan Anslutningssträng.
Välj Spara.
Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .
Så här lägger du till lagringsplatsen för den offentliga modellen:
I IoT Explorer väljer du Start för att återgå till hemvyn.
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.
En post visas för lagringsplatsen för den offentliga modellen på
https://devicemodels.azure.com
.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:
I hemvyn i IoT Explorer väljer du IoT-hubbar.
Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.
Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.
Välj Skapa.
Använd kopieringsknapparna för att kopiera och anteckna fältet Primär niska veze. Du behöver den här niska veze 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
Ö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.
Gå till en lokal mapp där du vill klona exempelrepo.
Klona Azure IoT C-enhetens SDK till din lokala dator:
git clone https://github.com/Azure/azure-iot-sdk-c.git
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.
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
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 niska veze 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ärdetconnectionString
literal .
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.
Våldsamt slag
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Ange en miljövariabel med namnet
Kör koden
Kör exempelkoden med lämpligt kommando för konsolen.
CMD
cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
Våldsamt slag
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:
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.
På den vänstra menyn för enheten väljer du Telemetri.
Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.
Visa telemetrin när enheten skickar meddelanden till molnet.
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:
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.
I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.
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:
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}
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}'
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:
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.
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
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
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 niska veze för enheten. När du har antecknat enhetens niska veze kan du gå vidare till Kör enhetsexemplet.
Så här lägger du till en anslutning till din IoT-hubb:
Kör kommandot az iot hub connection-string show för att hämta niska veze för din IoT-hubb.
az iot hub connection-string show --hub-name {YourIoTHubName}
Kopiera niska veze utan omgivande citattecken.
I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.
Klistra in niska veze i rutan Anslutningssträng.
Välj Spara.
Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .
Så här lägger du till lagringsplatsen för den offentliga modellen:
I IoT Explorer väljer du Start för att återgå till hemvyn.
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.
En post visas för lagringsplatsen för den offentliga modellen på
https://devicemodels.azure.com
.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:
I hemvyn i IoT Explorer väljer du IoT-hubbar.
Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.
Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.
Välj Skapa.
Använd kopieringsknapparna för att kopiera och anteckna fältet Primär niska veze. Du behöver den här niska veze 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.
Ö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.
Klona Microsoft Azure IoT SDK för C# (.NET) till din lokala dator:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
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
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 .
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 niska veze 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ärdetconnectionString
literal .
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'
Våldsamt slag
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Ange en miljövariabel med namnet
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:
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.
På den vänstra menyn för enheten väljer du Telemetri.
Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.
Visa telemetrin när enheten skickar meddelanden till molnet.
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:
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.
I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.
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:
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}
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
Välj CTRL+C för att avsluta övervakningen.
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).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
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
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.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.Om du vill installera Maven anger du följande kommandon:
sudo apt-get update sudo apt-get install maven
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:
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.
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
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
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 niska veze för enheten. När du har antecknat enhetens niska veze kan du gå vidare till Kör enhetsexemplet.
Så här lägger du till en anslutning till din IoT-hubb:
Kör kommandot az iot hub connection-string show för att hämta niska veze för din IoT-hubb.
az iot hub connection-string show --hub-name {YourIoTHubName}
Kopiera niska veze utan omgivande citattecken.
I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.
Klistra in niska veze i rutan Anslutningssträng.
Välj Spara.
Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .
Så här lägger du till lagringsplatsen för den offentliga modellen:
I IoT Explorer väljer du Start för att återgå till hemvyn.
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.
En post visas för lagringsplatsen för den offentliga modellen på
https://devicemodels.azure.com
.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:
I hemvyn i IoT Explorer väljer du IoT-hubbar.
Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.
Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.
Välj Skapa.
Använd kopieringsknapparna för att kopiera och anteckna fältet Primär niska veze. Du behöver den här niska veze 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.
Ö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.Klona Azure IoT Java-enhetens SDK till din lokala dator:
git clone https://github.com/Azure/azure-iot-sdk-java.git
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.
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 niska veze 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ärdetconnectionString
literal .
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.
Våldsamt slag
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Ange en miljövariabel med namnet
Gå till exempelkatalogen.
CMD
cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
Våldsamt slag
cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
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:
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.
På den vänstra menyn för enheten väljer du Telemetri.
Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.
Visa telemetrin när enheten skickar meddelanden till molnet.
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:
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.
I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.
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:
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}
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
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:
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.
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
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
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 niska veze för enheten. När du har antecknat enhetens niska veze kan du gå vidare till Kör enhetsexemplet.
Så här lägger du till en anslutning till din IoT-hubb:
Kör kommandot az iot hub connection-string show för att hämta niska veze för din IoT-hubb.
az iot hub connection-string show --hub-name {YourIoTHubName}
Kopiera niska veze utan omgivande citattecken.
I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.
Klistra in niska veze i rutan Anslutningssträng.
Välj Spara.
Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .
Så här lägger du till lagringsplatsen för den offentliga modellen:
I IoT Explorer väljer du Start för att återgå till hemvyn.
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.
En post visas för lagringsplatsen för den offentliga modellen på
https://devicemodels.azure.com
.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:
I hemvyn i IoT Explorer väljer du IoT-hubbar.
Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.
Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.
Välj Skapa.
Använd kopieringsknapparna för att kopiera och anteckna fältet Primär niska veze. Du behöver den här niska veze 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.
Ö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.
Klona Azure IoT-Node.js SDK-enhetsexempel till din lokala dator:
git clone https://github.com/Azure/azure-iot-sdk-node
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
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.
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 niska veze 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ärdetconnectionString
literal .
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'
Våldsamt slag
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Ange en miljövariabel med namnet
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:
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.
På den vänstra menyn för enheten väljer du Telemetri.
Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.
Visa telemetrin när enheten skickar meddelanden till molnet.
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:
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.
I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.
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:
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}
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
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:
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.
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
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
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 niska veze för enheten. När du har antecknat enhetens niska veze kan du gå vidare till Kör enhetsexemplet.
Så här lägger du till en anslutning till din IoT-hubb:
Kör kommandot az iot hub connection-string show för att hämta niska veze för din IoT-hubb.
az iot hub connection-string show --hub-name {YourIoTHubName}
Kopiera niska veze utan omgivande citattecken.
I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn och sedan + Lägg till anslutning.
Klistra in niska veze i rutan Anslutningssträng.
Välj Spara.
Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .
Så här lägger du till lagringsplatsen för den offentliga modellen:
I IoT Explorer väljer du Start för att återgå till hemvyn.
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.
En post visas för lagringsplatsen för den offentliga modellen på
https://devicemodels.azure.com
.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:
I hemvyn i IoT Explorer väljer du IoT-hubbar.
Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.
Välj + Ny och ange ett enhets-ID för din enhet, till exempel mydevice. Låt alla andra egenskaper vara desamma.
Välj Skapa.
Använd kopieringsknapparna för att kopiera och anteckna fältet Primär niska veze. Du behöver den här niska veze 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.
Ö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.
Klona Azure IoT Python SDK-enhetsexempel till din lokala dator:
git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
Gå till exempelkatalogen:
Windows
cd azure-iot-sdk-python\samples\pnp
Linux- eller Raspberry Pi OS
cd azure-iot-sdk-python/samples/pnp
Installera Azure IoT Python SDK:
pip3 install azure-iot-device
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 niska veze 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ärdetconnectionString
literal .
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'
Våldsamt slag
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Ange en miljövariabel med namnet
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:
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.
På den vänstra menyn för enheten väljer du Telemetri.
Bekräfta att Använd inbyggd händelsehubb har angetts till Ja och välj sedan Start.
Visa telemetrin när enheten skickar meddelanden till molnet.
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:
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.
I komponentfönstret thermostat1 väljer du Telemetri på den översta menyn.
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:
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}
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:
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
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.