Preparare Azure Sphere per Ethernet

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 ethernet, sono necessari i passaggi seguenti:

  1. Collega l'adattatore al dispositivo.

  2. Creare e distribuire l'immagine di configurazione della bacheca.

  3. Abilita l'interfaccia Ethernet.

Attenzione

Se il dispositivo è connesso tramite Ethernet, è necessaria una rete a traffico basso per evitare perdite di dati o prestazioni ridotte. Il dispositivo perderà i dati dei pacchetti non TCP in ingresso quando c'è un traffico in ingresso significativo sulla rete. I dati in genere non vengono 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

Vedi Schede Ethernet e moduli supportati per un elenco delle schede Ethernet supportate e istruzioni su come connetterle a una scheda di sviluppo Azure Sphere.

Creare e distribuire l'immagine di configurazione della bacheca

Per ogni scheda Ethernet usata con Azure Sphere è necessaria un'immagine di configurazione della scheda . L'immagine di configurazione della bacheca contiene informazioni richieste dal servizio di sicurezza Azure Sphere per aggiungere il supporto per Ethernet al sistema operativo Azure Sphere. Devi creare un pacchetto di immagine di configurazione della scheda Ethernet e distribuirlo insieme al pacchetto di immagini dell'applicazione. È possibile trasferire in sideload il pacchetto di immagini di configurazione della bacheca per lo sviluppo e il debug. Puoi anche distribuire il pacchetto di immagini di configurazione della bacheca dal cloud, insieme all'applicazione Azure Sphere, per l'uso sul campo. La configurazione della scheda non viene conteggiata per la memoria Flash o la RAM riservata per le app di alto livello.

Creare un pacchetto immagine di configurazione della bacheca

Per creare un pacchetto immagine di configurazione della scheda, utilizzare il comando CLI azsfera image-package pack-board-config .

Nota

pack-board-config non è attualmente supportato nell'estensione CLI di Azure.

Sideload a board configuration image package

Per utilizzare un pacchetto di immagini di configurazione della bacheca durante lo sviluppo e il debug:

  1. Preparare il dispositivo per lo sviluppo e il debug:

    az sphere device enable-development --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue>
    
  2. Elimina eventuali applicazioni esistenti dal dispositivo utilizzando il comando di eliminazione sideload dispositivo sfera az . È importante eliminare le applicazioni esistenti prima di caricare il pacchetto di immagini di configurazione della bacheca per evitare conflitti di risorse tra le applicazioni esistenti e la configurazione della bacheca.

  3. Sideload the board configuration image package. Se è stato creato un file di configurazione della bacheca personalizzato nella sezione precedente, è possibile eseguirne il sideload. Le opzioni preimpostate includono quanto segue:

    Vedi MT3620 Ethernet Shield per Microchip ENC28J60 NIC:

    az sphere device sideload deploy --image-package lan-enc28j60-isu0-int5.imagepackage
    

    Avnet Rev1 Devkit Click Module per Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu1-int2.imagepackage
    

    Avnet Rev2 Devkit Click Module per Wiznet W5500 NIC:

    az sphere device sideload deploy --image-package lan-w5500-isu0-int5.imagepackage
    
  4. Sideload dell'applicazione, utilizzando Visual Studio o utilizzando il comando di distribuzione sideload dispositivo sfera az .

Distribuire nel cloud un pacchetto di immagini di configurazione della bacheca

Per distribuire un pacchetto di immagini di configurazione della bacheca attraverso il cloud, il dispositivo deve avere un prodotto, appartenere a un gruppo di dispositivi e non deve avere la funzionalità AppDevelopment installata. Per informazioni su come configurare queste operazioni, vedere Creare una distribuzione .

Quando il dispositivo è pronto, è possibile distribuire l'immagine di configurazione della bacheca insieme all'immagine dell'applicazione in una singola distribuzione.

Per creare una distribuzione:

  1. Carica il pacchetto di immagini nel catalogo Azure Sphere con l'immagine a sfera az.
  2. Crea una nuova distribuzione per un gruppo di dispositivi per le immagini caricate utilizzando la distribuzione az sphere.
az sphere deployment create --resource-group <resource-group-name> --catalog <catalog-name> --product <product-name> --device-group <device-group-name> --images <image-ID>

Sostituire <image-ID> con l'ID immagine del pacchetto di immagini.

Rimuovere una configurazione di bacheca caricata in sideload

Se si esegue il sideload di una configurazione bacheca durante lo sviluppo, in seguito potrebbe essere necessario rimuoverla in modo che altre applicazioni possano utilizzare le risorse che la bacheca riserva. Se tenti di eseguire un'applicazione che usa queste risorse mentre la configurazione della bacheca è caricata nel dispositivo Azure Sphere, si verificheranno errori di conflitto con pin.

Per rimuovere una configurazione della bacheca, attenersi alla seguente procedura:

  1. Elencare le immagini installate nel dispositivo:

    az sphere device image list-installed
    
  2. Individuare l'ID componente per la configurazione della scheda nell'elenco:

     {
     "does_image_type_require_restart": true,
     "image_type": "Board configuration",
     "images": [
       {
         "length_in_bytes": 428,
         "replica_type": 0,
         "uid": "839e699a-1b23-44de-bc56-f2b19e472098",
         "uncompressed_length_in_bytes": 428
       }
     ],
     "is_update_staged": false,
     "name": "lan-enc28j60-isu0-int5_29f10d",
     "uid": "29f10d1e-29aa-4ae0-a48c-cc24305b288a"
     }
    

    L'ID componente è l'interfaccia utente associata alla configurazione della scheda, quindi ad esempio nell'output precedente inizia "29f10...".

  3. Eliminare il pacchetto dell'immagine di configurazione della bacheca specificando il relativo ID componente:

    az sphere device sideload delete --component-id 29f10d1e-29aa-4ae0-a48c-cc24305b288a
    
  4. Riavvia il dispositivo premendo il pulsante Reset o rilasciando il comando di riavvio del dispositivo az sphere .

Abilitare l'interfaccia Ethernet

Una volta caricata la configurazione della scheda e riavviato il dispositivo, l'interfaccia verrà abilitata automaticamente. Se si desidera disabilitare l'interfaccia, utilizzare il comando az sphere device network disable o chiamare la funzione Networking_SetInterfaceState , che fa parte dell'API di configurazione di rete.

Tutte le interfacce utilizzano indirizzi IP dinamici per impostazione predefinita. Vedi Usare i servizi di rete per informazioni dettagliate sui tipi di servizi che possono essere usati da un'applicazione Azure Sphere.

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 bacheca, puoi configurare il dispositivo Azure Sphere per la connessione a una rete dalla riga di comando (CLI) o dall'applicazione tramite le librerie di applicazioni di Azure Sphere SDK (Applibs).

Configurazione Ethernet tramite cli

Per gestire la configurazione Ethernet dalla riga di comando, utilizza i comandi CLI della rete del dispositivo az sphere. Ad esempio, il comando di abilitazione della rete del dispositivo abilita un'interfaccia Ethernet nel dispositivo collegato.

az sphere device network enable --interface "eth0" 

Per utilizzare la rete Ethernet configurata, l'interfaccia di rete (eth0) deve essere attiva. Utilizza il comando elenco-interfacce di rete del dispositivo per determinare se l'interfaccia è attiva.


az sphere device network list-interfaces

Usa il comando di abilitazione alla rete del dispositivo per attivarlo, se necessario.


az sphere device network enable --interface eth0

Configurazione Ethernet tramite applicazioni

Per configurare Ethernet, l'applicazione deve utilizzare l'API di rete applicata.

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", &currentInterfaceStatus);

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 che il dispositivo utilizzerà per la comunicazione non è deterministica. Se si vuole controllare quale interfaccia di rete viene usata in un determinato momento, l'applicazione deve usare la funzione Networking_SetInterfaceState() per attivare in modo esplicito l'interfaccia desiderata e l'altra disattivarla. L'esempio di app di alto livello per il client DHCP mostra, tra le altre cose, come passare da un'interfaccia all'altra assegnando un valore che rappresenta una delle due interfacce a una variabile globale.

Campioni

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 di alto livello del client DHCP mostra come rinnovare o rilasciare l'indirizzo IP corrente assegnato dal server DHCP della rete al dispositivo MT3620.

HTTPS cURL Easy illustra il recupero di contenuto su HTTPS utilizzando l'API "easy" di cURL

HTTPS cURL Multi mostra il recupero di contenuto su HTTPS utilizzando l'API "multi" di cURL.

L'app di alto livello Power Down mostra la funzionalità Power Down per la piattaforma Azure Sphere.

I servizi di rete privati mostrano come connettere un dispositivo Azure Sphere a una rete privata e usare i servizi di rete.

L'app di alto livello WolfSSL mostra l'utilizzo dell'handshake WolfSSL per SSL in un'applicazione di alto livello.

Nota

I seguenti esempi provengono dalla Raccolta sfere di Azure, che è una raccolta di campioni hardware e software non mantenuti di Microsoft. Per ulteriori informazioni, vedi Raccolta sfere di Azure.

Stampare l'indirizzo MAC e IP dell'interfaccia di rete consente di stampare gli indirizzi MAC e IP di un'interfaccia di rete specificata.

OSNetworkRequirementChecker-HLApp esegue due test diagnostici di rete su dispositivi (MT3620).