Göra ändringar i en enhet efter tillverkningen
Viktigt!
Det här är dokumentationen om Azure Sphere (Legacy). Azure Sphere (Legacy) upphör den 27 september 2027 och användarna måste migrera till Azure Sphere (integrerad) vid den här tiden. Använd versionsväljaren ovanför TOC för att visa dokumentationen om Azure Sphere (integrerad).
Ett av de sista stegen vid tillverkning av en Azure Sphere-enhet är att placera enheten i tillståndet DeviceComplete, vilket skyddar enheten mot ändringar. Det finns dock situationer där enheter som har försatts i tillståndet DeviceComplete måste ändras.
Den säkra mekanism som används för sådana scenarier är att använda en enhetsfunktion. Det finns två typer av enhetsfunktioner, fieldServicing och appDevelopment, och du bör använda den som har den minsta uppsättning funktioner som krävs. Om funktionen fieldServicing uppfyller dina behov bör du använda det, men om större flexibilitet krävs använder du funktionen appUtveckling i stället. Även om funktionerna har utformats för de två scenarier varefter de namnges bör du kontrollera de faktiska funktionerna som är aktiverade i stället för att förlita dig på det namnet. Endast enhetens klientorganisationsägare kan hämta funktioner för den enheten och varje funktion är begränsad till en enda enhet.
När du gör ändringar i en DeviceComplete-enhet bör du inte läsa in dessa funktioner separat. Detta är för att eliminera risken för att oavsiktligt lämna funktionen närvarande och därmed lämna enheten i ett osäkert tillstånd. I stället bör du använda en servicesession.
Det finns tre steg för att använda funktioner för att betjäna enheter: ladda ned funktionerna, tillämpa en betrodd nyckellagringsuppdatering (om det behövs) och sedan skapa en servicesession.
Ladda ned en funktion
Du kan ladda ned en funktion med hjälp av kommandot azsphere device capability download . Du måste ha åtkomst till den klientorganisation som äger enheten och Internetåtkomst för att kunna ladda ned en funktion. Som standard används den anslutna enheten. När flera enheter är anslutna anger du antingen IP-adress, enhets-ID eller lokalt anslutnings-ID för en ansluten enhet i parametern --device
. När du laddar ned en funktion för en enhet som inte är ansluten anger du ett enhets-ID i parametern --device
.
Så här laddar du ned funktionen för en ansluten enhet:
Logga in på Azure Sphere-klientorganisationen där enheten begärs.
Använd följande kommando med parametrarna
--type
och--destination
för att ladda ned en kapacitetsfil för den anslutna enheten. Till exempel:azsphere device capability download --type fieldServicing --destination <capability-file>
Ersätt <funktionsfilen> med den plats på datorn där kapacitetsfilen ska lagras.
Så här laddar du ned funktionen för en enhet som inte är ansluten:
Logga in på Azure Sphere-klientorganisationen där enheten begärs.
Använd följande kommando med parametrarna
--device
,--type
och för--destination
att ladda ned en kapacitetsfil för den ej anslutna enheten. Till exempel:azsphere device capability download --device <deviceID> --type fieldServicing --destination <capability-file>
Ange enhets-ID för den enhet som du behöver funktionen för och ersätt <funktionsfilen> med den plats på datorn där kapacitetsfilen ska lagras.
Uppdatera det betrodda nyckelarkivet om det behövs
Om en enhet inte är ansluten till Internet finns det en risk att enheten inte litar på funktionen. Detta inträffar när AS3 har uppdaterat sin bildsigneringsnyckel som den signerar alla bilder med, inklusive kapacitetsbilder, men enheten inte har den uppdaterade nyckeln i sitt betrodda nyckelarkiv. Alla anslutna enheter uppdaterar automatiskt sitt betrodda nyckelarkiv, men om enheten inte är ansluten kanske det inte har inträffat.
Information om hur du åtgärdar detta finns i detaljerade instruktioner här.
Skapa en servicesession
För att betjäna en enhet skapar du en servicesession genom att välja en funktion. Varje gång azsphere-kommandot utfärdas under sessionen skickas den valda funktionen till enheten, vilket gör att enheten kan utföra kommandot trots dess låsta tillstånd. Kapacitetsfilen lagras inte beständigt på enheten, så enheten förblir låst och skyddad. Om en annan dator senare är ansluten till enheten utan åtkomst till kapacitetsfilen kan den inte ändra enheten.
Så här skapar du en servicesession:
Anslut enheten till datorn med hjälp av programmerings - och felsökningsgränssnittet.
Använd kommandot azsphere device capability select med parametern --capability-file <capability-file>. Ersätt <capability-file> med den filsökväg som du angav när du laddade ned funktionen.
När du har valt filen startar sessionen. Varje gång azsphere-kommandot körs under sessionen skickas kapacitetsinformationen till enheten, vilket låser upp kommunikationen. Funktionen lagras på datorn och är associerad med dina Inloggningsdata för Windows eller Linux, inte med din Azure Sphere-inloggning. Underhållssessionen gäller för alla azsphere-kommandon som riktas mot enheten från datorn, inte bara de som körs från den aktuella kommandotolken.
Om du vill avsluta servicesessionen använder du kommandot azsphere device capability select --none
När det här kommandot lyckas skickas inte längre kapacitetsinformationen till enheten. Om du inte avslutar sessionen skickas den aktuella enhetsfunktionen tillsammans med kommandot nästa gång du utfärdar ett azsphere-kommando från den här datorn, och kommandot misslyckas om du arbetar med en annan enhet. Om du tar bort kapacitetsfilen utan att avsluta underhållssessionen varnar nästa kommando dig om att den valda funktionsfilen saknas och avmarkerar markeringen för ytterligare kommandon.