在製造后變更裝置
Azure Sphere 裝置製造的最後一個步驟是將裝置置於 DeviceComplete 狀態,以保護裝置不受修改。 不過,在某些情況下,必須修改已放入 DeviceComplete 狀態的裝置。
用於這類案例的安全機制是使用 裝置功能。 裝置功能有兩種類型: fieldServicing 和 appDevelopment,您應該使用具有所需功能下限集的裝置功能。 也就是說,如果 fieldServicing 功能符合您的需求,則您應該使用該功能,但如果需要更大的彈性,請改用 appDevelopment 功能。 雖然這些功能是針對命名后的兩個案例所設計,但您應該檢查已啟用的實際功能,而不是依賴該名稱。 只有裝置的類別目錄擁有者可以取得該裝置的功能,而且每個功能僅限於單一裝置。
對 DeviceComplete 裝置進行變更時,您不應該側載這些功能。 這是為了消除意外離開功能存在的風險,進而讓裝置處於不安全的狀態。 相反地,您應該使用服務會話。
使用服務裝置的功能有三個階段:下載功能、套用受信任的密鑰存放區更新(如有必要),然後建立服務會話。
下載功能
您可以使用 az sphere device capability download 命令來下載功能。 您必須能夠存取擁有裝置和因特網存取權的目錄,才能下載功能。 根據預設,會使用目前連接的裝置。 附加多個裝置時,請在 參數中 --device
指定連結裝置的IP位址、裝置標識碼或本機線上標識碼。 下載未連結裝置的功能時,請在 參數中 --device
提供裝置識別碼。
若要下載連結裝置的功能:
使用下列命令搭配
--type
和--output-file
參數來下載附加裝置的功能檔案。 例如:az sphere device capability download --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue> --type ApplicationDevelopment --output-file myCapabilities.cap
將 capability-file> 取代<為要儲存功能檔案之計算機上的位置。
若要下載未連結裝置的功能:
使用下列命令搭配
--device
、--type
和----output-file
參數來下載未連結裝置的功能檔案。 例如:az sphere device capability download --resource-group <resource-group> --catalog <catalog> --device <deviceID> --type fieldServicing ----output-file <capability-file>
提供您需要功能的裝置裝置標識碼,並將 capability-file> 取代<為儲存功能檔案之電腦上的位置。
視需要更新受信任的金鑰存放區
如果裝置未連線到因特網,則裝置可能會不信任此功能。 當 AS3 已更新其映像簽署金鑰時,會使用此金鑰簽署所有映像,包括功能映像,但裝置在其信任的金鑰存放區中沒有此更新的金鑰時發生。 任何連線的裝置都會自動更新其信任的密鑰存放區,但如果裝置未連線,則可能未發生。
若要解決此問題,請參閱 這裡的詳細指示。
建立服務會話
若要服務裝置,您可以選取功能來建立服務會話。 每次在會話期間發出 'az sphere'' 命令時,都會將選取的功能傳遞至裝置,讓裝置能夠執行命令,儘管其鎖定狀態。 功能檔案不會持續儲存在裝置上,因此裝置會保持鎖定並受到保護。 如果稍後將另一部電腦附加至裝置,而無法存取功能檔案,將無法修改裝置。
若要建立服務會話:
使用 程式設計和偵錯介面將裝置連線到電腦。
使用 az sphere device capability apply 命令搭配 --capability-file capability-file<> 參數。 將 capability-file> 取代<為您下載功能時指定的檔案路徑。
選取檔案之後,您的會話就會啟動。 每次
az sphere
在會話期間執行命令時,功能資訊都會傳遞至裝置,從而解除鎖定通訊。 此功能會儲存在您的電腦上,並與 Windows 或 Linux 登入數據相關聯,而不是與您的 Azure Sphere 登入相關聯。 服務會話會套用至從計算機導向裝置的所有az sphere
命令,而不只是從目前的命令提示字元執行這些命令。
若要結束服務會話,請使用 az sphere device capability apply --none 命令
當此命令成功時,功能資訊就不會再傳遞至裝置。 如果您未結束會話,下次從這部計算機發出 『az sphere』 '' 命令時,目前的裝置功能將會隨著命令一起傳遞,因此當您使用不同的裝置時,命令將會失敗。 如果您刪除功能檔案而不結束維護會話,下一個命令會警告您選取的功能檔案遺失,並清除任何進一步命令的選取範圍。