Preparare l'ambiente di sviluppo e test per IoT Edge

Si applica a: Segno di spunta IoT Edge 1.5 IoT Edge 1.5 Segno di spunta IoT Edge 1.4 IoT Edge 1.4

Importante

IoT Edge 1.5 LTS e IoT Edge 1.4 LTS sono versioni supportate. IoT Edge 1.4 LTS raggiungerà la fine del servizio il 12 novembre 2024. Se si usa una versione precedente, vedere Aggiornare IoT Edge.

IoT Edge sposta la logica di business esistente ai dispositivi perimetrali. Per preparare le applicazioni e i carichi di lavoro per l'esecuzione come moduli IoT Edge, è necessario compilarli come contenitori. Questo articolo offre indicazioni su come configurare l'ambiente di sviluppo in modo da poter creare una soluzione IoT Edge. Dopo aver configurato l'ambiente di sviluppo, è possibile imparare a Sviluppare moduli IoT Edge personalizzati.

In qualsiasi soluzione IoT Edge sono presenti almeno due computer da considerare: il dispositivo (o i dispositivi) IoT Edge che esegue il modulo IoT Edge e il computer di sviluppo che compila, testa e distribuisce moduli. Questo articolo è incentrato principalmente sul computer di sviluppo. A scopo di test, i due computer possono corrispondere. È possibile eseguire IoT Edge nel computer di sviluppo e distribuire i moduli a tale computer.

Sistema operativo

IoT Edge viene eseguito in un set specifico di sistemi operativi supportati. Quando si sviluppa per IoT Edge, è possibile usare la maggior parte dei sistemi operativi che possono eseguire un motore del contenitore. Il motore del contenitore è un requisito nel computer di sviluppo per compilare i moduli come contenitori ed eseguirne il push in un registro contenitori.

Se il computer di sviluppo non è in grado di eseguire IoT Edge, passare alla sezione Strumenti di test di questo articolo per informazioni su come testare ed eseguire il debug in locale.

Non è necessario che i sistemi operativi del computer di sviluppo e dei dispositivi IoT Edge corrispondano. Tuttavia il sistema operativo del contenitore deve essere coerente con il computer di sviluppo e il dispositivo IoT Edge. Ad esempio, è possibile sviluppare moduli in un computer Windows e distribuirli a un dispositivo Linux. Il computer Windows deve eseguire contenitori Linux per compilare i moduli per il dispositivo Linux.

Motore del contenitore

Il concetto centrale di IoT Edge è la possibilità di distribuire in modalità remota la logica di business e cloud ai dispositivi creando pacchetti nei contenitori. Per compilare i contenitori, è necessario un motore del contenitore nel computer di sviluppo.

Qualsiasi motore di contenitori compatibile con Open Container Initiative, come Docker, è in grado di compilare immagini del modulo IoT Edge. Moby è il motore di contenitori supportato per i dispositivi IoT Edge nell'ambiente di produzione. Se si usano snap Ubuntu Core, lo snap Docker viene gestito da Canonical e supportato per gli scenari di produzione.

Strumenti di sviluppo

Lo Strumento di sviluppo di Azure IoT Edge è uno strumento da riga di comando per sviluppare e testare i moduli IoT Edge. È possibile creare nuovi scenari IoT Edge, compilare immagini del modulo, eseguire moduli in un simulatore e monitorare i messaggi inviati all'hub IoT. Lo strumento iotedgedev è lo strumento consigliato per lo sviluppo di moduli IoT Edge.

Sia Visual Studio che Visual Studio Code hanno estensioni aggiuntive per sviluppare soluzioni IoT Edge. Queste estensioni forniscono modelli specifici del linguaggio per aiutare a creare e distribuire nuovi scenari di IoT Edge. Le estensioni di Azure IoT Edge per Visual Studio e Visual Studio Code consentono di codificare, compilare e distribuire soluzioni IoT Edge e a eseguirne il debug. È possibile creare un'intera soluzione IoT Edge contenente più moduli; le estensioni aggiornano automaticamente un modello di manifesto della distribuzione con ogni nuova aggiunta di moduli. Le estensioni consentono anche la gestione dei dispositivi IoT da Visual Studio o Visual Studio Code. È possibile distribuire moduli in un dispositivo, monitorare lo stato e visualizzare i messaggi man mano che arrivano all'hub IoT. Entrambe le estensioni usano infine lo strumento di sviluppo IoT EdgeHub per consentire l'esecuzione e il debug locale dei moduli nel computer di sviluppo.

Strumento di sviluppo IoT Edge

Lo strumento di sviluppo di Azure IoT Edge consente di semplificare lo sviluppo di IoT Edge con le capacità della riga di comando. Questo strumento offre comandi dell'interfaccia della riga di comando per sviluppare e testare i moduli ed eseguirne il debug. Lo strumento di sviluppo di IoT Edge è compatibile con il sistema di sviluppo, se sono state installate manualmente le dipendenze nel computer ma anche se si sta usando il Contenitore di sviluppo di IoT Edge predefinito per eseguire lo strumento iotedgedev in un contenitore.

Per altre informazioni e per iniziare, vedere il wiki sullo strumento di sviluppo IoT Edge.

Estensione Visual Studio Code

L'estensione Azure IoT Edge per Visual Studio Code offre modelli di moduli IoT Edge basati su linguaggi di programmazione come C, C#, Java, Node.js e Python. Sono inclusi anche i modelli per le funzioni di Azure in C#.

Importante

L'estensione Azure IoT Edge per Visual Studio Code è in modalità di manutenzione. Lo strumento iotedgedev è lo strumento consigliato per lo sviluppo di moduli IoT Edge.

Per altre informazioni e per il download, vedere Azure IoT Edge per Visual Studio Code.

Oltre alle estensioni di IoT Edge, può essere utile installare estensioni aggiuntive per lo sviluppo. Ad esempio, è possibile usare il supporto di Docker per Visual Studio Code per gestire immagini, contenitori e registri. Inoltre, tutti i principali linguaggi supportati hanno estensioni per Visual Studio Code che possono risultare utili quando si sviluppano i moduli.

L'estensione Hub IoT di Azure è utile come supporto per l'estensione Azure IoT Edge.

Estensione di Visual Studio 2017/2019

Gli strumenti di Azure IoT Edge per Visual Studio offrono un modello di modulo IoT Edge basato su C# e C.

Importante

Le estensioni di Azure IoT Edge per Visual Studio sono in modalità di manutenzione. Lo strumento iotedgedev è lo strumento consigliato per lo sviluppo di moduli IoT Edge.

Per altre informazioni e per il download, vedere Azure IoT Edge Tools per Visual Studio 2017 o Azure IoT Edge Tools per Visual Studio 2019.

Strumenti di test

Sono disponibili vari strumenti di test per aiutare a simulare i dispositivi IoT Edge o eseguire il debug dei moduli in modo più efficiente. La tabella seguente illustra un confronto generale tra gli strumenti, mentre le sezioni seguenti descrivono ogni strumento in modo più specifico.

Per le distribuzioni di produzione è supportato solo il runtime IoT Edge, tuttavia gli strumenti seguenti consentono di simulare o creare facilmente dispositivi IoT Edge per scopi di sviluppo e test. Questi strumenti non si escludono a vicenda, ma possono essere combinati per un'esperienza completa di sviluppo.

Strumento Noto anche come Piattaforme supportate Ideale per
Strumento di sviluppo IoT EdgeHub iotedgehubdev Windows, Linux, macOS Simulazione di un dispositivo per il debug dei moduli.
Contenitore per lo sviluppo IoT Edge iotedgedev Windows, Linux, macOS Sviluppo senza installazione delle dipendenze.

Strumento di sviluppo IoT EdgeHub

Lo strumento di sviluppo Azure IoT EdgeHub offre un'esperienza di sviluppo e debug locale. Lo strumento consente di avviare moduli senza runtime IoT Edge, in modo da poter creare, sviluppare ed eseguire moduli e soluzioni IoT Edge in locale ed eseguirne il debug. Non è necessario eseguire il push delle immagini in un registro contenitori e distribuirli a un dispositivo per il test.

Lo strumento di sviluppo IoT EdgeHub è stato progettato per funzionare in abbinamento con le estensioni di Visual Studio e Visual Studio Code, nonché con lo strumento di sviluppo IoT Edge. Lo strumento di sviluppo supporta lo sviluppo a ciclo interno, nonché il test di ciclo esterno, pertanto si integra anche con gli strumenti DevOps.

Importante

Lo strumento di sviluppo IoT EdgeHub è in modalità di manutenzione. Prendere in considerazione l'uso di una macchina virtuale Linux con il runtime di IoT Edge installato, un dispositivo fisico o EFLOW.

Per altre informazioni e per l'installazione, vedere Azure IoT EdgeHub dev tool (Strumento di sviluppo Azure IoT EdgeHub).

Contenitore per lo sviluppo IoT Edge

Il contenitore per lo sviluppo Azure IoT Edge è un contenitore Docker con tutte le dipendenze necessarie per lo sviluppo di IoT Edge. Questo contenitore rende più semplice iniziare con qualsiasi linguaggio di programmazione desiderato per lo sviluppo, tra cui C#, Python, Node.js e Java. Occorre solo installare un motore di contenitore, come Docker o Moby, per eseguire il pull del contenitore nel computer di sviluppo.

Per altre informazioni, vedere Azure IoT Edge dev container (Contenitore per lo sviluppo Azure IoT Edge).

Strumenti DevOps

Quando si è pronti per sviluppare soluzioni su larga scala per scenari di produzione completi, sfruttare i vantaggi dei principi DevOps moderni tra cui automazione, monitoraggio e processi semplificati di ingegneria del software. IoT Edge include estensioni per supportare strumenti DevOps, tra cui Azure DevOps, Azure DevOps Projects e Jenkins. Se si desidera personalizzare una pipeline esistente oppure usare un altro strumento DevOps, ad esempio CircleCI o TravisCI, è possibile farlo con le funzionalità dell'interfaccia della riga di comando incluse nello strumento di sviluppo IoT Edge.

Per altre informazioni, indicazioni ed esempi, vedere le pagine seguenti: