Azure IoT 中樞中的自動裝置管理可自動執行許多重複且複雜的工作,以管理大型裝置叢集的整個生命週期。 本文定義了開發和操作 IoT 解決方案所涉及的各種角色的許多最佳做法。
物聯網硬體製造商/整合商: 物聯網硬件製造商、組裝來自不同製造商的硬件的集成商,或為其他供應商製造或集成的物聯網部署提供硬件的供應商。 參與韌體、嵌入式作業系統和嵌入式軟體的開發和整合。
物聯網解決方案開發人員: 物聯網解決方案的開發通常由解決方案開發人員完成。 該開發人員可能是專門從事此活動的內部團隊或系統集成商的一部分。 物聯網解決方案開發人員可以從頭開始開發物聯網解決方案的各種組件,集成各種標準或開源組件。
物聯網解決方案運營商: 物聯網解決方案部署後,需要長期操作、監控、升級和維護。 多個團隊,例如由資訊技術專家、硬體維運和維護團隊以及監控整個物聯網基礎設施正確行為的領域專家組成的內部團隊,可以執行這些任務。
瞭解大規模配置 IoT 裝置的自動化設備管理
自動裝置管理包含 裝置對應項 和 模組對應項 的許多優點,可在雲端與裝置之間同步處理所需和報告的狀態。 自動裝置設定可自動更新大量的對應項,並可彙整進度和相容性。 下列高階步驟說明如何開發及使用自動裝置管理:
IoT 硬體製造商/整合商會使用裝置對應項,在嵌入式應用程式內實作裝置管理功能。 這些功能可能包括韌體更新、軟體安裝和更新以及設定管理。
IoT 解決方案開發人員會使用裝置對應項和自動裝置設定來實作裝置管理作業的管理層。 解決方案應該包括定義操作員介面來執行裝置管理工作。
IoT 解決方案操作員會使用 IoT 解決方案來執行裝置管理工作,特別是將裝置分組在一起、起始韌體更新等組態變更、監視進度,以及針對出現的問題進行疑難排解。
物聯網硬體製造商/整合商
以下是處理嵌入式軟體開發的硬體製造商和整合商的最佳實踐:
實作 裝置對應項: 裝置對應項可讓您從雲端同步處理所需的設定,並報告目前的設定和裝置屬性。 在內嵌應用程式內實作裝置對應項的最佳方式是透過 Azure IoT SDK。 裝置孿生最適合用於設定,因為:
- 支援雙向通訊。
- 允許已連接和中斷連線的裝置狀態。
- 遵循最終一致性的原則。
- 在雲端中可供完整查詢。
建構裝置對應項以進行裝置管理: 裝置對應項的結構應該讓裝置管理屬性以邏輯方式分組成區段。 此作法可讓設定變更受隔離,而不會影響到對應項的其他區段。 例如,在韌體的所需屬性中建立一個部分,為軟體建立另一個部分,並為網路設定建立第三個部分。
報告對裝置管理有用的裝置屬性: 實體裝置品牌和型號、韌體、作業系統、序號和其他識別碼等屬性可用於報告,並作為目標設定變更的參數。
定義報告狀態和進度的主要狀態: 應該列舉最上層狀態,以便向操作員報告。 例如,韌體更新會報告狀態為 [目前]、[正在下載]、[正在套用]、[進行中] 和 [錯誤]。 定義更多欄位,以取得每個狀態的詳細資訊。
物聯網解決方案開發人員
以下是以 Azure 為基礎建置系統的 IoT 解決方案開發人員的最佳做法:
實作 裝置對應項: 裝置對應項可讓您從雲端同步處理所需的設定,並報告目前的設定和裝置屬性。 在雲端解決方案應用程式內實作裝置對應項的最佳方式是透過 Azure IoT SDK。 裝置孿生最適合用於設定,因為:
- 支援雙向通訊。
- 允許已連接和中斷連線的裝置狀態。
- 遵循最終一致性的原則。
- 在雲端中可供完整查詢。
使用裝置對應項標記來組織裝置:解決方案應讓操作員能夠根據不同的部署策略 (例如 Canary) 定義裝置的品質群集或其他集合。 您可以使用設備雙胞胎標籤和 查詢,在您的解決方案內實現裝置組織。 裝置組織對於安全且準確地推出配置是必要的。
實作 自動裝置設定: 自動裝置設定透過裝置雙胞胎,部署並監控大型 IoT 裝置集的設定變更。
自動裝置設定可透過目標條件 (這是對裝置對應項標記或報告屬性的查詢) 將多組裝置對應項設為目標。 目標內容是將在目標裝置對應項內設定的一組必要屬性。 目標內容應該與 IoT 硬體製造商/整合商所定義的裝置對應項結構一致。 計量是對裝置對應項報告屬性的查詢,也應與 IoT 硬體製造商/整合者所定義的裝置對應項結構相一致。
自動裝置組態會在建立組態後不久首次執行,然後以五分鐘的間隔執行。 其也受益於執行裝置對應項作業的 IoT 中樞,速率絕不會超過裝置對應項讀取和更新的節流限制。
使用裝置佈建服務:解決方案開發人員應使用裝置佈建服務,將裝置對應項標記指派給新的裝置,以使具有該標記的對應項為目標的自動裝置設定能夠自動設定這些裝置。
物聯網解決方案運營商
以下是使用 Azure 上建置之 IoT 解決方案的 IoT 解決方案操作員的最佳做法:
組織設備進行管理: IoT 解決方案應該定義或允許根據各種部署策略 (例如 Canary) 建立品質環或其他裝置集。 裝置集可用來推出組態變更,以及執行其他大規模裝置管理作業。
使用分階段推出來執行設定變更: 分階段推出是一個整體過程,操作員將更改部署到一組不斷擴大的物聯網設備。 目標是逐步進行變更,以降低進行大規模重大變更的風險。 操作員應該使用解決方案的介面來建立 自動裝置設定 ,而目標條件應該以一組初始裝置為目標 (例如 Canary 群組) 。 然後,操作員應該驗證初始裝置集中的組態變更。
驗證完成後,操作員會更新自動裝置組態,以包含更大的裝置集。 操作員也應該將設定的優先順序設定為高於目前以這些裝置為目標的其他設定。 您可以使用自動裝置組態所報告的度量標準來監控部署。
在發生錯誤或設定不當時執行復原:導致錯誤或不當設定的自動裝置設定,可藉由變更目標條件而使裝置不再符合目標條件來復原。 請確定優先順序較低的另一個自動裝置設定仍以這些裝置為目標。 檢視指標以確認回滾成功:回滾的組態不應再顯示未被針對的裝置的狀態,而第二個組態的指標現在應該包含仍被針對的裝置數量。
後續步驟
在了解和使用 Azure IoT 中樞的裝置對應項中了解如何實作裝置對應項。
逐步解說使用 Azure 入口網站自動 IoT 裝置和模組管理中建立、更新或刪除自動裝置設定的步驟。
學習如何在 Azure IoT Hub 裝置更新教學中,使用 Raspberry Pi 3 B+ 參考映像完成端到端的影像更新。