Share via


Creare ed effettuare il provisioning di dispositivi IoT Edge su larga scala in Windows usando chiavi simmetriche

Si applicaall'icona:sì IoT Edge 1.1

Importante

IoT Edge 1.1 data di fine del supporto è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.

Questo articolo fornisce istruzioni end-to-end per il provisioning automatico di uno o più dispositivi Windows IoT Edge usando chiavi simmetriche. È possibile effettuare automaticamente il provisioning dei dispositivi azure IoT Edge con il servizio device provisioning (DPS) hub IoT di Azure. Se non si ha familiarità con il processo di provisioning automatico, esaminare la panoramica del provisioning prima di continuare.

Nota

Azure IoT Edge con contenitori Windows non sarà supportato a partire dalla versione 1.2 di Azure IoT Edge.

È consigliabile usare il nuovo metodo per l'esecuzione di IoT Edge nei dispositivi Windows, Azure IoT Edge per Linux in Windows.

Se si vuole usare Azure IoT Edge per Linux in Windows, è possibile seguire la procedura descritta nella guida pratica equivalente.

Le attività sono le seguenti:

  1. Creare una registrazione singola per un singolo dispositivo o una registrazione di gruppo per un set di dispositivi.
  2. Installare il runtime di IoT Edge e connettersi al hub IoT.

L'attestazione con chiave simmetrica è un approccio semplice per autenticare un dispositivo con un'istanza del servizio device provisioning. Questo metodo di attestazione rappresenta un'esperienza di "Hello World" per gli sviluppatori che non hanno familiarità con il provisioning dei dispositivi o che non possiedono requisiti di sicurezza restrittivi. L'attestazione del dispositivo che usa certificati TPM o X.509 è più sicura e deve essere usata per requisiti di sicurezza più rigorosi.

Prerequisiti

Risorse cloud

Requisiti dei dispositivi

Un dispositivo Windows fisico o virtuale da usare come dispositivo IoT Edge.

È necessario definire un ID di registrazione univoco per identificare ogni dispositivo. È possibile usare l'indirizzo MAC, il numero di serie o informazioni univoche dal dispositivo. Ad esempio, è possibile usare una combinazione di un indirizzo MAC e un numero di serie che formano la stringa seguente per un ID di registrazione: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6. I caratteri validi sono alfanumerici minuscoli e trattini (-).

Creare una registrazione nel servizio Device Provisioning

Creare una registrazione per effettuare il provisioning di uno o più dispositivi tramite dps.

Se si vuole effettuare il provisioning di un singolo dispositivo IoT Edge, creare una registrazione singola. Se è necessario eseguire il provisioning di più dispositivi, seguire la procedura per la creazione di una registrazione del gruppo dps.

Quando si crea una registrazione nel servizio Device Provisioning, è possibile dichiarare uno stato iniziale del dispositivo gemello. Nel dispositivo gemello è possibile impostare tag per raggruppare i dispositivi in base a una qualsiasi metrica necessaria nella propria soluzione, come l'area, l'ambiente, la località o il tipo di dispositivo. Questi tag vengono usati per creare distribuzioni automatiche.

Per altre informazioni sulle registrazioni nel servizio device provisioning, vedere Come gestire le registrazioni dei dispositivi.

Creare una registrazione singola del servizio Device Provisioning

Suggerimento

I passaggi descritti in questo articolo sono relativi alla portale di Azure, ma è anche possibile creare registrazioni singole usando l'interfaccia della riga di comando di Azure. Per altre informazioni, vedere az iot dps enrollment. Come parte del comando dell'interfaccia della riga di comando, usare il flag abilitato per edge per specificare che la registrazione è per un dispositivo IoT Edge.

  1. Nella portale di Azure passare all'istanza di hub IoT servizio device provisioning.

  2. In le impostazioni selezionare Gestisci registrazioni.

  3. Selezionare Aggiungi registrazione singola, quindi completare la procedura seguente per configurare la registrazione:

    1. Per Meccanismo selezionare Chiave simmetrica.

    2. Specificare un ID di registrazione univoco per il dispositivo.

    3. Facoltativamente, specificare un ID dispositivo hub IoT per il dispositivo. È possibile usare gli ID dispositivo per identificare come destinazione un singolo dispositivo per la distribuzione di moduli. Se non si specifica un ID dispositivo, viene usato l'ID di registrazione.

    4. Selezionare True per dichiarare che la registrazione è per un dispositivo IoT Edge.

    5. Facoltativamente, aggiungere un valore di tag allo stato iniziale del dispositivo gemello. È possibile usare tag per identificare come destinazione gruppi di dispositivi per la distribuzione di moduli. Ad esempio:

      {
         "tags": {
            "environment": "test"
         },
         "properties": {
            "desired": {}
         }
      }
      
    6. Selezionare Salva.

  4. Copiare il valore della chiave primaria della registrazione singola da usare durante l'installazione del runtime di IoT Edge.

Ora che esiste una registrazione per questo dispositivo, il runtime di IoT Edge può effettuare automaticamente il provisioning del dispositivo durante l'installazione.

Installare IoT Edge

In questa sezione si prepara la macchina virtuale Windows o il dispositivo fisico per IoT Edge. Installare quindi IoT Edge.

Azure IoT Edge si basa su un runtime per contenitori compatibile con OCI. Moby, un motore basato su Moby, è incluso nello script di installazione, il che significa che non ci sono passaggi aggiuntivi per installare il motore.

Per installare il runtime di IoT Edge:

  1. Eseguire PowerShell come amministratore.

    Usare una sessione AMD64 di PowerShell, non PowerShell(x86). Se non si è certi del tipo di sessione in uso, eseguire il comando seguente:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Eseguire il comando Deploy-IoTEdge , che esegue le attività seguenti:

    • Verifica che il computer Windows sia in una versione supportata
    • Attiva la funzionalità contenitori
    • Scarica il motore moby e il runtime di IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Riavviare il dispositivo, se richiesto.

Quando si installa IoT Edge in un dispositivo, è possibile usare parametri aggiuntivi per modificare il processo, tra cui:

  • Indirizzare il traffico attraverso un server proxy
  • Puntare il programma di installazione a una directory locale per l'installazione offline

Per altre informazioni su questi parametri aggiuntivi, vedere Script di PowerShell per IoT Edge con i contenitori di Windows.

Effettuare il provisioning del dispositivo con la relativa identità cloud

Dopo aver installato il runtime nel dispositivo, configurare il dispositivo con le informazioni usate per connettersi al servizio device provisioning e hub IoT.

Preparare le informazioni seguenti:

  • Valore ambito ID DPS
  • ID registrazione del dispositivo creato
  • Chiave primaria da una registrazione singola o una chiave derivata per i dispositivi che usano una registrazione di gruppo.
  1. Aprire una finestra di PowerShell in modalità amministratore. Assicurarsi di usare una sessione AMD64 di PowerShell quando si installa IoT Edge, non PowerShell (x86).

  2. Il comando Initialize-IoTEdge configura il runtime IoT Edge nel computer. Il comando usa per impostazione predefinita il provisioning manuale con i contenitori di Windows, quindi usare il flag per usare il -DpsSymmetricKey provisioning automatico con l'autenticazione con chiave simmetrica.

    Sostituire i valori segnaposto per paste_scope_id_here, paste_registration_id_heree paste_symmetric_key_here con i dati raccolti in precedenza.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -DpsSymmetricKey -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here -SymmetricKey paste_symmetric key_here
    

Verificare l'esito positivo dell'installazione

Se il runtime è stato avviato correttamente, è possibile passare all'hub IoT e iniziare la distribuzione di moduli IoT Edge nel dispositivo.

È possibile verificare che sia stata usata la registrazione singola creata nel servizio device provisioning. Passare all'istanza del servizio device provisioning nel portale di Azure. Aprire i dettagli della registrazione per la registrazione singola creata. Si noti che lo stato della registrazione viene assegnato e che l'ID dispositivo è elencato.

Usare i comandi seguenti nel dispositivo per verificare che il IoT Edge installato e avviato correttamente.

Verificare lo stato del servizio IoT Edge.

Get-Service iotedge

Esaminare i log del servizio.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Elencare i moduli in esecuzione.

iotedge list

Passaggi successivi

Il processo di registrazione del servizio device provisioning consente di impostare l'ID dispositivo e i tag del dispositivo gemello contemporaneamente durante il provisioning del nuovo dispositivo. È possibile usare questi valori per identificare come destinazione singoli dispositivi o gruppi di dispositivi usando la gestione automatica dei dispositivi. Informazioni su come distribuire e monitorare i moduli IoT Edge su larga scala usando il portale di Azure o l'interfaccia dellariga di comando di Azure.