Snabbstart: Etablera en simulerad symmetrisk nyckelenhet

I den här snabbstarten skapar du en simulerad enhet på din Windows-dator. Den simulerade enheten är konfigurerad för att använda den symmetriska nyckelattesteringsmekanismen för autentisering. När du har konfigurerat enheten etablerar du den sedan till din IoT-hubb med hjälp av Azure IoT Hub Device Provisioning Service.

Om du inte känner till etableringsprocessen kan du läsa etableringsöversikten.

Den här snabbstarten visar en lösning för en Windows-baserad arbetsstation. Du kan dock även utföra procedurerna i Linux. Ett Linux-exempel finns i Självstudie: etablera geo-svarstid.

Förutsättningar

  • Installera .NET SDK 6.0 eller senare på din Windows-baserade dator. Du kan använda följande kommando för att kontrollera din version.

    dotnet --info
    
  • Installera Python 3.7 eller senare installerat på din Windows-baserade dator. Du kan kontrollera din version av Python genom att köra python --version.
  • Installera den senaste versionen av Git. Kontrollera att Git har lagts till i de miljövariabler som är tillgängliga för kommandofönstret. Se Software Freedom Conservancys Git-klientverktyg för den senaste versionen av git verktyg som ska installeras, vilket inkluderar Git Bash, kommandoradsappen som du kan använda för att interagera med din lokala Git-lagringsplats.

Förbereda utvecklingsmiljön

I det här avsnittet förbereder du en utvecklingsmiljö som används för att skapa Azure IoT C SDK. Exempelkoden försöker etablera enheten under enhetens startsekvens.

  1. Ladda ned det senaste CMake-byggsystemet.

    Viktigt!

    Kontrollera att Visual Studio-kraven (Visual Studio och arbetsbelastningen Skrivbordsutveckling med C++) är installerade på datorn innan du CMake startar installationen. När förutsättningarna är uppfyllda och nedladdningen har verifierats installerar du CMake-byggesystemet. Tänk också på att äldre versioner av CMake-byggsystemet inte kan generera lösningsfilen som används i den här artikeln. Se till att använda den senaste versionen av CMake.

  2. Öppna en webbläsare och gå till versionssidan för Azure IoT C SDK.

  3. Välj fliken Taggar överst på sidan.

  4. Kopiera taggnamnet för den senaste versionen av Azure IoT C SDK.

  5. Öppna en kommandotolk eller Git Bash-gränssnittet. Kör följande kommandon för att klona den senaste versionen av Azure IoT Device SDK för C GitHub-lagringsplatsen. Ersätt <release-tag> med taggen som du kopierade i föregående steg, till exempel: lts_01_2023.

    git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git
    cd azure-iot-sdk-c
    git submodule update --init
    

    Den här åtgärden kan ta flera minuter att slutföra.

  6. När åtgärden är klar kör du följande kommandon från azure-iot-sdk-c katalogen:

    mkdir cmake
    cd cmake
    
  7. Kodexemplet använder en symmetrisk nyckel för att tillhandahålla attestering. Kör följande kommando för att skapa en version av SDK:n som är specifik för din utvecklingsklientplattform som innehåller enhetsetableringsklienten:

    cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    

    Dricks

    Om cmake du inte hittar C++-kompilatorn kan du få byggfel när du kör kommandot ovan. Om det händer kan du prova att köra kommandot i Visual Studio-kommandotolken.

  8. När bygget har slutförts ser de sista utdataraderna ut ungefär som följande utdata:

    $ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    -- Building for: Visual Studio 16 2019
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    -- The C compiler identification is MSVC 19.29.30040.0
    -- The CXX compiler identification is MSVC 19.29.30040.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
    
  1. Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.

  2. Klona Azure IoT SDK för C# GitHub-lagringsplatsen med följande kommando:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.

  2. Klona Azure IoT SDK för Node.js GitHub-lagringsplats med följande kommando:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.

  2. Klona Azure IoT SDK för Python GitHub-lagringsplatsen med följande kommando:

    git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
    

    Kommentar

    Exemplen som används i den här självstudien finns i v2-grenen på azure-iot-sdk-python-lagringsplatsen. V3 av Python SDK är tillgängligt för användning i betaversion.

  1. Öppna en Git CMD- eller Git Bash-kommandoradsmiljö.

  2. Klona Azure IoT SDK för Java GitHub-lagringsplatsen med följande kommando:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. Gå till rotkatalogen azure-iot-sdk-java och skapa projektet för att ladda ned alla paket som behövs. Det här steget kan ta flera minuter att slutföra.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    

Skapa en enhetsregistrering

Azure IoT Device Provisioning Service stöder två typer av registreringar:

Den här artikeln visar en enskild registrering för en enskild enhet som ska etableras med en IoT-hubb.

  1. Logga in på Azure-portalen och gå till instansen av enhetsetableringstjänsten.

  2. Välj Hantera registreringar i avsnittet Inställningar i navigeringsmenyn.

  3. Välj fliken Enskilda registreringar och välj sedan Lägg till enskild registrering.

    Screenshot that shows the add individual enrollment option.

  4. På sidan Registrering + etablering av sidan Lägg till registrering anger du följande information för att konfigurera registreringsinformationen:

    Fält beskrivning
    Intyg Välj Symmetrisk nyckel som attesteringsmekanism.
    Inställningar för symmetrisk nyckel Markera rutan Generera symmetriska nycklar automatiskt om du vill använda slumpmässigt genererade nycklar. Avmarkera den här rutan om du vill ange egna nycklar.
    Registrerings-ID Ange ett unikt registrerings-ID för enheten.
    Etableringsstatus Markera kryssrutan Aktivera den här registreringen om du vill att den här registreringen ska vara tillgänglig för att etablera enheten. Avmarkera den här rutan om du vill att registreringen ska inaktiveras. Du kan ändra den här inställningen senare.
    Ometableringsprincip Välj en återetableringsprincip som visar hur du vill att DPS ska hantera enheter som begär ometablering. Mer information finns i Ometablera principer.
  5. Välj Nästa: IoT-hubbar.

  6. På fliken IoT-hubbarsidan Lägg till registrering anger du följande information för att avgöra vilka IoT-hubbar som registreringen kan etablera enheter till:

    Fält beskrivning
    IoT-målhubbar Välj en eller flera av dina länkade IoT-hubbar eller lägg till en ny länk till en IoT-hubb. Mer information om hur du länkar IoT-hubbar till din DPS-instans finns i Länka och hantera IoT-hubbar.
    Allokeringsprincip Om du har valt fler än en länkad IoT-hubb väljer du hur du vill tilldela enheter till de olika hubbarna. Mer information om allokeringsprinciper finns i Använda allokeringsprinciper.

    Om du bara valde en länkad IoT-hubb rekommenderar vi att du använder principen för jämnt viktad distribution .
  7. Välj Nästa: Enhetsinställningar

  8. På fliken Enhetsinställningarsidan Lägg till registrering anger du följande information för att definiera hur nyligen etablerade enheter ska konfigureras:

    Fält beskrivning
    Enhets-ID Ange ett enhets-ID som ska tilldelas till den etablerade enheten i IoT Hub. Om du inte anger något enhets-ID används registrerings-ID:t.
    IoT Edge Kontrollera Aktivera IoT Edge på etablerade enheter om den etablerade enheten ska köra Azure IoT Edge. Avmarkera den här rutan om den här registreringen gäller för en enhet som inte är IoT Edge-aktiverad.
    Enhetstaggar Använd den här textrutan om du vill ange eventuella taggar som du vill använda för enhetstvillingen för den etablerade enheten.
    Önskade egenskaper Använd den här textrutan om du vill ange önskade egenskaper som du vill använda för enhetstvillingen för den etablerade enheten.

    Mer information finns i Understand and use device twins in IoT Hub (Förstå och använda enhetstvillingar i IoT Hub).

  9. Välj Nästa: Granska + skapa.

  10. På fliken Granska + skapa kontrollerar du alla dina värden och väljer sedan Skapa.

När du har skapat den enskilda registreringen genereras en primärnyckel och en sekundär nyckel och läggs till i registreringsposten. Du använder primärnyckeln i enhetsexemplet senare i den här snabbstarten.

  1. Om du vill visa din simulerade symmetriska nyckelenhetsregistrering väljer du fliken Enskilda registreringar .

  2. Välj enhetens registrerings-ID i listan över enskilda registreringar.

  3. Kopiera värdet för den genererade primärnyckeln.

    Screenshot showing the enrollment details, highlighting the Copy button for the primary key of the device enrollment

Förbereda och köra enhetsetableringskoden

I det här avsnittet uppdaterar du enhetsexempelkoden för att skicka enhetens startsekvens till enhetsetableringstjänstens instans. Den här startsekvensen gör att enheten identifieras, autentiseras och tilldelas till en IoT-hubb som är länkad till enhetsetableringstjänstens instans.

Exempeletableringskoden utför följande uppgifter i ordning:

  1. Autentiserar enheten med enhetsetableringsresursen med hjälp av följande tre parametrar:

    • ID-omfånget för enhetsetableringstjänsten
    • Registrerings-ID:t för enhetsregistreringen.
    • Den primära symmetriska nyckeln för enhetsregistreringen.
  2. Tilldelar enheten till den IoT-hubb som redan är länkad till enhetsetableringstjänstens instans.

Så här uppdaterar och kör du etableringsexemplet med din enhetsinformation:

  1. På huvudmenyn i enhetsetableringstjänsten väljer du Översikt.

  2. Kopiera ID-omfångsvärdet.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. I Visual Studio öppnar du lösningsfilen azure_iot_sdks.sln som har genererats genom att köra CMake. Lösningsfilen bör vara på följande plats:

    
    \azure-iot-sdk-c\cmake\azure_iot_sdks.sln
    
    

    Dricks

    Om filen inte genererades i din cmake-katalog kontrollerar du att du har använt en ny version av CMake-byggsystemet.

  4. I Fönstret Solution Explorer i Visual Studio går du till mappen Provision_Samples. Expandera exempelprojektet med namnet prov_dev_client_sample. Expandera Källfiler och öppna prov_dev_client_sample.c.

  5. Hitta konstanten id_scope och ersätt värdet med det ID-omfångsvärde som du kopierade i steg 2.

    static const char* id_scope = "0ne00002193";
    
  6. Hitta definitionen för funktionen main() i samma fil. Kontrollera att variabeln hsm_type är inställd SECURE_DEVICE_TYPE_SYMMETRIC_KEY på enligt följande exempel:

    SECURE_DEVICE_TYPE hsm_type;
    //hsm_type = SECURE_DEVICE_TYPE_TPM;
    //hsm_type = SECURE_DEVICE_TYPE_X509;
    hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
    
  7. Hitta anropet till prov_dev_set_symmetric_key_info() i prov_dev_client_sample.c som har kommenterats ut.

    // Set the symmetric key if using they auth type
    //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
    

    Avkommentera funktionsanropet och ersätt platshållarvärdena (inklusive vinkelparenteserna) med enhetens registrerings-ID och det primära nyckelvärde som du kopierade tidigare.

    // Set the symmetric key if using they auth type
    prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
    
  8. Spara filen.

  9. Högerklicka på projektet prov_dev_client_sample och välj Ange som startprojekt.

  10. I Visual Studio-menyn väljer du Felsökning>Starta utan felsökning för att köra lösningen. I kommandotolken återskapa projektet väljer du Ja för att återskapa projektet innan du kör det.

    Följande utdata är ett exempel på hur enheten ansluter till etableringstjänstinstansen som ska tilldelas till en IoT-hubb:

    Provisioning API Version: 1.2.8
    
    Registering Device
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: device-007
    Press enter key to exit:
    

Exempeletableringskoden utför följande uppgifter:

  1. Autentiserar enheten med enhetsetableringsresursen med hjälp av följande tre parametrar:

    • ID-omfånget för enhetsetableringstjänsten
    • Registrerings-ID:t för enhetsregistreringen.
    • Den primära symmetriska nyckeln för enhetsregistreringen.
  2. Tilldelar enheten till den IoT-hubb som redan är länkad till enhetsetableringstjänstens instans.

  3. Skickar ett testtelemetrimeddelande till IoT-hubben.

Så här uppdaterar och kör du etableringsexemplet med din enhetsinformation:

  1. På huvudmenyn i enhetsetableringstjänsten väljer du Översikt.

  2. Kopiera ID-omfångsvärdet.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. Öppna en kommandotolk och gå till SymmetricKeySample på den klonade sdk-lagringsplatsen:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. Öppna Parameters.cs i en textredigerare i mappen SymmetricKeySample. Den här filen visar de tillgängliga parametrarna för exemplet. Endast de tre första obligatoriska parametrarna används i den här artikeln när du kör exemplet. Granska koden i den här filen. Inga ändringar behövs.

    Parameter Obligatoriskt Beskrivning
    --i eller --IdScope Sant ID-omfånget för DPS-instansen
    --r eller --RegistrationId Sant Registrerings-ID:t är en skiftlägeskänslig sträng (upp till 128 tecken lång) med alfanumeriska tecken plus specialtecken: '-', '.', '_', ':'. Det sista tecknet måste vara alfanumeriskt eller streck ('-').
    --p eller --PrimaryKey Sant Den primära nyckeln för den enskilda registreringen eller den härledda enhetsnyckeln för gruppregistreringen. Se ComputeDerivedSymmetricKeySample för hur du genererar den härledda nyckeln.
    --g eller --GlobalDeviceEndpoint Falsk Den globala slutpunkten för enheter att ansluta till. Standardvärdet är global.azure-devices-provisioning.net
    --t eller --TransportType Falsk Transporten som ska användas för att kommunicera med enhetsetableringsinstansen. Standardvärdet är Mqtt. Möjliga värden är Mqtt, Mqtt_WebSocket_Only, Mqtt_Tcp_Only, Amqp, Amqp_WebSocket_Only, Amqp_Tcp_onlyoch Http1.
  5. Öppna ProvisioningDeviceClientSample.cs i en textredigerare i mappen SymmetricKeySample. Den här filen visar hur klassen SecurityProviderSymmetricKey används tillsammans med klassen ProvisioningDeviceClient för att etablera din simulerade symmetriska nyckelenhet. Granska koden i den här filen. Inga ändringar behövs.

  6. Skapa och kör exempelkoden med följande kommando:

    • Ersätt <id-scope> med det ID-omfång som du kopierade i steg 2.
    • Ersätt <registration-id> med det registrerings-ID som du angav för enhetsregistreringen.
    • Ersätt <primarykey> med den primärnyckel som du kopierade från enhetsregistreringen.
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. Du bör nu se något som liknar följande utdata. En "TestMessage"-sträng skickas till hubben som ett testmeddelande.

    D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ==
    
    Initializing the device provisioning client...
    Initialized for registration Id symm-key-csharp-device-01.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net.
    Creating symmetric key authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    Enter any key to exit.
    

Exempeletableringskoden utför följande uppgifter i ordning:

  1. Autentiserar enheten med enhetsetableringsresursen med hjälp av följande fyra parametrar:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Tilldelar enheten till den IoT-hubb som redan är länkad till enhetsetableringstjänstens instans.

  3. Skickar ett testtelemetrimeddelande till IoT-hubben.

Så här uppdaterar och kör du etableringsexemplet med din enhetsinformation:

  1. På huvudmenyn i enhetsetableringstjänsten väljer du Översikt.

  2. Kopiera värdena för ID-omfånget och den globala enhetens slutpunkt .

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Öppna en kommandotolk för att köra Node.js kommandon och gå till följande katalog:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. I mappen provisioning/device/samples öppnar du register_symkey.js och granskar koden. Observera att exempelkoden anger en anpassad nyttolast:

    provisioningClient.setProvisioningPayload({a: 'b'});
    

    Du kan kommentera ut den här koden eftersom den inte behövs för den här snabbstarten. En anpassad nyttolast skulle krävas att du vill använda en anpassad allokeringsfunktion för att tilldela enheten till en IoT-hubb. Mer information finns i Självstudie: Använda anpassade allokeringsprinciper.

    Metoden provisioningClient.register() försöker registrera enheten.

    Inga ytterligare ändringar behövs.

  5. I kommandotolken kör du följande kommandon för att ange miljövariabler som används av exemplet:

    • Ersätt <provisioning-global-endpoint> med den globala enhetsslutpunkten som du kopierade i steg 2.
    • Ersätt <id-scope> med det ID-omfång som du kopierade i steg 2.
    • Ersätt <registration-id> med det registrerings-ID som du angav för enhetsregistreringen.
    • Ersätt <primarykey> med den primärnyckel som du kopierade från enhetsregistreringen.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. Skapa och kör exempelkoden med hjälp av följande kommandon:

     npm install
    
    node register_symkey.js
    
  7. Du bör nu se något som liknar följande utdata. En "Hello World"-sträng skickas till hubben som ett testmeddelande.

    D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js
    registration succeeded
    assigned hub=ExampleIoTHub.azure-devices.net
    deviceId=nodejs-device-01
    payload=undefined
    Client connected
    send status: MessageEnqueued
    

Exempeletableringskoden utför följande uppgifter i ordning:

  1. Autentiserar enheten med enhetsetableringsresursen med hjälp av följande fyra parametrar:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Tilldelar enheten till den IoT-hubb som redan är länkad till enhetsetableringstjänstens instans.

  3. Skickar ett testtelemetrimeddelande till IoT-hubben.

Så här uppdaterar och kör du etableringsexemplet med din enhetsinformation:

  1. På huvudmenyn i enhetsetableringstjänsten väljer du Översikt.

  2. Kopiera värdena för ID-omfånget och den globala enhetens slutpunkt .

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Öppna en kommandotolk och gå till katalogen där exempelfilen provision_symmetric_key.py finns.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. I kommandotolken kör du följande kommandon för att ange miljövariabler som används av exemplet:

    • Ersätt <provisioning-global-endpoint> med den globala enhetsslutpunkten som du kopierade i steg 2.
    • Ersätt <id-scope> med det ID-omfång som du kopierade i steg 2.
    • Ersätt <registration-id> med det registrerings-ID som du angav för enhetsregistreringen.
    • Ersätt <primarykey> med den primärnyckel som du kopierade från enhetsregistreringen.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. Installera biblioteket azure-iot-device genom att köra följande kommando.

    pip install azure-iot-device
    
  6. Kör Python-exempelkoden i provision_symmetric_key.py.

    python provision_symmetric_key.py
    
  7. Du bör nu se något som liknar följande utdata. Några exempel på telemetrimeddelanden för vindhastighet skickas också till hubben som ett test.

    D:\azure-iot-sdk-python\samples\async-hub-scenarios>python provision_symmetric_key.py
    RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2.  Setting timer.
    The complete registration result is
    python-device-008
    docs-test-iot-hub.azure-devices.net
    initialAssignment
    null
    Will send telemetry from the provisioned device
    sending message #8
    sending message #9
    sending message #3
    sending message #10
    sending message #4
    sending message #2
    sending message #6
    sending message #7
    sending message #1
    sending message #5
    done sending message #8
    done sending message #9
    done sending message #3
    done sending message #10
    done sending message #4
    done sending message #2
    done sending message #6
    done sending message #7
    done sending message #1
    done sending message #5
    

Exempeletableringskoden utför följande uppgifter i ordning:

  1. Autentiserar enheten med enhetsetableringsresursen med hjälp av följande fyra parametrar:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. Tilldelar enheten till den IoT-hubb som redan är länkad till enhetsetableringstjänstens instans.

  3. Skickar ett testtelemetrimeddelande till IoT-hubben.

Så här uppdaterar och kör du etableringsexemplet med din enhetsinformation:

  1. På huvudmenyn i enhetsetableringstjänsten väljer du Översikt.

  2. Kopiera värdena för ID-omfånget och den globala enhetens slutpunkt . Dessa värden är dina SCOPE_ID respektive GLOBAL_ENDPOINT parametrar.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Öppna Java-enhetens exempelkod för redigering. Den fullständiga sökvägen till enhetens exempelkod är:

    azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java

  4. Ange värdet för följande variabler för din DPS- och enhetsregistrering:

    • Ersätt <id-scope> med det ID-omfång som du kopierade i steg 2.
    • Ersätt <provisioning-global-endpoint> med den globala enhetsslutpunkten som du kopierade i steg 2.
    • Ersätt <registration-id> med det registrerings-ID som du angav för enhetsregistreringen.
    • Ersätt <primarykey> med den primärnyckel som du kopierade från enhetsregistreringen.
    private static final String SCOPE_ID = "<id-scope>";
    private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>";
    private static final String SYMMETRIC_KEY = "<primarykey>";
    private static final String REGISTRATION_ID = "<registration-id>";
    
  5. Öppna en kommandotolk för att skapa. Gå till projektmappen för etableringsexempel för Java SDK-lagringsplatsen.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. Skapa exemplet.

    mvn clean install
    
  7. Gå till target mappen och kör den skapade .jar filen. java I kommandot ersätter du {version} platshållaren med versionen i .jar filnamnet på datorn.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. Du bör nu se något som liknar följande utdata.

    Starting...
    Beginning setup.
    Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0
    Starting provisioning thread...
    Waiting for Provisioning Service to register
    Opening the connection to device provisioning service...
    Connection to device provisioning service opened successfully, sending initial device registration message
    Authenticating with device provisioning service using symmetric key
    Waiting for device provisioning service to provision this device...
    Current provisioning status: ASSIGNING
    Device provisioning service assigned the device successfully
    IotHUb Uri : <Your IoT hub name>.azure-devices.net
    Device ID : java-device-007
    Sending message from device to IoT Hub...
    Press any key to exit...
    Message received! Response status: OK_EMPTY
    

Bekräfta registreringen av enhetsetablering

  1. Gå till Azure-portalen.

  2. På den vänstra menyn eller på portalsidan väljer du Alla resurser.

  3. Välj den IoT-hubb som enheten tilldelades till.

  4. I menyn Enhetshantering väljer du Enheter.

  5. Om enheten har etablerats bör enhets-ID:t visas i listan med Status inställd som Aktiverad. Om du inte ser enheten väljer du Uppdatera överst på sidan.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C# example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Node.js example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Python example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Java example.

Kommentar

Om du ändrade din inledande enhetstvillingstatus från standardvärdet i registreringsposten för din enhet kan den hämta önskad tvillingstatus från hubben och agera utifrån det. Mer information finns i Understand and use device twins in IoT Hub (Förstå och använda enhetstvillingar i IoT Hub).

Rensa resurser

Om du planerar att fortsätta arbeta med och utforska enhetsklientexemplet ska du inte rensa resurserna som skapades i den här snabbstarten. Om du inte planerar att fortsätta använder du följande steg för att ta bort alla resurser som skapats av den här snabbstarten.

Ta bort enhetsregistreringen

  1. Stäng utdatafönstret för enhetsklientexemplet på datorn.

  2. På den vänstra menyn i Azure-portalen väljer du Alla resurser.

  3. Välj enhetsetableringstjänsten.

  4. På menyn Inställningar väljer du Hantera registreringar.

  5. Välj fliken Enskilda registreringar .

  6. Markera kryssrutan bredvid registrerings-ID:t för den enhet som du registrerade i den här snabbstarten.

  7. Välj Ta bort längst upp på sidan.

Ta bort enhetsregistreringen från IoT Hub

  1. På den vänstra menyn i Azure-portalen väljer du Alla resurser.

  2. Välj din IoT-hubb.

  3. I menyn Utforskareväljer du IoT-enheter.

  4. Markera kryssrutan bredvid enhets-ID:t för den enhet som du registrerade i den här snabbstarten.

  5. Välj Ta bort längst upp på sidan.

Nästa steg

I den här snabbstarten etablerade du en enda enhet till din IoT-hubb med hjälp av en enskild registrering. Lär dig sedan hur du etablerar flera enheter över flera hubbar.