Preparare Azure Sphere per Ethernet
Importante
Questa è la documentazione di Azure Sphere (legacy). Azure Sphere (legacy) viene ritirato il 27 settembre 2027 e gli utenti devono eseguire la migrazione ad Azure Sphere (integrato) entro questo periodo. Usare il selettore di versione posizionato sopra il sommario per visualizzare la documentazione di Azure Sphere (integrata).
Per comunicare tramite Ethernet, un dispositivo Azure Sphere richiede una scheda Ethernet esterna e un'immagine di configurazione della scheda. Per preparare il dispositivo per la rete tramite Ethernet sono necessari i passaggi seguenti:
Creare e distribuire l'immagine di configurazione della scheda.
Abilitare l'interfaccia Ethernet.
Attenzione
Se il dispositivo è connesso tramite Ethernet, è necessaria una rete a basso traffico per evitare perdite di dati o prestazioni scarse. Il dispositivo perderà i dati dai pacchetti non TCP in ingresso quando è presente traffico in ingresso significativo sulla rete. I dati non vengono in genere persi dai pacchetti TCP in ingresso, indipendentemente dal volume di traffico, perché TCP ritrasmette i pacchetti eliminati. Tuttavia, la ri-trasmissione è a costo delle prestazioni.
Connettere l'adattatore al dispositivo
Per un elenco di schede Ethernet supportate e istruzioni su come connetterle a una scheda di sviluppo di Azure Sphere, vedere Schede e moduli Ethernet supportati.
Creare e distribuire l'immagine di configurazione della scheda
Per ogni scheda Ethernet usata con Azure Sphere è necessaria un'immagine di configurazione della scheda. L'immagine di configurazione della scheda contiene informazioni di cui il servizio di sicurezza di Azure Sphere ha bisogno per aggiungere il supporto per la rete Ethernet al sistema operativo Azure Sphere. È necessario creare un pacchetto immagine di configurazione scheda per la scheda Ethernet e distribuirlo insieme al pacchetto immagine dell'applicazione. È possibile trasferire localmente il pacchetto immagine di configurazione della scheda per lo sviluppo e il debug. È anche possibile distribuire il pacchetto immagine di configurazione della scheda dal cloud, insieme all'applicazione Azure Sphere, per l'uso sul campo. La configurazione della scheda non viene conteggiata rispetto alla memoria Flash o alla RAM riservata per le app di alto livello.
Creare un pacchetto immagine di configurazione della scheda
Per creare un pacchetto immagine di configurazione della scheda, usare il comando azsphere image-package pack-board-config cli.
Trasferire localmente un pacchetto immagine di configurazione della scheda
Per usare un pacchetto immagine di configurazione della scheda durante lo sviluppo e il debug:
Preparare il dispositivo per lo sviluppo e il debug:
azsphere device enable-development
Eliminare tutte le applicazioni esistenti dal dispositivo usando il comando azsphere device sideload delete. È importante eliminare le applicazioni esistenti prima di caricare il pacchetto immagine di configurazione della scheda per evitare conflitti di risorse tra le applicazioni esistenti e la configurazione della scheda.
Trasferire localmente il pacchetto immagine di configurazione della scheda. Se è stato creato un file di configurazione della scheda personalizzata nella sezione precedente, è possibile eseguirne il sideload. Le opzioni predefinite includono quanto segue:
Seeed MT3620 Ethernet Shield for Microprocessor ENC28J60 NIC:
- Interfaccia della riga di comando di Azure Sphere
- Interfaccia della riga di comando classica di Azure Sphere
azsphere device sideload deploy --image-package lan-enc28j60-isu0-int5.imagepackage
Avnet Rev1 Devkit Click Module for Wiznet W5500 NIC:
- Interfaccia della riga di comando di Azure Sphere
- Interfaccia della riga di comando classica di Azure Sphere
azsphere device sideload deploy --image-package lan-w5500-isu1-int2.imagepackage
Avnet Rev2 Devkit Click Module for Wiznet W5500 NIC:
- Interfaccia della riga di comando di Azure Sphere
- Interfaccia della riga di comando classica di Azure Sphere
azsphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
Trasferire localmente l'applicazione, usando Visual Studio o il comando azsphere device sideload deploy.
Distribuire un pacchetto immagine di configurazione della scheda nel cloud
Per distribuire un pacchetto immagine di configurazione della scheda nel cloud, il dispositivo deve disporre di un prodotto, appartenere a un gruppo di dispositivi e non avere la funzionalità AppDevelopment installata. Vedere Creare una distribuzione per informazioni su come configurarle.
Una volta che il dispositivo è pronto, è possibile distribuire l'immagine di configurazione della scheda insieme all'immagine dell'applicazione in un'unica distribuzione.
Per creare una distribuzione:
- Caricare il pacchetto immagine nel tenant di Azure Sphere usando azsphere image add.
- Creare una nuova distribuzione per un gruppo di dispositivi per le immagini caricate usando azsphere device-group deployment create.
- Interfaccia della riga di comando di Azure Sphere
- Interfaccia della riga di comando classica di Azure Sphere
Caricare il pacchetto immagine:
azsphere image add --image <path-to-image-package>
Creare una nuova distribuzione per un gruppo di dispositivi:
azsphere device-group deployment create --device-group <device-group-ID> or '<product-name>/<device-group-name>' --images <image-ID> <image-ID>
Per specificare più valori per --images
immettere un elenco di valori separati da spazi.
Il --device-group
parametro identifica il gruppo di dispositivi. L'ID del gruppo di dispositivi fornisce un GUID che identifica in modo univoco il gruppo di dispositivi in tutti i prodotti. In alternativa, è possibile usare la coppia nome prodotto e nome gruppo di dispositivi nel <formato product-name>/<device-group-name> . Questa coppia di nomi identifica in modo univoco un gruppo di dispositivi per un prodotto specifico. Sostituire <image-ID> con l'ID immagine del pacchetto immagine.
Rimuovere una configurazione della scheda trasferita localmente
Se durante lo sviluppo si trasferisce localmente una configurazione della scheda, potrebbe essere necessario rimuovere in un secondo momento tale configurazione in modo che altre applicazioni possano usare le risorse riservate per la scheda. Se si prova a eseguire un'applicazione che usa queste risorse mentre la configurazione della scheda viene caricata nel dispositivo Azure Sphere, si verificheranno errori di conflitto di pin.
Per rimuovere una configurazione della scheda, seguire questa procedura:
Elencare le immagini installate nel dispositivo:
azsphere device image list-installed
Trovare l'ID del componente per la configurazione della scheda nell'elenco:
--> lan-enc28j60-is --> Image type: Board configuration --> Component ID: 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6 --> Image ID: a726b919-bdbe-4cf4-8360-2e37af9407e1
Eliminare il pacchetto immagine di configurazione della scheda, specificando il relativo ID componente:
- Interfaccia della riga di comando di Azure Sphere
- Interfaccia della riga di comando classica di Azure Sphere
azsphere device sideload delete --component-id 75a3dbfe-3fd2-4776-b7fe-c4c91de902c6
Riavviare il dispositivo premendo il pulsante di reset o emettendo il comando azsphere device restart.
Abilitare l'interfaccia Ethernet
Una volta caricata la configurazione della scheda e il dispositivo viene riavviato, l'interfaccia verrà abilitata automaticamente. Se si vuole disabilitare l'interfaccia, usare il comando azsphere device network disable o chiamare la funzione Networking_SetInterfaceState , che fa parte dell'API di configurazione di rete.
Tutte le interfacce usano indirizzi IP dinamici per impostazione predefinita. Per informazioni dettagliate sui tipi di servizi che un'applicazione Azure Sphere può usare, vedere Usare i servizi di rete.
Configurare Azure Sphere per Ethernet
Dopo aver connesso il dispositivo Azure Sphere a una scheda Ethernet supportata e aver distribuito l'immagine di configurazione della scheda, è possibile configurare il dispositivo Azure Sphere per connettersi a una rete dalla riga di comando o dall'applicazione usando le librerie di applicazioni di Azure Sphere SDK (Applibs).
Configurazione Ethernet tramite l'interfaccia della riga di comando
Per gestire la configurazione Ethernet dalla riga di comando, usare i comandi dell'interfaccia della riga di comando azsphere device network. Ad esempio, il comando di abilitazione della rete del dispositivo abilita un'interfaccia Ethernet nel dispositivo collegato.
azsphere device network enable --interface "eth0"
Per usare la rete Ethernet configurata, l'interfaccia di rete (eth0) deve essere attiva. Usare il comando device network list-interfaces per determinare se l'interfaccia è attiva.
azsphere device network list-interfaces
Usare il comando di abilitazione della rete del dispositivo per attivarlo, se necessario.
azsphere device network enable --interface eth0
Configurazione Ethernet con Applibs
Per configurare Ethernet, l'applicazione deve usare l'API di rete applibs.
Includere questo file di intestazione nell'applicazione:
#include <applibs/networking.h>
Il manifesto dell'applicazione deve includere la funzionalità NetworkConfig.
"Capabilities": {
"NetworkConfig" : true
}
Usare la funzione Networking_GetInterfaceConnectionStatus per determinare se l'interfaccia di rete è attiva.
Networking_GetInterfaceConnectionStatus("eth0", ¤tInterfaceStatus);
Per attivare l'interfaccia di rete, usare la funzione Networking_SetInterfaceState .
Networking_SetInterfaceState("eth0", true);
Nota
Se entrambe le interfacce di rete (wlan0 ed eth0) sono attive e connesse, l'interfaccia specifica usata dal dispositivo per la comunicazione non è deterministica. Se si vuole controllare l'interfaccia di rete usata in un determinato momento, l'applicazione deve usare la funzione Networking_SetInterfaceState() per attivare in modo esplicito l'interfaccia desiderata e l'altra interfaccia disattivata. L'esempio generale di app client DHCP illustra, tra le altre cose, come passare da un'interfaccia all'altra assegnando un valore che rappresenta una delle due interfacce a una variabile globale.
Esempi
Azure IoT illustra come usare le API C di Azure IoT SDK in un'applicazione Azure Sphere per comunicare con hub IoT di Azure o Azure IoT Central.
L'app client DHCP di alto livello illustra come rinnovare o rilasciare l'indirizzo IP corrente assegnato al server DHCP della rete al dispositivo MT3620.
HTTPS cURL Easy illustra il recupero del contenuto su HTTPS usando l'API "easy" di cURL
HTTPS cURL Multi illustra il recupero del contenuto su HTTPS usando l'API "multi" di cURL.
Power Down app di alto livello illustra la funzionalità di risparmio di energia per la piattaforma Azure Sphere.
I servizi di rete privata illustrano come connettere un dispositivo Azure Sphere a una rete privata e usare i servizi di rete.
L'app di alto livello WolfSSL illustra l'uso di WolfSSL per l'handshake SSL in un'applicazione di alto livello.
Nota
Gli esempi seguenti provengono dalla raccolta di Azure Sphere, che è una raccolta di esempi software e hardware non mantenuti di Microsoft. Per altre informazioni, vedere Raccolta di Azure Sphere.
Stampare l'indirizzo MAC e IP dell'interfaccia di rete stampa gli indirizzi MAC e IP di un'interfaccia di rete specificata.
OSNetworkRequirementChecker-HLApp esegue due test di diagnostica di rete (MT3620).