Condividi tramite


Apportare modifiche a un dispositivo dopo la produzione

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 catalogo 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 az sphere device capability download. È necessario avere accesso al catalogo 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:

  1. Usare il comando seguente con i --type parametri e --output-file per scaricare un file di funzionalità per il dispositivo collegato. Ad esempio:

    az sphere device capability download --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue> --type ApplicationDevelopment --output-file myCapabilities.cap
    

    Sostituire <capability-file> con il percorso nel computer in cui archiviare il file di funzionalità.

Per scaricare la funzionalità per un dispositivo non collegato:

  1. Usare il comando seguente con i --deviceparametri , --typee ----output-file per scaricare un file di funzionalità per il dispositivo scollegato. Ad esempio:

    az sphere device capability download --resource-group <resource-group> --catalog <catalog> --device <deviceID> --type fieldServicing ----output-file <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 'az sphere'' 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:

  1. Connettere il dispositivo al PC usando l'interfaccia di programmazione e debug.

  2. Usare il comando az sphere device capability apply 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 az sphere comando 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 az sphere comandi indirizzati al dispositivo dal computer, non solo a quelli eseguiti dal prompt dei comandi corrente.

Per terminare la sessione di manutenzione, usare il comando az sphere device capability apply --none

Quando questo comando riesce, le informazioni sulle funzionalità non vengono più passate al dispositivo. Se non si termina la sessione, alla successiva esecuzione di un comando 'az sphere'' da questo computer, la funzionalità del dispositivo corrente verrà passata insieme al comando e quindi il comando avrà esito negativo se si usa 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.