Installare Azure IoT Edge per Linux in un dispositivo Windows ed effettuare il provisioning

Si applica a:  icona Sì IoT Edge 1,1

Il runtime di Azure IoT Edge è ciò che trasforma un dispositivo in un dispositivo IoT Edge. Il runtime può essere distribuito nei dispositivi dalla classe PC ai server industriali. Quando un dispositivo viene configurato con il runtime IoT Edge, è possibile iniziare a distribuirvi la logica di business dal cloud. Per altre informazioni, vedere Comprendere il runtime Azure IoT Edge e la relativa architettura.

Azure IoT Edge per Linux in Windows consente di installare IoT Edge in macchine virtuali Linux in esecuzione Windows dispositivi. La versione Linux di Azure IoT Edge e tutti i moduli Linux distribuiti con esso vengono eseguiti nella macchina virtuale. Da qui, Windows applicazioni e codice e il runtime IoT Edge e i moduli possono interagire liberamente tra loro.

Questo articolo elenca i passaggi per configurare IoT Edge in un Windows dispositivo. Questi passaggi distribuiscono una macchina virtuale Linux che contiene il runtime IoT Edge da eseguire nel dispositivo Windows, quindi effettuano il provisioning del dispositivo con l'identità del dispositivo dell'hub IoT.

Nota

IoT Edge per Linux in Windows è l'esperienza consigliata per l'uso di Azure IoT Edge in un Windows ambiente. Tuttavia, Windows contenitori sono ancora disponibili. Se si preferisce usare Windows contenitori, vedere Installare e gestire Azure IoT Edge con Windows contenitori.

Prerequisiti

  • Un account Azure con una sottoscrizione valida. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

  • Un hub IoT di livello Gratuito o Standard in Azure.

  • Un Windows con i requisiti minimi di sistema seguenti:

    • Windows 10 Versione 1809 o successiva; build 17763 o successiva
    • Professional, Enterprise o Server
    • Memoria disponibile minima: 1 GB
    • Spazio minimo su disco disponibile: 10 GB
    • Supporto della virtualizzazione
  • Se si vuole installare e gestire un dispositivo IoT Edge usando l'interfaccia di amministrazione di Windows, assicurarsi di avere accesso Windows Admin Center e che l'estensione Azure IoT Edge sia installata:

    1. Scaricare ed eseguire il programma di Windows Admin Center. Seguire le istruzioni dell'installazione guidata per installare Windows Admin Center.

    2. Dopo l'installazione, usare un browser supportato per aprire Windows admin center. I browser supportati includono Microsoft Edge (Windows 10, versione 1709 o successiva), Google Chrome e Microsoft Edge Insider.

    3. Al primo utilizzo di Windows Admin Center, verrà richiesto di selezionare un certificato da usare. Selezionare Windows client dell'interfaccia di amministrazione come certificato.

    4. Installare l'Azure IoT Edge. Selezionare l'icona a forma di ingranaggio in alto a destra Windows dashboard dell'interfaccia di amministrazione.

      Selezionare l'icona a forma di ingranaggio in alto a destra nel dashboard per accedere alle impostazioni.

    5. Nel menu Impostazioni, in Gateway selezionare Estensioni.

    6. Nella scheda Estensioni disponibili individuare Azure IoT Edge nell'elenco delle estensioni. Selezionarlo e selezionare il prompt Installa sopra l'elenco di estensioni.

    7. Al termine dell'installazione, verrà visualizzato Azure IoT Edge nell'elenco delle estensioni installate nella scheda Estensioni installate.

  • Se si vogliono usare moduli Linux con accelerazione GPU in Azure IoT Edge per Linux nella distribuzione Windows, è necessario prendere in considerazione diverse opzioni di configurazione. Sarà necessario installare i driver corretti a seconda dell'architettura della GPU e potrebbe essere necessario accedere a una Windows Programma Insider build. Per determinare le esigenze di configurazione e soddisfare questi prerequisiti, vedere Accelerazione GPUper Azure IoT Edge per Linux in Windows .

Scegliere il metodo di provisioning

Azure IoT Edge per Linux in Windows supporta i metodi di provisioning seguenti:

Creare una nuova distribuzione

Distribuire Azure IoT Edge per Linux Windows nel dispositivo di destinazione.

Installare IoT Edge per Linux Windows nel dispositivo di destinazione, se non è già stato fatto.

Nota

Il processo di PowerShell seguente illustra come distribuire IoT Edge per Linux in Windows nel dispositivo locale. Per eseguire la distribuzione in un dispositivo di destinazione remoto tramite PowerShell, è possibile usare PowerShell remoto per stabilire una connessione a un dispositivo remoto ed eseguire questi comandi in remoto in tale dispositivo.

  1. In una sessione di PowerShell con privilegi elevati eseguire ognuno dei comandi seguenti per scaricare IoT Edge per Linux in Windows.

    $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
    $ProgressPreference = 'SilentlyContinue'
    Invoke-WebRequest "https://aka.ms/AzEflowMSI" -OutFile $msiPath
    
  2. Installare IoT Edge per Linux Windows nel dispositivo.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    

    È possibile specificare IoT Edge per Linux nelle directory Windows e VHDX aggiungendo parametri e INSTALLDIR="<FULLY_QUALIFIED_PATH>" VHDXDIR="<FULLY_QUALIFIED_PATH>" al comando install.

  3. Impostare i criteri di esecuzione nel dispositivo di destinazione AllSigned su se non lo è già. È possibile controllare i criteri di esecuzione correnti in un prompt di PowerShell con privilegi elevati usando:

    Get-ExecutionPolicy -List
    

    Se il criterio di esecuzione local machine di non è , è possibile impostare i criteri di esecuzione AllSigned usando:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  4. Creare il IoT Edge per Linux nella Windows distribuzione.

    Deploy-Eflow
    

    Il Deploy-Eflow comando accetta parametri facoltativi che consentono di personalizzare la distribuzione.

    È possibile assegnare una GPU alla distribuzione per abilitare i moduli Linux con accelerazione GPU. Per ottenere l'accesso a queste funzionalità, è necessario installare i prerequisiti dettagliati nell'accelerazione GPUper Azure IoT Edge per Linux in Windows .

    Per usare un passthrough GPU, è necessario aggiungere i parametri gpuName, gpuPassthroughType e gpuCount al Deploy-Eflow comando. Per informazioni su tutti i parametri facoltativi disponibili, vedere Funzioni di PowerShell perIoT Edge per Linux in Windows .

    Avviso

    L'abilitazione del pass-through del dispositivo hardware può aumentare i rischi per la sicurezza. Microsoft consiglia un driver di mitigazione dei dispositivi del fornitore della GPU, se applicabile. Per altre informazioni, vedere Distribuire dispositivi grafici usando l'assegnazione di dispositivi discreti.

  5. Immettere "Y" per accettare le condizioni di licenza.

  6. Immettere 'O' o 'R' per attivare o disattivare i dati di diagnostica facoltativi, a seconda delle preferenze.

  7. Al termine della distribuzione, la finestra di PowerShell segnala l'esito positivo della distribuzione.

    Una distribuzione riuscita dirà "Distribuzione completata" alla fine dei messaggi

Al termine della distribuzione, è possibile effettuare il provisioning del dispositivo.

Effettuare il provisioning del dispositivo

Scegliere un metodo per il provisioning del dispositivo e seguire le istruzioni nella sezione appropriata. Questo articolo illustra i passaggi per il provisioning manuale del dispositivo con chiavi simmetriche o certificati X.509. Se si usa il provisioning automatico con DPS, seguire i collegamenti appropriati per completare il provisioning.

È possibile usare l'interfaccia Windows o una sessione di PowerShell con privilegi elevati per effettuare il provisioning dei dispositivi.

Provisioning manuale tramite la stringa di connessione

Questa sezione illustra il provisioning manuale del dispositivo usando IoT Edge stringa di connessione del dispositivo.

Se non è già stato fatto, seguire la procedura descritta in Registrare un dispositivo IoT Edge nell'hub IoT per registrare il dispositivo e recuperarne la stringa di connessione.

Eseguire il comando seguente in una sessione di PowerShell con privilegi elevati nel dispositivo di destinazione. Sostituire il testo segnaposto con valori personalizzati.

Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"

Per altre informazioni sul Provision-EflowVM comando , vedere Funzioni di PowerShell per IoT Edge per Linux in Windows.

Provisioning manuale con certificati X.509

Questa sezione illustra il provisioning manuale del dispositivo usando certificati X.509 nel IoT Edge dispositivo.

Se non è già stato fatto, seguire la procedura descritta in Registrare un dispositivo IoT Edge nell'hub IoT per preparare i certificati necessari e registrare il dispositivo.

Fare in modo che il certificato di identità del dispositivo e la chiave privata corrispondente sia pronto nel dispositivo di destinazione. Conoscere il percorso assoluto di entrambi i file.

Eseguire il comando seguente in una sessione di PowerShell con privilegi elevati nel dispositivo di destinazione. Sostituire il testo segnaposto con valori personalizzati.

Provision-EflowVm -provisioningType ManualX509 -iotHubHostname "<HUB HOSTNAME>" -deviceId "<DEVICE ID>" -identityCertPath "<ABSOLUTE PATH TO IDENTITY CERT>" -identityPrivKeyPath "<ABSOLUTE PATH TO PRIVATE KEY>"

Per altre informazioni sul Provision-EflowVM comando , vedere Funzioni di PowerShell per IoT Edge per Linux in Windows.

Verificare la corretta configurazione

Verificare che IoT Edge per Linux in Windows sia stato installato e configurato correttamente nel IoT Edge dispositivo.

  1. Accedere alla macchina virtuale IoT Edge per Linux Windows usando il comando seguente nella sessione di PowerShell:

    Connect-EflowVm
    

    Nota

    L'unico account autorizzato a eseguire SSH per la macchina virtuale è l'utente che l'ha creata.

  2. Dopo aver eseguito l'accesso, è possibile controllare l'elenco dei moduli IoT Edge usando il comando Linux seguente:

    sudo iotedge list
    
  3. Se è necessario risolvere i problemi del IoT Edge, usare i comandi Linux seguenti.

    1. Se è necessario risolvere problemi del servizio, recuperare i log di servizio.

      sudo journalctl -u iotedge
      
    2. Usare lo check strumento per verificare lo stato di configurazione e connessione del dispositivo.

      sudo iotedge check
      

Passaggi successivi