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
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Voer de stappen uit in IoT Hub Device Provisioning Service instellen met Azure Portal.
- Als u een Windows-ontwikkelomgeving gebruikt, installeert u Visual Studio 2019 met de workload Desktopontwikkeling met C++ . Visual Studio 2015 en Visual Studio 2017 worden ook ondersteund. Voor Linux of macOS raadpleegt u het desbetreffende gedeelte in Uw ontwikkelomgeving voorbereiden in de SDK-documentatie.
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 Node.js v4.0+.
- 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 Java SE Development Kit 8 of hoger die op uw computer is geïnstalleerd.
Download en installeer Maven.
- 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.
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.Open een webbrowser en ga naar de releasepagina van de Azure IoT C SDK.
Selecteer het tabblad Tags boven aan de pagina.
Kopieer de tagnaam voor de nieuwste versie van de Azure IoT C SDK.
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.
Wanneer de bewerking is voltooid, voert u de volgende opdrachten uit vanuit de
azure-iot-sdk-c
map:mkdir cmake cd cmake
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.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
Open een Git CMD- of Git Bash-opdrachtregelomgeving.
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
Open een Git CMD- of Git Bash-opdrachtregelomgeving.
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
Open een Git CMD- of Git Bash-opdrachtregelomgeving.
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.
Open een Git CMD- of Git Bash-opdrachtregelomgeving.
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
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:
- Registratiegroepen: wordt gebruikt om meerdere gerelateerde apparaten in te schrijven.
- Afzonderlijke inschrijvingen: wordt gebruikt om één apparaat in te schrijven.
In dit artikel wordt een afzonderlijke inschrijving gedemonstreerd voor één apparaat dat moet worden ingericht met een IoT-hub.
Meld u aan bij Azure Portal en navigeer naar uw Device Provisioning Service-exemplaar.
Selecteer Inschrijvingen beheren in de sectie Instellingen van het navigatiemenu.
Selecteer het tabblad Afzonderlijke inschrijvingen en selecteer vervolgens Afzonderlijke inschrijving toevoegen.
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. Selecteer Volgende: IoT-hubs.
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.Volgende selecteren: Apparaatinstellingen
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.
Selecteer Volgende: Beoordelen en maken.
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.
Als u de inschrijving van het gesimuleerde symmetrische sleutelapparaat wilt weergeven, selecteert u het tabblad Afzonderlijke inschrijvingen .
Selecteer de registratie-id van uw apparaat in de lijst met afzonderlijke inschrijvingen.
Kopieer de waarde van de gegenereerde primaire sleutel.
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:
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.
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:
Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.
Kopieer de waarde van het id-bereik .
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.
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.
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";
Zoek de definitie voor de functie
main()
op in hetzelfde bestand. Zorg ervoor dat dehsm_type
variabele is ingesteld opSECURE_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;
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");
Sla het bestand op.
Klik met de rechtermuisknop op het prov_dev_client_sample project en selecteer Instellen als opstartproject.
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:
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.
Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.
Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.
Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:
Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.
Kopieer de waarde van het id-bereik .
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\'
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, zoalsMqtt
,Mqtt_WebSocket_Only
,Mqtt_Tcp_Only
,Amqp
,Amqp_WebSocket_Only
, enAmqp_Tcp_only
Http1
.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.
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>
- Vervang
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:
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
Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.
Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.
Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:
Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.
Kopieer de waarden voor het id-bereik en het globale apparaateindpunt.
Open een opdrachtprompt voor het uitvoeren van Node.js opdrachten en ga naar de volgende map:
cd azure-iot-sdk-node/provisioning/device/samples
Open in de map inrichting/apparaat/voorbeelden register_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.
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>
- Vervang
Bouw en voer de voorbeeldcode uit met behulp van de volgende opdrachten:
npm install
node register_symkey.js
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:
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
Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.
Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.
Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:
Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.
Kopieer de waarden voor het id-bereik en het globale apparaateindpunt.
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
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>
- Vervang
Installeer de azure-iot-device-bibliotheek door de volgende opdracht uit te voeren.
pip install azure-iot-device
Voer de Python-voorbeeldcode uit in provision_symmetric_key.py.
python provision_symmetric_key.py
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:
Verifieert uw apparaat met uw Device Provisioning-resource met behulp van de volgende vier parameters:
GLOBAL_ENDPOINT
SCOPE_ID
REGISTRATION_ID
SYMMETRIC_KEY
Hiermee wordt het apparaat toegewezen aan de IoT-hub die al is gekoppeld aan uw Device Provisioning Service-exemplaar.
Hiermee wordt een testtelemetriebericht verzonden naar de IoT-hub.
Het inrichtingsvoorbeeld bijwerken en uitvoeren met de apparaatgegevens:
Selecteer Overzicht in het hoofdmenu van Device Provisioning Service.
Kopieer de waarden voor het id-bereik en het globale apparaateindpunt. Deze waarden zijn respectievelijk uw
SCOPE_ID
enGLOBAL_ENDPOINT
parameters.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
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>";
- Vervang
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
Bouw het voorbeeld.
mvn clean install
Ga naar de
target
map en voer het gemaakte.jar
bestand uit. Vervang in dejava
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
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
Ga naar de Azure Portal.
Selecteer Alle resources in het linkermenu of op de portalpagina.
Selecteer de IoT-hub waaraan uw apparaat is toegewezen.
Selecteer Apparaten in het menu Apparaatbeheer.
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.
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
Sluit het uitvoervenster van het voorbeeld van de apparaatclient op de computer.
Selecteer Alle resources in het linkermenu in Azure Portal.
Selecteer uw Device Provisioning Service.
Selecteer Inschrijvingen beheren in het menu Instellingen.
Selecteer het tabblad Afzonderlijke inschrijvingen .
Schakel het selectievakje in naast de registratie-id van het apparaat dat u in deze quickstart hebt ingeschreven.
Selecteer Verwijderen bovenaan de pagina.
Uw apparaatregistratie verwijderen uit IoT Hub
Selecteer Alle resources in het linkermenu in Azure Portal.
Selecteer uw IoT-hub.
Selecteer IoT-apparaten in het menu Explorers.
Schakel het selectievakje in naast de apparaat-id van het apparaat dat u in deze quickstart hebt geregistreerd.
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.