Condividi tramite


Creare ed effettuare il provisioning di un dispositivo IoT Edge in Windows usando chiavi simmetriche

Si applica a: Icona Sì IoT Edge 1.1

Importante

La data di fine del supporto di IoT Edge 1.1 è 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 la registrazione e il provisioning di un dispositivo Windows IoT Edge.

Nota

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

Prendere in considerazione l'uso del 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.

Ogni dispositivo che si connette a un hub IoT è dotato di un ID dispositivo, che viene usato per tenere traccia delle comunicazioni da cloud a dispositivo o da dispositivo a cloud. Configurare un dispositivo con le relative informazioni di connessione, che includono il nome host dell'hub IoT, l'ID dispositivo e le informazioni utilizzate dal dispositivo per l'autenticazione nell'hub IoT.

I passaggi descritti nel presente articolo illustrano un processo denominato provisioning manuale, in cui si connette un singolo dispositivo all'hub IoT. Per il provisioning manuale sono disponibili due opzioni per l'autenticazione dei dispositivi IoT Edge:

  • Chiavi simmetriche: quando si crea una nuova identità del dispositivo nell'hub IoT, il servizio crea due chiavi. Si inserisce una delle chiavi nel dispositivo e questa viene presentata all'hub IoT in fase di autenticazione.

    Questo metodo di autenticazione risulta più rapido per iniziare, ma non è il più sicuro.

  • X.509 autofirmato: creare due certificati di identità X.509 e inserirli nel dispositivo. Quando si crea una nuova identità del dispositivo nell'hub IoT, si forniscono le identificazioni personali di entrambi i certificati. Quando il dispositivo esegue l'autenticazione nell'hub IoT, presenta un certificato e l'hub IoT verifica che tale certificato corrisponda all'identificazione personale.

    Questo metodo di autenticazione è più sicuro ed è consigliato per gli scenari di produzione.

Il presente articolo illustra l'uso di chiavi simmetriche come metodo di autenticazione. Per usare i certificati X.509, vedere Creare ed effettuare il provisioning di un dispositivo IoT Edge in Windows con certificati X.509.

Nota

Se i dispositivi da configurare sono numerosi e non si desidera eseguire manualmente il provisioning di ognuno, consultare uno degli articoli seguenti riguardanti il funzionamento di IoT Edge con il servizio Device Provisioning in hub IoT:

Prerequisiti

Questo articolo illustra la registrazione del dispositivo IoT Edge e l'installazione di IoT Edge nel dispositivo. Queste attività presentano prerequisiti differenti e sono richieste utilità diverse per eseguirle. Prima di procedere, assicurarsi di avere soddisfatto tutti i prerequisiti.

Strumenti di gestione dei dispositivi

È possibile usare il portale di Azure, Visual Studio Code o l'interfaccia della riga di comando di Azure per la procedura di registrazione del dispositivo. Ogni utilità ha i propri prerequisiti:

Un hub IoT gratuito o standard nella sottoscrizione di Azure.

Requisiti dei dispositivi

Un dispositivo Windows.

IoT Edge con contenitori Windows richiede la versione 1809/build 17763 di Windows, che è la build di supporto a lungo termine di Windows più recente. Assicurarsi di esaminare l'elenco dei sistemi supportati per un elenco di SKU supportati.

Si noti che le versioni di Windows nel contenitore e nell'host devono corrispondere. Per altre informazioni, vedere Impossibile avviare il modulo a causa della mancata corrispondenza del sistema operativo.

Registrare il dispositivo

È possibile usare il portale di Azure, Visual Studio Code o l'l'interfaccia della riga di comando di Azure per la registrazione del dispositivo, a seconda delle preferenze.

Nell'hub IoT sul portale di Azure, i dispositivi IoT Edge vengono creati e gestiti separatamente dai dispositivi IoT non abilitati per Edge.

  1. Accedere al portale di Azure e passare all'hub IoT.

  2. Nel riquadro sinistro selezionare Dispositivi dal menu e quindi scegliere Aggiungi dispositivo.

  3. Nella pagina Crea un dispositivo specificare le informazioni seguenti:

    • Creare un ID dispositivo descrittivo. Prendere nota di questo ID dispositivo, perché verrà usato in un secondo momento.
    • Selezionare la casella di controllo Dispositivo IoT Edge.
    • Selezionare Chiave simmetrica come tipo di autenticazione.
    • Usare le impostazioni predefinite per la generazione automatica delle chiavi di autenticazione e la connessione del nuovo dispositivo all'hub.
  4. Seleziona Salva.

Dopo aver registrato un dispositivo nell'hub IoT, recuperare le informazioni utilizzate per completare l'installazione e il provisioning del runtime IoT Edge.

Visualizzare i dispositivi registrati e recuperare le informazioni di provisioning

I dispositivi che utilizzano l'autenticazione con chiave simmetrica necessitano delle stringhe di connessione per completare l'installazione e per effettuare il provisioning del runtime IoT Edge.

I dispositivi abilitati per Edge che si connettono all'hub IoT sono elencati nella pagina Dispositivi. È possibile filtrare l'elenco in base al tipo dispositivo Iot Edge.

Screenshot di come visualizzare i dispositivi nel portale di Azure hub IoT.

Quando si è pronti per configurare il dispositivo, è necessaria la stringa di connessione che collega il dispositivo fisico alla relativa identità nell'hub IoT.

I dispositivi che eseguono l'autenticazione con chiavi simmetriche hanno le stringhe di connessione disponibili per la copia nel portale.

  1. Nella pagina Dispositivi del portale selezionare l'ID dispositivo IoT Edge dall'elenco.
  2. Copiare il valore Stringa di connessione primaria o Stringa di connessione secondaria.

Installare IoT Edge

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

Azure IoT Edge si basa su un runtime del contenitore 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. Esegui 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 contenitori Windows.

Effettuare il provisioning del dispositivo con la relativa identità cloud

Ora che il motore del contenitore e il runtime di IoT Edge sono installati nel dispositivo, si è pronti per il passaggio successivo, ovvero configurare il dispositivo con le relative informazioni di autenticazione e identità cloud.

  1. Nel dispositivo IoT Edge eseguire PowerShell come amministratore.

  2. Usare il comando Initialize-IoTEdge per configurare il runtime di IoT Edge nel computer. L'impostazione predefinita del comando è provisioning manuale con i contenitori di Windows.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
    
    • Se è stato scaricato lo script IoTEdgeSecurityDaemon.ps1 nel dispositivo per l'installazione offline o specifica della versione, assicurarsi di fare riferimento alla copia locale dello script.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
      
  3. Quando richiesto, specificare il dispositivo stringa di connessione recuperato nella sezione precedente. Il dispositivo stringa di connessione associa il dispositivo fisico a un ID dispositivo in hub IoT e fornisce informazioni di autenticazione.

    Il dispositivo stringa di connessione accetta il formato seguente e non deve includere virgolette:HostName={IoT_hub_name}.azure-devices.net;DeviceId={device_name};SharedAccessKey={key}

Quando si effettua manualmente il provisioning di un dispositivo, è possibile usare parametri aggiuntivi per modificare il processo, tra cui:

  • Indirizzare il traffico attraverso un server proxy
  • Dichiarare un'immagine del contenitore edgeAgent specifica e specificare le credenziali se si trova in un registro privato

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

Verificare la corretta configurazione

Verificare che il runtime sia stato installato e configurato correttamente nel dispositivo IoT Edge.

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

Installazione offline o di una versione specifica (facoltativo)

I passaggi in questa sezione riguardano scenari non coperti dalla procedura di installazione standard. Possono includere:

  • Installare IoT Edge offline
  • Installare di una versione finale candidata
  • Installare una versione diversa dalla versione più recente

Durante l'installazione vengono scaricati tre file:

  • Uno script di PowerShell che contiene le istruzioni di installazione
  • Cab di Microsoft Azure IoT Edge, che contiene il daemon di sicurezza IoT Edge (iotedged), il motore del contenitore Moby e l'interfaccia della riga di comando di Moby
  • Programma di installazione di Visual C++ Redistributable Package (VC Runtime)

Se il dispositivo sarà offline durante l'installazione o se si vuole installare una versione specifica di IoT Edge, è possibile scaricare questi file in anticipo nel dispositivo. Quando è il momento di installare, puntare lo script di installazione nella directory che contiene i file scaricati. Il programma di installazione controlla prima la directory e quindi scarica solo i componenti non trovati. Se tutti i file sono disponibili offline, è possibile installare senza connessione Internet.

  1. Per i file di installazione più recenti di IoT Edge insieme alle versioni precedenti, vedere Versioni di Azure IoT Edge.

  2. Trovare la versione che si vuole installare e scaricare i file seguenti dalla sezione Assets delle note sulla versione nel dispositivo IoT:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab dal canale versione 1.1.

    È importante usare lo script di PowerShell dalla stessa versione del file di .cab usato perché le funzionalità cambiano per supportare le funzionalità in ogni versione.

  3. Se nel file .cab scaricato è presente un suffisso dell'architettura, rinominare il file in Microsoft-Azure-IoTEdge.cab.

  4. Facoltativamente, scaricare un programma di installazione per Visual C++ ridistribuibile. Ad esempio, lo script di PowerShell usa questa versione: vc_redist.x64.exe. Salvare il programma di installazione nella stessa cartella nel dispositivo IoT come file IoT Edge.

  5. Per eseguire l'installazione con componenti offline, dot source la copia locale dello script di PowerShell.

  6. Eseguire il comando Deploy-IoTEdge con il -OfflineInstallationPath parametro . Specificare il percorso assoluto della directory del file. ad esempio:

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    Il comando di distribuzione userà tutti i componenti trovati nella directory file locale fornita. Se manca il file .cab o il programma di installazione di Visual C++, tenterà di scaricarli.

Disinstallare IoT Edge

Se si vuole rimuovere l'installazione di IoT Edge dal dispositivo Windows, usare il comando Uninstall-IoTEdge da una finestra amministrativa di PowerShell. Questo comando rimuove il runtime di IoT Edge, insieme alla configurazione esistente e ai dati del motore Moby.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

Per altre informazioni sulle opzioni di disinstallazione, usare il comando Get-Help Uninstall-IoTEdge -full.

Passaggi successivi

Passare a distribuire moduli IoT Edge per informazioni su come distribuire moduli nel dispositivo.