Creare e effettuare il provisioning di un dispositivo IoT Edge 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 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 di procedura equivalente.

Ogni dispositivo che si connette a un hub IoT ha un ID dispositivo usato per tenere traccia delle comunicazioni da cloud a dispositivo o da dispositivo a cloud. Si configura un dispositivo con le relative informazioni di connessione, che include il nome host dell'hub IoT, l'ID dispositivo e le informazioni usate dal dispositivo per eseguire l'autenticazione in hub IoT.

I passaggi descritti in questo 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 in hub IoT, il servizio crea due chiavi. Si inserisce una delle chiavi nel dispositivo e presenta la chiave per hub IoT durante l'autenticazione.

    Questo metodo di autenticazione è più veloce per iniziare, ma non come sicuro.

  • X.509 autofirmato: si creano due certificati di identità X.509 e li inseriscono nel dispositivo. Quando si crea una nuova identità del dispositivo in hub IoT, si forniscono identificazioni personali da entrambi i certificati. Quando il dispositivo esegue l'autenticazione a hub IoT, presenta un certificato e hub IoT verifica che il certificato corrisponda all'identificazione personale.

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

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

Nota

Se si dispone di molti dispositivi per configurare e non si vuole effettuare manualmente il provisioning di ognuno di essi, usare uno degli articoli seguenti per informazioni su come IoT Edge funziona con il servizio di provisioning dei dispositivi hub IoT:

Prerequisiti

Questo articolo illustra la registrazione del dispositivo IoT Edge e l'installazione di IoT Edge su di esso. Queste attività hanno prerequisiti e utilità diversi usati per eseguirli. Assicurarsi di disporre di tutti i prerequisiti coperti prima di procedere.

Strumenti di gestione dei dispositivi

È possibile usare l'portale di Azure, Visual Studio Code o l'interfaccia della riga di comando di Azure per la procedura per registrare il 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, ovvero la build più recente del supporto a lungo termine di Windows. 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.

Registrazione del dispositivo

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

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

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

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

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

    • Creare un ID dispositivo descrittivo. Prendere nota di questo ID dispositivo, come si userà in un secondo momento.
    • Selezionare la casella di controllo IoT Edge Dispositivo.
    • 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. Selezionare Salva.

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

Visualizzare i dispositivi registrati e recuperare le informazioni di provisioning

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

I dispositivi abilitati per dispositivi perimetrali 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 nell'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. 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

Ora che il motore del contenitore e il runtime di IoT Edge sono installati nel dispositivo, si è pronti per il passaggio successivo, che consiste nel 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 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 il IoTEdgeSecurityDaemon.ps1 script è stato scaricato 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 la stringa di connessione del dispositivo recuperata nella sezione precedente. La stringa di connessione del dispositivo associa il dispositivo fisico a un ID dispositivo in hub IoT e fornisce informazioni di autenticazione.

    La stringa di connessione del dispositivo ha 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 i contenitori di 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 della versione offline o specifica (facoltativa)

I passaggi descritti in questa sezione sono relativi agli scenari non coperti dai passaggi di installazione standard. Ciò può includere:

  • Installare IoT Edge offline
  • Installare 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
  • Microsoft Azure IoT Edge cab, 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 che non vengono trovati. Se tutti i file sono disponibili offline, è possibile installare senza connessione Internet.

  1. Per i file di installazione IoT Edge più recenti 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 Asset delle note sulla versione nel dispositivo IoT:

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

    È importante usare lo script di PowerShell dalla stessa versione del file .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++ redistributable. 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 i componenti offline, usare 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 di 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 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

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