Quickstart: Een gesimuleerd symmetrisch sleutelapparaat inrichten

In deze quickstart maakt u een gesimuleerd apparaat op uw Windows-computer. Het gesimuleerde apparaat is geconfigureerd voor het gebruik van het attestation-mechanisme voor symmetrische sleutels voor verificatie. Nadat u uw apparaat hebt geconfigureerd, richt u het vervolgens in op uw IoT-hub met behulp van de Azure IoT Hub Device Provisioning Service.

Als u niet bekend bent met het inrichtingsproces, raadpleegt u het inrichtingsoverzicht .

In deze quickstart ziet u een oplossing voor een Windows-werkstation. U kunt echter ook de procedures op Linux uitvoeren. Zie Zelfstudie: inrichten voor geolatentie voor een Linux-voorbeeld.

Vereisten

  • Installeer .NET SDK 6.0 of hoger op uw Windows-computer. U kunt de volgende opdracht gebruiken om uw versie te controleren.

    dotnet --info
    
  • Installeer Python 3.7 of hoger die op uw Windows-computer is geïnstalleerd. U kunt uw versie van Python controleren door python --version uit te voeren.
  • Installeer de meest recente versie van Git. Zorg ervoor dat Git is toegevoegd aan de omgevingsvariabelen die toegankelijk zijn voor het opdrachtvenster. Zie de Git-clienthulpprogramma's van Software Freedom Conservancy voor de nieuwste versie van git hulpprogramma's die u kunt installeren, waaronder Git Bash, de opdrachtregel-app die u kunt gebruiken om te communiceren met uw lokale Git-opslagplaats.

Uw ontwikkelomgeving voorbereiden

In deze sectie bereidt u een ontwikkelomgeving voor die wordt gebruikt om de Azure IoT C SDK te bouwen. De voorbeeldcode probeert het apparaat in te richten tijdens de opstartvolgorde van het apparaat.

  1. Download het nieuwste CMake-buildsysteem.

    Belangrijk

    Controleer of de vereisten voor Visual Studio (Visual Studio en de workload Desktopontwikkeling met C++) op uw computer zijn geïnstalleerd voordat u de CMake installatie start. Zodra aan de vereisten is voldaan en de download is geverifieerd, installeert u het CMake-bouwsysteem. Houd er ook rekening mee dat oudere versies van het CMake-buildsysteem het oplossingsbestand dat in dit artikel wordt gebruikt, niet kunnen genereren. Zorg ervoor dat u de nieuwste versie van CMake gebruikt.

  2. Open een webbrowser en ga naar de releasepagina van de Azure IoT C SDK.

  3. Selecteer het tabblad Tags boven aan de pagina.

  4. Kopieer de tagnaam voor de nieuwste versie van de Azure IoT C SDK.

  5. Open een opdrachtprompt of Git Bash-shell. Voer de volgende opdrachten uit om de nieuwste versie van de Azure IoT Device SDK voor C GitHub-opslagplaats te klonen. Vervang <release-tag> door de tag die u in de vorige stap hebt gekopieerd, bijvoorbeeld: 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
    

    Het kan enkele minuten duren voordat deze bewerking is voltooid.

  6. Wanneer de bewerking is voltooid, voert u de volgende opdrachten uit vanuit de azure-iot-sdk-c map:

    mkdir cmake
    cd cmake
    
  7. In het codevoorbeeld wordt een symmetrische sleutel gebruikt om attestation te bieden. Voer de volgende opdracht uit om een versie van de SDK te bouwen die specifiek is voor uw ontwikkelclientplatform met de client voor apparaatinrichting:

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

    Tip

    Als cmake uw C++-compiler niet wordt gevonden, kunnen er buildfouten optreden tijdens het uitvoeren van de bovenstaande opdracht. Als dit gebeurt, voert u de opdracht uit in de Visual Studio-opdrachtprompt.

  8. Wanneer de build is voltooid, zien de laatste paar uitvoerregels er ongeveer als volgt uit:

    $ 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. Open een Git CMD- of Git Bash-opdrachtregelomgeving.

  2. Kloon de Azure IoT SDK voor C# GitHub-opslagplaats met behulp van de volgende opdracht:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Open een Git CMD- of Git Bash-opdrachtregelomgeving.

  2. Kloon de GitHub-opslagplaats Azure IoT SDK voor Node.js met behulp van de volgende opdracht:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. Open een Git CMD- of Git Bash-opdrachtregelomgeving.

  2. Kloon de Azure IoT SDK voor Python GitHub-opslagplaats met behulp van de volgende opdracht:

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

    Notitie

    De voorbeelden die in deze zelfstudie worden gebruikt, bevinden zich in de v2-vertakking van de opslagplaats azure-iot-sdk-python. V3 van de Python SDK is beschikbaar voor gebruik in bètaversie.

  1. Open een Git CMD- of Git Bash-opdrachtregelomgeving.

  2. Kloon de Azure IoT SDK voor Java GitHub-opslagplaats met behulp van de volgende opdracht:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. Ga naar de hoofdmap azure-iot-sdk-java en bouw het project om alle benodigde pakketten te downloaden. Het kan enkele minuten duren voordat deze stap is voltooid.

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

Een apparaatinschrijving maken

Azure IoT Device Provisioning Service ondersteunt twee typen inschrijvingen:

In dit artikel wordt een afzonderlijke inschrijving gedemonstreerd voor één apparaat dat moet worden ingericht met een IoT-hub.

  1. Meld u aan bij Azure Portal en navigeer naar uw Device Provisioning Service-exemplaar.

  2. Selecteer Inschrijvingen beheren in de sectie Instellingen van het navigatiemenu.

  3. Selecteer het tabblad Afzonderlijke inschrijvingen en selecteer vervolgens Afzonderlijke inschrijving toevoegen.

    Screenshot that shows the add individual enrollment option.

  4. Geef op de pagina Registratie en inrichting van de pagina Inschrijving toevoegen de volgende informatie op om de inschrijvingsgegevens te configureren:

    Veld Beschrijving
    Attest Selecteer symmetrische sleutel als attestation-mechanisme.
    Instellingen voor symmetrische sleutels Schakel het selectievakje Symmetrische sleutels genereren automatisch in als u willekeurig gegenereerde sleutels wilt gebruiken. Schakel dit selectievakje uit als u uw eigen sleutels wilt opgeven.
    Registratie-id Geef een unieke registratie-id op voor het apparaat.
    Inrichtingsstatus Schakel het selectievakje Deze inschrijving inschakelen in als u wilt dat deze inschrijving beschikbaar is om het apparaat in te richten. Schakel dit selectievakje uit als u wilt dat de inschrijving wordt uitgeschakeld. U kunt deze instelling later wijzigen.
    Beleid voor opnieuw inrichten Kies een beleid voor opnieuw inrichten dat aangeeft hoe DPS apparaten verwerkt die herinrichting aanvragen. Zie Beleid voor opnieuw inrichten voor meer informatie.
  5. Selecteer Volgende: IoT-hubs.

  6. Geef op het tabblad IoT Hubs van de pagina Inschrijving toevoegen de volgende informatie op om te bepalen voor welke IoT-hubs de inschrijving apparaten kan inrichten:

    Veld Beschrijving
    IoT-doelhubs Selecteer een of meer gekoppelde IoT-hubs of voeg een nieuwe koppeling toe aan een IoT-hub. Zie IoT-hubs koppelen en beheren voor meer informatie over het koppelen van IoT-hubs aan uw DPS-exemplaar.
    Toewijzingsbeleid Als u meer dan één gekoppelde IoT-hub hebt geselecteerd, selecteert u hoe u apparaten wilt toewijzen aan de verschillende hubs. Zie Toewijzingsbeleid gebruiken voor meer informatie over toewijzingsbeleid.

    Als u slechts één gekoppelde IoT-hub hebt geselecteerd, raden we u aan het gelijkmatig gewogen distributiebeleid te gebruiken.
  7. Volgende selecteren: Apparaatinstellingen

  8. Geef op het tabblad Apparaatinstellingen van de pagina Inschrijving toevoegen de volgende informatie op om te definiëren hoe nieuw ingerichte apparaten worden geconfigureerd:

    Veld Beschrijving
    Apparaat-id Geef een apparaat-id op die wordt toegewezen aan het ingerichte apparaat in IoT Hub. Als u geen apparaat-id opgeeft, wordt de registratie-id gebruikt.
    IoT Edge Schakel IoT Edge in op ingerichte apparaten als op het ingerichte apparaat Azure IoT Edge wordt uitgevoerd. Schakel dit selectievakje uit als deze inschrijving is bedoeld voor een apparaat dat niet is ingeschakeld voor IoT Edge.
    Apparaattags Gebruik dit tekstvak om alle tags op te geven die u wilt toepassen op de apparaatdubbel van het ingerichte apparaat.
    Gewenste eigenschappen Gebruik dit tekstvak om de gewenste eigenschappen op te geven die u wilt toepassen op de apparaatdubbel van het ingerichte apparaat.

    Zie Apparaatdubbels begrijpen en gebruiken in IoT Hub voor meer informatie.

  9. Selecteer Volgende: Beoordelen en maken.

  10. Controleer op het tabblad Controleren en maken al uw waarden en selecteer Vervolgens Maken.

Zodra u de afzonderlijke inschrijving hebt gemaakt, worden een primaire sleutel en secundaire sleutel gegenereerd en toegevoegd aan de inschrijvingsvermelding. U gebruikt de primaire sleutel in het apparaatvoorbeeld verderop in deze quickstart.

  1. Als u de inschrijving van het gesimuleerde symmetrische sleutelapparaat wilt weergeven, selecteert u het tabblad Afzonderlijke inschrijvingen .

  2. Selecteer de registratie-id van uw apparaat in de lijst met afzonderlijke inschrijvingen.

  3. Kopieer de waarde van de gegenereerde primaire sleutel.

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

De apparaatinrichtingscode voorbereiden en uitvoeren

In deze sectie werkt u de voorbeeldcode van het apparaat bij om de opstartvolgorde van het apparaat naar uw Device Provisioning Service-exemplaar te verzenden. Deze opstartvolgorde zorgt ervoor dat het apparaat wordt herkend, geverifieerd en toegewezen aan een IoT-hub die is gekoppeld aan het Device Provisioning Service-exemplaar.

De voorbeeldinrichtingscode voert de volgende taken uit, in volgorde:

  1. Verifieert uw apparaat met uw Device Provisioning-resource met behulp van de volgende drie parameters:

    • Het id-bereik van uw Device Provisioning Service
    • De registratie-id voor de apparaatinschrijving.
    • De primaire symmetrische sleutel voor de apparaatinschrijving.
  2. Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.

Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:

  1. Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.

  2. Kopieer de waarde van het id-bereik .

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

  3. Open in Visual Studio het oplossingsbestand azure_iot_sdks.sln dat is gegenereerd door CMake uit te voeren. Het oplossingsbestand bevindt zich als het goed is op de volgende locatie:

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

    Tip

    Als het bestand niet in de cmake-directory is gegenereerd, controleer dan of u een recente versie van het CMake-build-systeem hebt gebruikt.

  4. Ga in het venster Solution Explorer van Visual Studio naar de map Provision_Samples. Vouw het voorbeeldproject met de naam prov_dev_client_sample uit. Vouw bronbestanden uit en open prov_dev_client_sample.c.

  5. Zoek de id_scope constante en vervang de waarde door de id-bereikwaarde die u in stap 2 hebt gekopieerd.

    static const char* id_scope = "0ne00002193";
    
  6. Zoek de definitie voor de functie main() op in hetzelfde bestand. Zorg ervoor dat de hsm_type variabele is ingesteld op SECURE_DEVICE_TYPE_SYMMETRIC_KEY zoals wordt weergegeven in het volgende voorbeeld:

    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. Zoek de aanroep in prov_dev_set_symmetric_key_info()prov_dev_client_sample.c die als commentaar is opgenomen.

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

    Verwijder opmerkingen bij de functieoproep en vervang de waarden van de tijdelijke aanduiding (inclusief de punthaken) door de registratie-id van uw apparaat en de primaire-sleutelwaarde die u eerder hebt gekopieerd.

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

  9. Klik met de rechtermuisknop op het prov_dev_client_sample project en selecteer Instellen als opstartproject.

  10. Selecteer in het menu van Visual Studio de optie Debug>Start without debugging om de oplossing uit te voeren. Klik in de prompt om het project opnieuw te bouwen op Yes om het project opnieuw te bouwen voordat het wordt uitgevoerd.

    De volgende output is een voorbeeld waarbij het apparaat met succes verbinding maakt met het inrichtingsservice-exemplaar voor toewijzing aan een IoT-hub:

    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:
    

Met de voorbeeldinrichtingscode worden de volgende taken uitgevoerd:

  1. Verifieert uw apparaat met uw Device Provisioning-resource met behulp van de volgende drie parameters:

    • Het id-bereik van uw Device Provisioning Service
    • De registratie-id voor de apparaatinschrijving.
    • De primaire symmetrische sleutel voor de apparaatinschrijving.
  2. Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.

  3. Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.

Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:

  1. Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.

  2. Kopieer de waarde van het id-bereik .

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

  3. Open een opdrachtprompt en ga naar de SymmetricKeySample in de gekloonde SDK-opslagplaats:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. Open Parameters.cs in de map SymmetricKeySample in een teksteditor. Dit bestand bevat de beschikbare parameters voor het voorbeeld. Alleen de eerste drie vereiste parameters worden in dit artikel gebruikt bij het uitvoeren van het voorbeeld. Controleer de code in dit bestand. Er zijn geen wijzigingen nodig.

    Parameter Vereist Beschrijving
    --i of --IdScope Waar Het id-bereik van het DPS-exemplaar
    --r of --RegistrationId Waar De registratie-id is een niet-hoofdlettergevoelige tekenreeks (maximaal 128 tekens lang) met alfanumerieke tekens plus de speciale tekens: '-', '.', '_'. ':' Het laatste teken moet alfanumeriek of streepje ('-') zijn.
    --p of --PrimaryKey Waar De primaire sleutel van de afzonderlijke inschrijving of de afgeleide apparaatsleutel van de groepsinschrijving. Zie de ComputeDerivedSymmetricKeySample voor het genereren van de afgeleide sleutel.
    --g of --GlobalDeviceEndpoint Onwaar Het globale eindpunt waarmee apparaten verbinding kunnen maken. Standaard ingesteld op global.azure-devices-provisioning.net
    --t of --TransportType Onwaar Het transport dat moet worden gebruikt om te communiceren met het inrichtingsexemplaren van het apparaat. Standaard ingesteld op Mqtt. Mogelijke waarden zijn, zoals Mqtt, Mqtt_WebSocket_Only, Mqtt_Tcp_Only, Amqp, Amqp_WebSocket_Only, en Amqp_Tcp_onlyHttp1.
  5. Open ProvisioningDeviceClientSample.cs in de map SymmetricKeySample in een teksteditor. Dit bestand laat zien hoe de klasse SecurityProviderSymmetricKey wordt gebruikt, samen met de klasse ProvisioningDeviceClient om uw gesimuleerde symmetrische-sleutelapparaat in te richten. Controleer de code in dit bestand. Er zijn geen wijzigingen nodig.

  6. Bouw en voer de voorbeeldcode uit met behulp van de volgende opdracht:

    • Vervang <id-scope> door het id-bereik dat u in stap 2 hebt gekopieerd.
    • Vervang door <registration-id> de registratie-id die u hebt opgegeven voor de apparaatinschrijving.
    • Vervang door <primarykey> de primaire sleutel die u hebt gekopieerd uit de apparaatinschrijving.
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. U ziet nu iets vergelijkbaars met de volgende uitvoer. Een 'TestMessage'-tekenreeks wordt als testbericht naar de hub verzonden.

    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.
    

De voorbeeldinrichtingscode voert de volgende taken uit, in volgorde:

  1. Verifieert uw apparaat met uw Device Provisioning-resource met behulp van de volgende vier parameters:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.

  3. Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.

Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:

  1. Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.

  2. Kopieer de waarden voor het id-bereik en het globale apparaateindpunt.

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

  3. Open een opdrachtprompt voor het uitvoeren van Node.js opdrachten en ga naar de volgende map:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. Open in de map inrichting/apparaat/voorbeeldenregister_symkey. js en controleer de code. U ziet dat met de voorbeeldcode een aangepaste nettolading wordt ingesteld:

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

    U kunt deze code commentaar geven, omdat deze niet nodig is voor deze quickstart. U hebt een aangepaste nettolading nodig om een aangepaste toewijzingsfunctie te gebruiken om uw apparaat toe te wijzen aan een IoT-hub. Zie Zelfstudie: Aangepast toewijzingsbeleid gebruiken voor meer informatie.

    De provisioningClient.register()-methode probeert uw apparaat te registreren.

    Er zijn geen verdere wijzigingen nodig.

  5. Voer in de opdrachtprompt de volgende opdrachten uit om omgevingsvariabelen in te stellen die door het voorbeeld worden gebruikt:

    • Vervang <provisioning-global-endpoint> door het globale apparaateindpunt dat u in stap 2 hebt gekopieerd.
    • Vervang <id-scope> door het id-bereik dat u in stap 2 hebt gekopieerd.
    • Vervang door <registration-id> de registratie-id die u hebt opgegeven voor de apparaatinschrijving.
    • Vervang door <primarykey> de primaire sleutel die u hebt gekopieerd uit de apparaatinschrijving.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. Bouw en voer de voorbeeldcode uit met behulp van de volgende opdrachten:

     npm install
    
    node register_symkey.js
    
  7. U ziet nu iets vergelijkbaars met de volgende uitvoer. Als testbericht wordt een tekenreeks 'Hallo wereld' naar de hub verzonden.

    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
    

De voorbeeldinrichtingscode voert de volgende taken uit, in volgorde:

  1. Verifieert uw apparaat met uw Device Provisioning-resource met behulp van de volgende vier parameters:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.

  3. Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.

Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:

  1. Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.

  2. Kopieer de waarden voor het id-bereik en het globale apparaateindpunt.

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

  3. Open een opdrachtprompt en ga naar de map waarin het voorbeeldbestand, provision_symmetric_key.py, zich bevindt.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. Voer in de opdrachtprompt de volgende opdrachten uit om omgevingsvariabelen in te stellen die door het voorbeeld worden gebruikt:

    • Vervang <provisioning-global-endpoint> door het globale apparaateindpunt dat u in stap 2 hebt gekopieerd.
    • Vervang <id-scope> door het id-bereik dat u in stap 2 hebt gekopieerd.
    • Vervang door <registration-id> de registratie-id die u hebt opgegeven voor de apparaatinschrijving.
    • Vervang door <primarykey> de primaire sleutel die u hebt gekopieerd uit de apparaatinschrijving.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. Installeer de azure-iot-device-bibliotheek door de volgende opdracht uit te voeren.

    pip install azure-iot-device
    
  6. Voer de Python-voorbeeldcode uit in provision_symmetric_key.py.

    python provision_symmetric_key.py
    
  7. U ziet nu iets vergelijkbaars met de volgende uitvoer. Sommige voorbeelden van telemetrieberichten over windsnelheid worden ook als test naar de hub verzonden.

    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
    

De voorbeeldinrichtingscode voert de volgende taken uit, in volgorde:

  1. Verifieert uw apparaat met uw Device Provisioning-resource met behulp van de volgende vier parameters:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.

  3. Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.

Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:

  1. Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.

  2. Kopieer de waarden voor het id-bereik en het globale apparaateindpunt. Deze waarden zijn respectievelijk uw SCOPE_ID en GLOBAL_ENDPOINT parameters.

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

  3. Open de Java-voorbeeldcode voor het apparaat om deze te bewerken. Het volledige pad naar de voorbeeldcode voor het apparaat is:

    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. Stel de waarde van de volgende variabelen in voor uw DPS- en apparaatinschrijving:

    • Vervang <id-scope> door het id-bereik dat u in stap 2 hebt gekopieerd.
    • Vervang <provisioning-global-endpoint> door het globale apparaateindpunt dat u in stap 2 hebt gekopieerd.
    • Vervang door <registration-id> de registratie-id die u hebt opgegeven voor de apparaatinschrijving.
    • Vervang door <primarykey> de primaire sleutel die u hebt gekopieerd uit de apparaatinschrijving.
    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. Open een opdrachtprompt voor compileren. Ga naar de projectmap van het inrichtingsvoorbeeld van de Java SDK-opslagplaats.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. Bouw het voorbeeld.

    mvn clean install
    
  7. Ga naar de target map en voer het gemaakte .jar bestand uit. Vervang in de java opdracht de {version} tijdelijke aanduiding door de versie in de .jar bestandsnaam op uw computer.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. U ziet nu iets vergelijkbaars met de volgende uitvoer.

    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
    

De registratie van de apparaatinrichting bevestigen

  1. Ga naar de Azure-portal.

  2. Selecteer Alle resources in het linkermenu of op de portalpagina.

  3. Selecteer de IoT-hub waaraan uw apparaat is toegewezen.

  4. Selecteer Apparaten in het menu Apparaatbeheer.

  5. Als uw apparaat is ingericht, moet de apparaat-id worden weergegeven in de lijst, waarbij de status is ingesteld als Ingeschakeld. Als u uw apparaat niet ziet, selecteert u Vernieuwen boven aan de pagina.

    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.

Notitie

Als u de standaardwaarde van de initiële status van de apparaatdubbel hebt gewijzigd in de inschrijvingsvermelding voor uw apparaat, kan de gewenste status van de dubbel uit de hub worden gehaald en er dienovereenkomstig naar worden gehandeld. Zie Apparaatdubbels begrijpen en gebruiken in IoT Hub voor meer informatie.

Resources opschonen

Als u van plan bent om door te gaan met het voorbeeld van de apparaatclient, moet u de resources die in deze quickstart zijn gemaakt, niet opschonen. Als u niet van plan bent om door te gaan, gebruikt u de volgende stappen om alle resources te verwijderen die door deze quickstart zijn gemaakt.

Uw apparaatinschrijving verwijderen

  1. Sluit het uitvoervenster van het voorbeeld van de apparaatclient op de computer.

  2. Selecteer Alle resources in het linkermenu in Azure Portal.

  3. Selecteer uw Device Provisioning Service.

  4. Selecteer Inschrijvingen beheren in het menu Instellingen.

  5. Selecteer het tabblad Afzonderlijke inschrijvingen .

  6. Schakel het selectievakje in naast de registratie-id van het apparaat dat u in deze quickstart hebt ingeschreven.

  7. Selecteer Verwijderen bovenaan de pagina.

Uw apparaatregistratie verwijderen uit IoT Hub

  1. Selecteer Alle resources in het linkermenu in Azure Portal.

  2. Selecteer uw IoT-hub.

  3. Selecteer IoT-apparaten in het menu Explorers.

  4. Schakel het selectievakje in naast de apparaat-id van het apparaat dat u in deze quickstart hebt geregistreerd.

  5. Selecteer Verwijderen bovenaan de pagina.

Volgende stappen

In deze quickstart hebt u één apparaat ingericht voor uw IoT-hub met behulp van een afzonderlijke inschrijving. Leer vervolgens hoe u meerdere apparaten in meerdere hubs inricht.