Avvio rapido: Effettuare il provisioning di un dispositivo con chiave simmetrica simulata
In questa guida introduttiva si crea un dispositivo simulato nel computer Windows. Il dispositivo simulato è configurato per l'uso del meccanismo di attestazione della chiave simmetrica per l'autenticazione. Dopo aver configurato il dispositivo, eseguirne il provisioning nell'hub IoT usando il servizio Device Provisioning hub IoT di Azure.
Se non si ha familiarità con il processo di provisioning, vedere la panoramica del provisioning .
Questa guida introduttiva illustra una soluzione per una workstation basata su Windows. Tuttavia, è anche possibile eseguire le procedure in Linux. Per un esempio di Linux, vedere Esercitazione: provisioning per la latenza geografica.
Prerequisiti
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Completare la procedura descritta in Configurare il servizio Device Provisioning in hub IoT con il portale di Azure.
- Se si usa un ambiente di sviluppo Windows, installare Visual Studio 2019 con il carico di lavoro "Sviluppo di applicazioni desktop con C++" abilitato. Sono supportati anche Visual Studio 2015 e Visual Studio 2017. Per Linux o macOS, vedere la sezione appropriata in Preparare l'ambiente di sviluppo nella documentazione dell'SDK.
Installare .NET SDK 6.0 o versione successiva nel computer basato su Windows. Per controllare la versione, è possibile usare il comando seguente.
dotnet --info
- Installare Node.js v4.0+.
- Installare Python 3.7 o versione successiva installato nel computer basato su Windows. Per controllare la versione di Python, eseguire
python --version
.
Installare Java SE Development Kit 8 o versione successiva installata nel computer.
Scaricare e installare Maven.
- Installare la versione più recente di Git. Verificare che Git venga aggiunto alle variabili di ambiente accessibili alla finestra di comando. Vedere gli strumenti client Git di Software Freedom Conservancy per la versione più recente degli strumenti
git
da installare, tra cui Git Bash, l'app da riga di comando che è possibile usare per interagire con il repository Git locale.
Preparare l'ambiente di sviluppo
In questa sezione viene preparato un ambiente di sviluppo usato per compilare Azure IoT C SDK. Il codice di esempio tenta di effettuare il provisioning del dispositivo durante la sequenza di avvio del dispositivo.
Scaricare il sistema di compilazione CMake più recente.
Importante
Verificare che i prerequisiti di Visual Studio (Visual Studio e il carico di lavoro "Sviluppo di applicazioni desktop con C++") siano installati nel computer prima di avviare l'installazione
CMake
. Quando i prerequisiti sono pronti e il download è stato verificato, installare il sistema di compilazione CMake. Tenere inoltre presente che le versioni precedenti del sistema di compilazione CMake non riescono a generare il file di soluzione usato in questo articolo. Assicurarsi di usare la versione più recente di CMake.Aprire un Web browser e passare alla pagina Versione di Azure IoT C SDK.
Selezionare la scheda Tag nella parte superiore della pagina.
Copiare il nome del tag per la versione più recente di Azure IoT C SDK.
Aprire un prompt dei comandi o la shell Git Bash. Eseguire i comandi seguenti per clonare la versione più recente del repository GitHub azure IoT Device SDK per C . Sostituire
<release-tag>
con il tag copiato nel passaggio precedente, ad esempio :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
Il completamento di questa operazione potrebbe richiedere alcuni minuti.
Al termine dell'operazione, eseguire i comandi seguenti dalla
azure-iot-sdk-c
directory :mkdir cmake cd cmake
L'esempio di codice usa una chiave simmetrica per fornire l'attestazione. Eseguire il comando seguente per compilare una versione dell'SDK specifica per la piattaforma client di sviluppo che include il client di provisioning dei dispositivi:
cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON ..
Suggerimento
Se
cmake
non trova il compilatore C++, potrebbero verificarsi errori di compilazione durante l'esecuzione del comando precedente. In tal caso, provare a eseguire il comando nel prompt dei comandi di Visual Studio.Al termine della compilazione, le ultime righe di output sono simili all'output seguente:
$ 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
Aprire una shell CMD Git o un ambiente della riga di comando Bash Git.
Clonare il repository GitHub azure IoT SDK per C# usando il comando seguente:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Aprire una shell CMD Git o un ambiente della riga di comando Bash Git.
Clonare il repository GitHub di Azure IoT SDK per Node.js usando il comando seguente:
git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
Aprire una shell CMD Git o un ambiente della riga di comando Bash Git.
Clonare il repository GitHub azure IoT SDK per Python usando il comando seguente:
git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
Nota
Gli esempi usati in questa esercitazione si trovano nel ramo v2 del repository azure-iot-sdk-python. La versione 3 di Python SDK è disponibile per l'uso nella versione beta.
Aprire una shell CMD Git o un ambiente della riga di comando Bash Git.
Clonare il repository GitHub azure IoT SDK per Java usando il comando seguente:
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
Passare alla directory radice
azure-iot-sdk-java
e compilare il progetto per scaricare tutti i pacchetti necessari. Questo passaggio può richiedere alcuni minuti.cd azure-iot-sdk-java mvn install -DskipTests=true
Creare una registrazione dei dispositivi
Il servizio Device Provisioning in Azure IoT supporta due tipi di registrazione:
- Gruppi di registrazioni: usato per registrare più dispositivi correlati.
- Registrazioni singole: Usato per registrare un singolo dispositivo.
Questo articolo illustra una registrazione singola per un singolo dispositivo di cui eseguire il provisioning con un hub IoT.
Accedere al portale di Azure e aprire l'istanza del servizio Device Provisioning.
Selezionare Gestisci registrazioni nella sezione Impostazioni del menu di spostamento.
Selezionare la scheda Registrazioni singole, quindi selezionare Aggiungi registrazione singola.
Nella pagina Registrazione e provisioning della pagina Aggiungi registrazione specificare le informazioni seguenti per configurare i dettagli della registrazione:
Campo Descrizione Attestazione Selezionare Chiave simmetrica come Meccanismo di attestazione . impostazioni chiave simmetrica Selezionare la casella Genera chiavi simmetriche automaticamente se si vogliono usare chiavi generate in modo casuale. Deselezionare questa casella se si desidera specificare chiavi personalizzate. ID registrazione Specificare un ID di registrazione univoco per il dispositivo. Stato del provisioning Selezionare la casella Abilita questa registrazione se si vuole che la registrazione sia disponibile per effettuare il provisioning del dispositivo. Deselezionare questa casella se si vuole disabilitare la registrazione. Non è possibile modificare questa impostazione in un secondo momento. Criteri di reprovisioning Scegliere un criterio di reprovisioning che rifletta il modo in cui si vuole che il servizio Device Provisioning gestisca i dispositivi che richiedono il provisioning. Per altre informazioni, vedere Criteri di reprovisioning. Selezionare Avanti: Hub IoT.
Nella scheda Hub IoT della pagina Aggiungi registrazione specificare le informazioni seguenti per determinare gli hub IoT a cui la registrazione può effettuare il provisioning dei dispositivi:
Campo Descrizione Hub IoT di destinazione Selezionare uno o più hub IoT collegati oppure aggiungere un nuovo collegamento a un hub IoT. Per altre informazioni sul collegamento degli hub IoT all'istanza del servizio Device Provisioning, vedere Come collegare e gestire hub IoT. Criteri di allocazione Se sono stati selezionati più hub IoT collegati, selezionare la modalità di assegnazione dei dispositivi ai diversi hub. Per altre informazioni sui criteri di allocazione, vedere Come usare i criteri di allocazione.
Se è stato selezionato un solo hub IoT collegato, è consigliabile usare i criteri di distribuzione ponderati in modo uniforme.Selezionare Avanti: Impostazioni dispositivo
Nella scheda Impostazioni dispositivo della pagina Aggiungi registrazione specificare le informazioni seguenti per definire la modalità di configurazione dei dispositivi di cui è stato appena effettuato il provisioning:
Campo Descrizione ID dispositivo Specificare un ID dispositivo che verrà assegnato al dispositivo di cui è stato effettuato il provisioning in hub IoT. Se non si specifica un ID dispositivo, verrà usato l'ID di registrazione. IoT Edge Selezionare Abilita IoT Edge nei dispositivi di cui è stato effettuato il provisioning se il dispositivo di cui è stato effettuato il provisioning eseguirà Azure IoT Edge. Deselezionare questa casella se questa registrazione è per un dispositivo non abilitato per IoT Edge. Tag del dispositivo Usare questa casella di testo per specificare i tag da applicare al dispositivo gemello del dispositivo di cui è stato effettuato il provisioning. Proprietà desiderate Usare questa casella di testo per specificare le proprietà desiderate che si desidera applicare al dispositivo gemello del dispositivo di cui è stato effettuato il provisioning. Per altre informazioni, vedere Comprendere e usare dispositivi gemelli nell'hub IoT.
Selezionare Avanti: Rivedi e crea.
Nella scheda Rivedi e crea, verificare tutti i valori e quindi selezionare Crea.
Dopo aver creato la registrazione singola, viene generata una chiave primaria e una chiave secondaria e aggiunta alla voce di registrazione. La chiave primaria viene usata nell'esempio di dispositivo più avanti in questa guida introduttiva.
Per visualizzare la registrazione del dispositivo con chiave simmetrica simulata, selezionare la scheda Registrazioni singole.
Selezionare l'ID di registrazione del dispositivo dall'elenco delle registrazioni singole.
Copiare il valore della chiave primaria generata.
Preparare ed eseguire il codice di provisioning del dispositivo
In questa sezione si aggiorna il codice di esempio del dispositivo per inviare la sequenza di avvio del dispositivo all'istanza del servizio Device Provisioning. Questa sequenza di avvio fa sì che il dispositivo venga riconosciuto, autenticato e assegnato a un hub IoT collegato all'istanza del servizio Device Provisioning.
Il codice di provisioning di esempio esegue le attività seguenti, in ordine:
Autentica il dispositivo con la risorsa Device Provisioning usando i tre parametri seguenti:
- Ambito ID del servizio Device Provisioning
- ID di registrazione per la registrazione del dispositivo.
- Chiave simmetrica primaria per la registrazione del dispositivo.
Assegna il dispositivo all'hub IoT già collegato all'istanza del servizio Device Provisioning.
Per aggiornare ed eseguire l'esempio di provisioning con le informazioni sul dispositivo:
Nel menu principale del servizio Device Provisioning selezionare Panoramica.
Copiare il valore ambito ID.
In Visual Studio aprire il file di soluzione azure_iot_sdks.sln generato in precedenza tramite l'esecuzione di CMake. Il file di soluzione deve trovarsi nel percorso seguente:
\azure-iot-sdk-c\cmake\azure_iot_sdks.sln
Suggerimento
Se il file non è stato generato nella directory cmake, verificare di aver usato una versione recente del sistema di compilazione CMake.
Nella finestra Esplora soluzioni di Visual Studio passare alla cartella Provision_Samples. Espandere il progetto di esempio denominato prov_dev_client_sample. Espandere File di origine e aprire prov_dev_client_sample.c.
Trovare la
id_scope
costante e sostituire il valore con il valore ambito ID copiato nel passaggio 2.static const char* id_scope = "0ne00002193";
Trovare la definizione per la funzione
main()
nello stesso file. Assicurarsi che lahsm_type
variabile sia impostata suSECURE_DEVICE_TYPE_SYMMETRIC_KEY
come illustrato nell'esempio seguente:SECURE_DEVICE_TYPE hsm_type; //hsm_type = SECURE_DEVICE_TYPE_TPM; //hsm_type = SECURE_DEVICE_TYPE_X509; hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
Trovare la chiamata a
prov_dev_set_symmetric_key_info()
in prov_dev_client_sample.c impostata come commento.// Set the symmetric key if using they auth type //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
Rimuovere il commento dalla chiamata di funzione e sostituire i valori segnaposto (incluse le parentesi angolari) con l'ID registrazione del dispositivo e il valore della chiave primaria copiato in precedenza.
// Set the symmetric key if using they auth type prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
Salvare il file.
Fare clic con il pulsante destro del mouse sul progetto prov_dev_client_sample e scegliere Imposta come progetto di avvio.
Nel menu di Visual Studio selezionare Debug>Avvia senza eseguire debug per eseguire la soluzione. Quando viene chiesto di ricompilare il progetto, selezionare Sì per ricompilare il progetto prima di eseguirlo.
L'output seguente è un esempio di dispositivo che si connette correttamente all'istanza del servizio di provisioning da assegnare all'hub IoT:
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:
Il codice di provisioning di esempio esegue le attività seguenti:
Autentica il dispositivo con la risorsa Device Provisioning usando i tre parametri seguenti:
- Ambito ID del servizio Device Provisioning
- ID di registrazione per la registrazione del dispositivo.
- Chiave simmetrica primaria per la registrazione del dispositivo.
Assegna il dispositivo all'hub IoT già collegato all'istanza del servizio Device Provisioning.
Invia un messaggio di telemetria di test all'hub IoT.
Per aggiornare ed eseguire l'esempio di provisioning con le informazioni sul dispositivo:
Nel menu principale del servizio Device Provisioning selezionare Panoramica.
Copiare il valore ambito ID.
Aprire un prompt dei comandi e passare a SymmetricKeySample nel repository sdk clonato:
cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
Nella cartella SymmetricKeySample aprire Parameters.cs in un editor di testo. Questo file mostra i parametri disponibili per l'esempio. In questo articolo vengono usati solo i primi tre parametri obbligatori durante l'esecuzione dell'esempio. Rivedere il codice di questo file: Non sono necessarie modifiche.
Parametro Richiesto Descrizione --i
oppure--IdScope
Vero Ambito ID dell'istanza del servizio Device Provisioning --r
oppure--RegistrationId
Vero L'ID registrazione è una stringa senza distinzione tra maiuscole e minuscole (fino a 128 caratteri) di caratteri alfanumerici più i caratteri speciali: '-'
,'.'
,'_'
,':'
. L'ultimo carattere deve essere alfanumerico o un trattino ('-'
).--p
oppure--PrimaryKey
Vero Chiave primaria della registrazione singola o della chiave del dispositivo derivata della registrazione del gruppo. Per informazioni su come generare la chiave derivata, vedere ComputeDerivedSymmetricKeySample. --g
oppure--GlobalDeviceEndpoint
Falso Endpoint globale a cui connettersi i dispositivi. L'impostazione predefinita è global.azure-devices-provisioning.net
--t
oppure--TransportType
Falso Trasporto da usare per comunicare con l'istanza di device provisioning. Il valore predefinito è Mqtt
. I valori possibili includonoMqtt
,Mqtt_WebSocket_Only
Mqtt_Tcp_Only
,Amqp
,Amqp_WebSocket_Only
, ,Amqp_Tcp_only
eHttp1
.Nella cartella SymmetricKeySample aprire ProvisioningDeviceClientSample.cs in un editor di testo. Questo file mostra come viene usata la classe SecurityProviderSymmetricKey insieme alla classe ProvisioningDeviceClient per effettuare il provisioning del dispositivo con chiave simmetrica simulata. Rivedere il codice di questo file: Non sono necessarie modifiche.
Compilare ed eseguire il codice di esempio usando il comando seguente:
- Sostituire
<id-scope>
con l'ambito ID copiato nel passaggio 2. - Sostituire
<registration-id>
con l'ID di registrazione fornito per la registrazione del dispositivo. - Sostituire
<primarykey>
con la chiave primaria copiata dalla registrazione del dispositivo.
dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
- Sostituire
Verrà ora visualizzato un risultato simile all'output seguente. Una stringa "TestMessage" viene inviata all'hub come messaggio di test.
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.
Il codice di provisioning di esempio esegue le attività seguenti, in ordine:
Autentica il dispositivo con la risorsa Device Provisioning usando i quattro parametri seguenti:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Assegna il dispositivo all'hub IoT già collegato all'istanza del servizio Device Provisioning.
Invia un messaggio di telemetria di test all'hub IoT.
Per aggiornare ed eseguire l'esempio di provisioning con le informazioni sul dispositivo:
Nel menu principale del servizio Device Provisioning selezionare Panoramica.
Copiare i valori dell'ambito ID e dell'endpoint del dispositivo globale.
Aprire un prompt dei comandi per l'esecuzione di comandi Node.js e passare alla directory seguente:
cd azure-iot-sdk-node/provisioning/device/samples
Nella cartella provisioning/device/samples aprire register_symkey.js ed esaminare il codice. Si noti che il codice di esempio imposta un payload personalizzato:
provisioningClient.setProvisioningPayload({a: 'b'});
È possibile impostare come commento questo codice, perché non è necessario per questa guida introduttiva. Sarebbe necessario un payload personalizzato per usare una funzione di allocazione personalizzata per assegnare il dispositivo a un hub IoT. Per altre informazioni, vedere Esercitazione: Usare criteri di allocazione personalizzati.
Il metodo
provisioningClient.register()
tenta di eseguire la registrazione del dispositivo.Non sono necessarie ulteriori modifiche.
Nel prompt dei comandi eseguire i comandi seguenti per impostare le variabili di ambiente usate dall'esempio:
- Sostituire
<provisioning-global-endpoint>
con l'endpoint del dispositivo globale copiato nel passaggio 2. - Sostituire
<id-scope>
con l'ambito ID copiato nel passaggio 2. - Sostituire
<registration-id>
con l'ID di registrazione fornito per la registrazione del dispositivo. - Sostituire
<primarykey>
con la chiave primaria copiata dalla registrazione del dispositivo.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- Sostituire
Compilare ed eseguire il codice di esempio usando i comandi seguenti:
npm install
node register_symkey.js
Verrà ora visualizzato un risultato simile all'output seguente. Una stringa "Hello World" viene inviata all'hub come messaggio di test.
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
Il codice di provisioning di esempio esegue le attività seguenti, in ordine:
Autentica il dispositivo con la risorsa Device Provisioning usando i quattro parametri seguenti:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Assegna il dispositivo all'hub IoT già collegato all'istanza del servizio Device Provisioning.
Invia un messaggio di telemetria di test all'hub IoT.
Per aggiornare ed eseguire l'esempio di provisioning con le informazioni sul dispositivo:
Nel menu principale del servizio Device Provisioning selezionare Panoramica.
Copiare i valori dell'ambito ID e dell'endpoint del dispositivo globale.
Aprire un prompt dei comandi e passare alla directory in cui si trova il file di esempio, provision_symmetric_key.py.
cd azure-iot-sdk-python\samples\async-hub-scenarios
Nel prompt dei comandi eseguire i comandi seguenti per impostare le variabili di ambiente usate dall'esempio:
- Sostituire
<provisioning-global-endpoint>
con l'endpoint del dispositivo globale copiato nel passaggio 2. - Sostituire
<id-scope>
con l'ambito ID copiato nel passaggio 2. - Sostituire
<registration-id>
con l'ID di registrazione fornito per la registrazione del dispositivo. - Sostituire
<primarykey>
con la chiave primaria copiata dalla registrazione del dispositivo.
set PROVISIONING_HOST=<provisioning-global-endpoint>
set PROVISIONING_IDSCOPE=<id-scope>
set PROVISIONING_REGISTRATION_ID=<registration-id>
set PROVISIONING_SYMMETRIC_KEY=<primarykey>
- Sostituire
Eseguire questo comando per installare la libreria azure-iot-device.
pip install azure-iot-device
Eseguire il codice di esempio Python in provision_symmetric_key.py.
python provision_symmetric_key.py
Verrà ora visualizzato un risultato simile all'output seguente. Alcuni messaggi di telemetria della velocità del vento vengono inviati anche all'hub come 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
Il codice di provisioning di esempio esegue le attività seguenti, in ordine:
Autentica il dispositivo con la risorsa Device Provisioning usando i quattro parametri seguenti:
GLOBAL_ENDPOINT
SCOPE_ID
REGISTRATION_ID
SYMMETRIC_KEY
Assegna il dispositivo all'hub IoT già collegato all'istanza del servizio Device Provisioning.
Invia un messaggio di telemetria di test all'hub IoT.
Per aggiornare ed eseguire l'esempio di provisioning con le informazioni sul dispositivo:
Nel menu principale del servizio Device Provisioning selezionare Panoramica.
Copiare i valori dell'ambito ID e dell'endpoint del dispositivo globale. Questi valori sono rispettivamente i
SCOPE_ID
parametri eGLOBAL_ENDPOINT
.Aprire il codice di esempio del dispositivo Java per la modifica. Il percorso completo del codice di esempio del dispositivo è:
azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java
Impostare il valore delle variabili seguenti per il servizio Device Provisioning e la registrazione del dispositivo:
- Sostituire
<id-scope>
con l'ambito ID copiato nel passaggio 2. - Sostituire
<provisioning-global-endpoint>
con l'endpoint del dispositivo globale copiato nel passaggio 2. - Sostituire
<registration-id>
con l'ID di registrazione fornito per la registrazione del dispositivo. - Sostituire
<primarykey>
con la chiave primaria copiata dalla registrazione del dispositivo.
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>";
- Sostituire
Aprire un prompt dei comandi per la compilazione. Passare alla cartella del progetto di esempio di provisioning del repository Java SDK.
cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
Compilare l'esempio.
mvn clean install
Passare alla
target
cartella ed eseguire il file creato.jar
.java
Nel comando sostituire il{version}
segnaposto con la versione nel nome file nel.jar
computer.cd target java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
Verrà ora visualizzato un risultato simile all'output seguente.
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
Confermare la registrazione del provisioning dei dispositivi
Vai al portale di Azure.
Nel menu a sinistra o nella pagina del portale selezionare Tutte le risorse.
Selezionare l'hub IoT a cui è stato assegnato il dispositivo.
Nel menu Gestione dei dispositivi selezionare Dispositivi.
Se il provisioning del dispositivo è stato eseguito correttamente, l'ID dispositivo dovrebbe essere visualizzato nell'elenco, con Stato impostato su Abilitato. Se il dispositivo non è visualizzato, selezionare Aggiorna nella parte superiore della pagina.
Nota
Se si è modificato lo stato iniziale del dispositivo gemello rispetto al valore predefinito della voce di registrazione del dispositivo, è possibile eseguire il pull dello stato del dispositivo desiderato dall'hub e agire di conseguenza. Per altre informazioni, vedere Comprendere e usare dispositivi gemelli nell'hub IoT.
Pulire le risorse
Se si prevede di continuare a lavorare ed esplorare l'esempio client del dispositivo, non pulire le risorse create in questa guida introduttiva. Se non si prevede di continuare, seguire questa procedura per eliminare tutte le risorse create da questa guida introduttiva.
Eliminare la registrazione del dispositivo
Chiudere la finestra di output di esempio di client del dispositivo sul computer.
Nel menu a sinistra nel portale di Azure, selezionare Tutte le risorse.
Selezionare il servizio Device Provisioning.
Nel menu Impostazioni selezionare Gestisci registrazioni.
Selezionare la scheda Registrazioni singole.
Selezionare la casella di controllo accanto all'ID di registrazione del dispositivo registrato in questa guida introduttiva.
Nella parte superiore della pagina selezionare Elimina.
Eliminare la registrazione del dispositivo da hub IoT
Nel menu a sinistra nel portale di Azure, selezionare Tutte le risorse.
Selezionare l'hub IoT.
Nel menu Explorer selezionare Dispositivi IoT.
Selezionare la casella di controllo accanto all'ID dispositivo del dispositivo registrato in questa guida introduttiva.
Nella parte superiore della pagina selezionare Elimina.
Passaggi successivi
In questa guida introduttiva è stato effettuato il provisioning di un singolo dispositivo nell'hub IoT usando una registrazione singola. Successivamente, informazioni su come effettuare il provisioning di più dispositivi tra più hub.