Apportare modifiche a un dispositivo dopo la produzione
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).
Uno dei passaggi finali della produzione di un dispositivo Azure Sphere consiste nell'inserire il dispositivo nello stato DeviceComplete, che protegge il dispositivo dalla modifica. Esistono tuttavia situazioni in cui i dispositivi inseriti nello stato DeviceComplete devono essere modificati.
Il meccanismo sicuro usato per questi scenari consiste nell'usare una funzionalità del dispositivo. Esistono due tipi di funzionalità del dispositivo, fieldServicing e appDevelopment. È consigliabile usare quello con il set minimo di funzionalità necessarie. Ovvero, se la funzionalità fieldServicing soddisfa le proprie esigenze, è consigliabile usarla, ma se è necessaria una maggiore flessibilità, usare invece la funzionalità appDevelopment . Anche se le funzionalità sono state progettate per i due scenari dopo i quali sono denominate, è necessario controllare le funzionalità effettive abilitate anziché basarsi su tale nome. Solo il proprietario del tenant del dispositivo può acquisire funzionalità per il dispositivo e ogni funzionalità è limitata a un singolo dispositivo.
Quando si apportano modifiche a un dispositivo DeviceComplete, non è consigliabile trasferire localmente tali funzionalità. Ciò consente di eliminare il rischio di lasciare accidentalmente la funzionalità presente e di lasciare il dispositivo in uno stato non sicuro. È invece consigliabile usare una sessione di manutenzione.
Esistono tre fasi per usare le funzionalità per i dispositivi di servizio: il download delle funzionalità, l'applicazione di un aggiornamento dell'archivio chiavi attendibile (se necessario) e la creazione di una sessione di manutenzione.
Scaricare una funzionalità
È possibile scaricare una funzionalità usando il comando azsphere device capability download. È necessario avere accesso al tenant proprietario del dispositivo e dell'accesso a Internet per scaricare una funzionalità. Per impostazione predefinita, viene usato il dispositivo attualmente collegato. Quando sono collegati più dispositivi, specificare l'indirizzo IP, l'ID dispositivo o l'ID connessione locale di un dispositivo collegato nel --device
parametro . Quando si scarica una funzionalità per un dispositivo scollegato, specificare un ID dispositivo nel --device
parametro .
Per scaricare la funzionalità per un dispositivo collegato:
Accedere al tenant di Azure Sphere in cui è richiesto il dispositivo.
Usare il comando seguente con i
--type
parametri e--destination
per scaricare un file di funzionalità per il dispositivo collegato. Ad esempio:- Interfaccia della riga di comando di Azure Sphere
- Interfaccia della riga di comando classica di Azure Sphere
azsphere device capability download --type fieldServicing --destination <capability-file>
Sostituire <capability-file> con il percorso nel computer in cui archiviare il file di funzionalità.
Per scaricare la funzionalità per un dispositivo non collegato:
Accedere al tenant di Azure Sphere in cui è richiesto il dispositivo.
Usare il comando seguente con i
--device
parametri ,--type
e--destination
per scaricare un file di funzionalità per il dispositivo scollegato. Ad esempio:- Interfaccia della riga di comando di Azure Sphere
- Interfaccia della riga di comando classica di Azure Sphere
azsphere device capability download --device <deviceID> --type fieldServicing --destination <capability-file>
Specificare l'ID dispositivo del dispositivo per cui è necessaria la funzionalità e sostituire <capability-file> con il percorso nel computer in cui archiviare il file di funzionalità.
Aggiornare l'archivio chiavi attendibile, se necessario
Se un dispositivo non è connesso a Internet, è possibile che il dispositivo non consideri attendibile la funzionalità. Ciò si verifica quando AS3 ha aggiornato la chiave di firma dell'immagine con cui firma tutte le immagini incluse le immagini delle funzionalità, ma il dispositivo non ha questa chiave aggiornata nel relativo archivio chiavi attendibile. Qualsiasi dispositivo connesso aggiorna automaticamente l'archivio chiavi attendibile, ma se il dispositivo non è connesso, potrebbe non essersi verificato.
Per risolvere questo problema, vedere le istruzioni dettagliate qui.
Creare una sessione di manutenzione
Per gestire un dispositivo, creare una sessione di manutenzione selezionando una funzionalità. Ogni volta che il comando azsphere viene eseguito durante la sessione, la funzionalità selezionata viene passata al dispositivo, consentendo al dispositivo di eseguire il comando nonostante lo stato bloccato. Il file di funzionalità non viene archiviato in modo permanente nel dispositivo, quindi il dispositivo rimane bloccato e protetto. Se un altro computer viene collegato successivamente al dispositivo senza accesso al file di funzionalità, non sarà possibile modificare il dispositivo.
Per creare una sessione di manutenzione:
Connettere il dispositivo al PC usando l'interfaccia di programmazione e debug.
Usare il comando azsphere device capability select con il parametro --capability-file< capability-file>. Sostituire <capability-file> con il percorso del file specificato quando è stata scaricata la funzionalità.
Dopo aver selezionato il file, viene avviata la sessione. Ogni volta che il comando azsphere viene eseguito durante la sessione, le informazioni sulle funzionalità vengono passate al dispositivo, sbloccando così la comunicazione. La funzionalità viene archiviata nel computer e viene associata ai dati dell'account di accesso di Windows o Linux, non all'account di accesso di Azure Sphere. La sessione di manutenzione si applica a tutti i comandi azsphere indirizzati al dispositivo dal computer, non solo a quelli eseguiti dal prompt dei comandi corrente.
Per terminare la sessione di manutenzione, usare il comando azsphere device capability select --none
Quando questo comando riesce, le informazioni sulle funzionalità non vengono più passate al dispositivo. Se non si termina la sessione, la prossima volta che si esegue un comando azsphere da questo computer, la funzionalità di dispositivo corrente verrà passata insieme al comando e quindi il comando avrà esito negativo se si utilizza un dispositivo diverso. Se si elimina il file di funzionalità senza terminare la sessione di manutenzione, il comando successivo avvisa che il file di funzionalità selezionato è mancante e deselezionare la selezione per eventuali altri comandi.