裝置功能與通訊

裝置功能會決定適用於 Service-UART 通訊的裝置特定作業系統原則。 主電腦和連接的裝置之間的所有通訊都是透過服務 UART 進行。 主計算機會與連接的裝置通訊,以便在裝置上執行操作。 製造商、軟體開發人員和現場服務技術人員會使用功能,針對所需的作業解除鎖定服務 UART 通訊,同時確保裝置受到惡意用戶保護。

裝置製造商和 OEM 可以鎖定服務 UART 通訊,以防止擁有裝置實體存取權的人員未經授權使用。 鎖定這類通訊是 裝置完成作業的一部分。 完成後,用戶可以取得裝置的標識碼,但無任何功能;所有其他作業都需要裝置功能。 完成作業通常會在製造商將裝置出貨至客戶網站之前於出廠時執行。

裝置功能檔案只包含單一裝置的零或更多功能。 如果功能檔案套用到的裝置不是其用途,則此功能檔案將無法運作。 裝置可以具有下列功能,這些功能在本主題稍後將說明:

注意

裝置功能與應用程式功能無關。 應用程式功能會指定應用程式在運行時間需要的資源。 如需應用程式功能的詳細資訊,請參閱 應用程式指令清單

如何判斷裝置功能或製造狀態

若要判斷儲存在附加裝置上的功能設定,請使用 az 球體裝置功能顯示附加 命令。 此命令會顯示使用功能檔案所設定的功能,以及部分但並非所有功能預設出現在版面上。

裝置的製造狀態可能會影響裝置功能。 若要判斷裝置的製造狀態,請使用 az 球形裝置製造狀態顯示 命令。 如果命令顯示裝置處於 DeviceComplete 製造狀態或傳回 Device access is forbidden,服務 UART 通訊就會鎖定,而且您需要裝置功能,才能從您的電腦與裝置通訊。 當裝置處於 DeviceComplete 製造狀態時,只有當裝置透過功能檔案解除鎖定時,才能進行製造作業。

注意

如果您在客戶網站安裝裝置,您應該確保裝置在安裝前已完成至 DeviceComplete 製造狀態。 請參閱 完成 Azure 球體裝置

DeviceComplete 製造狀態通常不適合開發人員套件。 若要啟用由製造工程師開發的製造作業測試,開發人員套件應處於 空白 製造狀態或 Module1完成 製造狀態。

裝置如何取得功能

裝置可以透過下列三種方式之一取得功能:

  • 默認開啟。 默認會開啟處於 空白 製造狀態或 Module1Complete 製造狀態的裝置。 這樣做可讓仍在製造階段的裝置不需要連線到雲端或轉換成型錄,如使用裝置功能檔案來解除鎖定功能的程式所要求。 隨著製造作業的進行,製造商可以變更裝置的製造狀態,鎖定不再適用的功能,如 工廠作業中所述。

  • 側載到裝置上。 裝置的功能檔案可能從主電腦側載到裝置上。 使用 az 球體裝置功能下載 命令來擷取功能檔案。 這組側載功能會持續存在,直到側載的新功能檔案 (可能是空白檔案而沒有功能) 。 這是應用程式開發期間的常見情況,例如執行 az 球體裝置啟用開發 命令時。 讓裝置處於解除鎖定狀態,讓開發人員可以執行偵錯等操作,並輕鬆刪除及部署側載版本的應用程式,藉此協助應用程式開發。

  • 每次作業都會傳遞至裝置。 裝置可以透過每次作業套用本機選取的功能。 az 球形裝置功能套用命令會選取儲存在本機主電腦上的功能檔案。 執行此命令後,會使用每個後續命令,將選取的功能從計算機傳遞至裝置。 建議您針對欄位中的裝置使用功能,因為這些功能是儲存在電腦上,而不是裝置上。 避免欄位工程師忘記移除功能而意外將裝置留在不安全狀態的風險。

功能檔案必須先從 Azure 球體安全性服務 (AS3) 下載,才能將功能檔案側載至裝置或經由執行作業的裝置下載,如製造商 之後對裝置進行變更中所述。 下載的功能檔案是裝置專屬;下載之後,功能檔案就可以在相關聯的裝置上重複使用。

enableRfTestMode 功能

當裝置的製造狀態為空白時,裝置預設會顯示 enableRfTestMode 功能。 此功能可啟用電子合成程序設計,以及 RF 運算的設定和測試。 型錄擁有者無法將這項功能下載到主計算機。 如果您需要這項功能,請連絡您的 Microsoft 代表。

當裝置的製造狀態為 空白時, az 球形裝置功能顯示附加 命令會顯示 enableRfTestMode 功能。

app的功能

app此裝置功能可解除鎖定 Service-UART 通訊,並變更裝置信任的簽署類型。 它主要是在應用程式開發期間使用。

根據預設,Azure 球體裝置會信任 Azure 球體安全性服務所下載但不信任 SDK 簽署之圖像套件所下載的生產簽署映像套件。 因此,您無法使用 SDK 建立影像套件,並側載到 Azure 球體裝置進行偵錯,除非裝置具備 app 的功能app此功能會讓裝置信任影像套件,並讓您從裝置啟動、停止、偵錯或移除應用程式。

總之, App 功能解除鎖定 Service-UART 通訊以允許下列作業:

若要新增 app 其他 功能,請使用 az 球形裝置啟用開發 命令。 此命令會下載附加裝置的 App功能 、側載該功能至裝置,並將裝置移至預設的 「開發裝置」群組。 若要指定不同的裝置群組,請包含參數 --device-group

當您使用 某個球形裝置啟用開發時,裝置會保持解除鎖定狀態,直到您明確鎖定裝置為止。 若要重新鎖定裝置,請使用 az 球形裝置 enable-cloud-test 命令。 此命令會移除此功能,並根據提供的命令行參數變更裝置群組。

az 球形裝置啟用開發az 球形裝置啟用雲端測試命令會分別執行一系列動作,以準備裝置進行開發和偵錯或雲端部署。 您可以使用 az 球形裝置功能 命令來下載或更新裝置功能,或找出裝置目前擁有的功能,而不是使用這些命令。

fieldServicing 功能

當裝置的製造狀態為 [空白] 或 [Module1Complete] 時,預設會在裝置上顯示 FieldServicing 功能。 當裝置處於 DeviceComplete 製造狀態時,可以側載 FieldServicing 功能,但通常會在維護會話期間將每個作業傳遞給裝置。 如需有關如何開始維護會話的詳細數據,請參閱在 製造之後對裝置進行變更

無論裝置的製造狀態為何, 此功能變數會 解除鎖定 Service-UART 通訊以允許下列作業:

  • 側載生產簽署映像套件。
  • 啟動、停止及刪除已標示為暫時的生產簽署映像套件。
  • 執行例行維護工作,例如設定Wi-Fi。

雖然當裝置的製造狀態為 [空白] 或 [Module1Complete] 時,裝置預設會顯示 fieldServicing 功能,但 az 球體裝置功能顯示附加命令不會顯示 fieldServicing 功能。

對最新受信任的 Keystore 的相依性

當功能檔案由 AS3 建立時,會使用目前的影像簽署金鑰來簽署。 每個裝置都有受信任的按鍵站,做為保留這些按鍵的操作系統一部分。 不過,如果裝置未連線到因特網,則如果裝置受信任的密鑰store過期,則可能不受其目標裝置信任的功能。

若要補救此問題,其中一個方法是允許裝置連線到因特網,以便更新受信任的鍵盤。 將您的裝置連線到因特網, 然後按 重設 以觸發操作系統更新。

如果無法這樣做,您可以側載已更新的受信任密鑰store。 若要這麼做,請接受 授權條款 ,然後 下載最新的操作系統復原映射,然後從這個 zip 檔案中擷取「trusted-keystore.bin」檔案。 然後,您可以使用 az 球形裝置側載部署的命令 --影像封裝 <path-to-trustedkeystore.bin檔> ,以側載受信任的 Keystore,而該功能現在應該由裝置信任。

第三種方法是 復原系統軟體 ,將 Azure 球體作業系統更新至最新發行的版本,包括最新的受信任的密鑰store。