Configurazione Wi-Fi Azure Sphere
I dispositivi Azure Sphere si basano sulla connettività di rete per ricevere aggiornamenti del sistema operativo e delle applicazioni e per connettersi a servizi specifici delle applicazioni. Wi-Fi connessioni potrebbero dover essere configurate durante lo sviluppo di app, nella fase di produzione o dopo la distribuzione di un dispositivo. Le opzioni per la configurazione di Wi-Fi variano a seconda che si disponga dell'accesso fisico al dispositivo Azure Sphere o che si stia aggiornando la configurazione Wi-Fi in remoto.
Questa nota dell'applicazione è scritta intorno all'autenticazione WPA2-PSK (ad esempio una chiave condivisa). Inoltre, Azure Sphere supporta EAP-TLS per le reti aziendali sicure. Ogni meccanismo qui descritto che potrebbe essere utilizzato per inviare un PSK potrebbe essere utilizzato anche per inviare un certificato per EAP-TLS.
Configurare Wi-Fi con accesso alla porta del servizio a un dispositivo
Se hai un dispositivo che include l'interfaccia di programmazione e debug USB/FTDI o puoi aggiungere una scheda esterna che include l'interfaccia di programmazione e debug USB/FTDI, sono disponibili gli strumenti di sviluppo e di programmazione Azure Sphere Command-Line Interface (CLI). L'opzione porta di servizio ha senso solo per la produzione. Dopo la produzione, durante l'uso normale, è consigliabile usare una delle altre opzioni descritte di seguito invece di usare la porta del servizio, perché la porta di servizio richiede l'accesso al catalogo Azure Sphere per ottenere una funzionalità di manutenzione dei campi.
Azure CLI
Se stai connettendo un dispositivo Azure Sphere che include l'interfaccia di programmazione USB/FTDI ed esegui il debug al PC di sviluppo e hai installato Azure Sphere SDK, puoi usare l'interfaccia utente virtuale di Azure, che include i comandi per la configurazione del Wi-Fi. È anche possibile ottenere [diagnostica di rete](.. /reference/az sphere-device.md) e [gestire i certificati per le reti EAP-TLS](.. /reference/az sphere-device.md).
Scheda di programmazione esterna
Se si dispone di un dispositivo che non include un'interfaccia di programmazione e debug Azure Sphere incorporata, ma che ha la possibilità di connettere temporaneamente una scheda di interfaccia FTDI autonoma, è possibile usare i comandi CLI di Azure indicati in precedenza. Questo approccio consente di spedire i dispositivi di produzione senza un'interfaccia FTDI (che consente di risparmiare costi) e richiede solo una scheda di programmazione/debug per ogni tecnico.
Configurare Wi-Fi con accesso locale a un dispositivo (senza porta del servizio)
Per i dispositivi che non includono (o hanno la possibilità di aggiungere) un'interfaccia di programmazione e debug USB/FTDI, sono disponibili diverse opzioni per configurare Wi-Fi se si dispone dell'accesso locale al dispositivo. L'opzione locale migliore dipende dal tipo di utente che lo usa e dalle risorse previste. Ad esempio, per i prodotti consumer in cui gli utenti finali configurano Wi-Fi, NFC o Bluetooth può comportare esperienze più user-friendly, mentre per i prodotti installati da installatori professionali o amministratori di sistema che possono utilizzare un adattatore hardware per interfacciarsi con il prodotto, l'opzione UART presenta un sovraccarico minimo.
Bluetooth
Se il dispositivo Azure Sphere espone una connessione Bluetooth, puoi effettuare il provisioning Wi-Fi tramite Bluetooth. La soluzione di riferimento WifiSetupAndDeviceControlViaBle utilizza un controller Bluetooth nRF52 (incluso nel modulo Usi Global Azure Sphere). L'esempio include un'applicazione di alto livello Azure Sphere e un'applicazione desktop Windows (scritta in C#).
UART
In un ambiente di produzione potrebbe essere necessario aggiornare la configurazione di Wi-Fi per un dispositivo che non include o non dispone del supporto per l'aggiunta temporanea di una scheda di programmazione e debug USB/FTDI. È possibile decidere di esporre un'interfaccia UART/seriale dal dispositivo per consentire a un tecnico di aggiornare le impostazioni di Wi-Fi per un dispositivo. Il progetto Azure Sphere Gallery WifiConfigurationViaUart illustra come sviluppare un'interfaccia di menu basata su UART che consente di riavviare il dispositivo, elencare la configurazione Wi-Fi corrente e la possibilità di aggiungere una nuova configurazione di rete. L'esempio può essere esteso per aggiungere altre funzionalità.
Configurazione della rete Bootstrap
Potrebbe essere possibile utilizzare una connessione di rete per la configurazione di bootstrap Wi-Fi. Sono necessari due passaggi:
Scarica il dispositivo Azure Sphere connesso alla rete bootstrap.
Ottieni le nuove informazioni di provisioning Wi-Fi e configura il dispositivo.
Ottenere un dispositivo connesso a una rete bootstrap
La rete Wi-Fi a cui si connette un dispositivo potrebbe non essere nota nel punto di produzione e può essere configurata da un installatore o un tecnico del dispositivo durante la configurazione in loco. È consigliabile eseguire il provisioning di una connessione Wi-Fi al dispositivo nell'ambito del processo di produzione. I tecnici possono configurare un dispositivo mobile come punto di accesso Wi-Fi corrispondente all'SSID e alla passkey di cui è stato effettuato il provisioning di produzione, che consente quindi la connessione del dispositivo Azure Sphere.
Il dispositivo potrebbe inizialmente connettersi tramite una connessione cellulare o Ethernet.
Effettuare il provisioning della connessione Wi-Fi dalla rete bootstrap
Una volta che un dispositivo è connesso alla rete bootstrap ci sono diverse opzioni per ottenere la nuova configurazione Wi-Fi:
- Il dispositivo Azure Sphere potrebbe ospitare un semplice server TCP o HTTP che abilitava un client nella rete bootstrap per configurare la rete.
- Il dispositivo Azure Sphere potrebbe utilizzare una porta TCP/IP predeterminata o un nome host per connettersi a un server/servizio che fornisce le credenziali di Wi-Fi.
- Potrebbe essere necessario determinare il servizio usato per fornire le credenziali di Wi-Fi in fase di esecuzione, nel qual caso potrebbero essere usate tecnologie come DNS-SD .
- Potrebbe essere usata anche una delle opzioni di configurazione remota elencate di seguito.
NFC
La configurazione Wi-Fi basata su NFC presenta il vantaggio di richiedere pochi passaggi ed essere veloce. A differenza del metodo della riga di comando, che richiede la connessione di un cavo e la possibile digitazione di un comando, l'unica azione da eseguire consiste nel tenere premuto un telefono cellulare sul dispositivo che deve essere configurato. NFC è più veloce rispetto alla maggior parte delle altre tecniche di configurazione in quanto si basa esclusivamente sulla prossimità e non deve essere associato e non associato. I negozi Android e Apple dispongono di applicazioni che possono essere usate durante lo sviluppo e il testing per il provisioning di credenziali Wi-Fi in un dispositivo.
Il progetto WifiConfigurationViaNfc di Azure Sphere Gallery mostra come aggiungere una nuova configurazione di rete basata sull'evento di tocco NFC.
Configurazione remota di Wi-Fi
Una volta che un dispositivo è in produzione o si trova in una posizione remota, potrebbe essere ancora necessario eseguire il provisioning o l'aggiornamento delle credenziali di Wi-Fi, le opzioni includono:
Proprietà Azure Device Twin (opzione consigliata)
hub IoT di Azure e Azure IoT Central supportano Device Twins, i dispositivi gemelli sono un documento JSON speculare tra il servizio hub IoT di Azure/centrale e un dispositivo, sul lato Azure un operatore di dispositivo può impostare lo stato desiderato che un dispositivo dovrebbe tentare di raggiungere (ad esempio un setpoint di temperatura per un termostato), il dispositivo invia quindi di nuovo lo stato segnalato a hub IoT di Azure/Centrale. La possibilità di impostare una nuova proprietà desiderata per uno o più dispositivi all'interno di hub IoT di Azure/Centrale (questo può essere ottenuto a livello di programmazione) consente all'operatore di dispositivo di impostare una nuova configurazione Wi-Fi come proprietà desiderata per uno o più dispositivi, associando la conoscenza dei dispositivi all'interno di uno specifico gruppo di dispositivi Azure Sphere a dispositivi all'interno di un hub IoT di Azure/Central application offre un controllo sottile sui dispositivi che vengono aggiornati.
Aggiornamenti al software dell'applicazione
Le applicazioni per dispositivi Azure Sphere possono essere aggiornate dal produttore del dispositivo. Il video IoT Show sullo sviluppo per gli aggiornamenti OTA di Azure Sphere mostra la distribuzione delle applicazioni in aria e il rinvio degli aggiornamenti delle applicazioni.
Sono disponibili diverse opzioni per aggiornare Wi-Fi configurazione da un'applicazione aggiornata:
- È consigliabile inserire stringhe nel codice dell'applicazione aggiornate per ogni modifica apportata alla configurazione Wi-Fi. È relativamente semplice da implementare e non richiede il caricamento/analisi di un file di risorse incorporato. Ciò significa che i file di codice vengono toccati come parte dell'aggiornamento della configurazione di Wi-Fi, che potrebbe avere un impatto sulla cronologia del codice.
- È possibile utilizzare un file di risorse incorporato nell'applicazione, la modifica della risorsa non tocca il codice e se si sceglie un formato di dati come JSON, il contenuto del file può essere facilmente analizzato e convalidato durante la compilazione e il test automatizzati. Il progetto WifiConfigurationViaAppResource Gallery illustra come usare il contenuto di un file di risorse JSON per configurare il Wi-Fi.
- È possibile usare un endpoint Web noto, ad esempio un servizio di app Azure, per ottenere la configurazione Wi-Fi dei dispositivi.
Tenere presente che incorporando Wi-Fi configurazione direttamente nell'applicazione (nel file di origine o nel file di risorse), i dispositivi aggiornati riceveranno le stesse informazioni di configurazione Wi-Fi. Se si desidera impostare configurazioni Wi-Fi su singoli dispositivi, è necessario usare il metodo hub IoT di Azure/Central Device Twin o le opzioni note degli endpoint Web.
Considerazioni sulla configurazione Wi-Fi
Quando si modifica la configurazione Wi-Fi di un dispositivo, è consigliabile aggiungere la nuova configurazione di Wi-Fi, disabilitare la connessione esistente, abilitare la nuova connessione e verificare che la nuova connessione funzioni prima di eliminare le informazioni di connessione precedenti.