裝置更新模組代理程式可以與其他系統程序並行運行,並且 IoT Edge 模組 連線到 IoT 中心,作為同一邏輯裝置的一部分。 本節說明如何將裝置更新代理程式布建為模組身分識別。
公開預覽重新整理時對裝置更新代理的變更
我們已在最新的公開預覽重新整理代理程式 (0.8.0 版) 中,將許多新功能新增至裝置更新代理程式。 如需詳細資訊 ,請參閱新功能清單 。
如果您使用裝置更新代理程式 0.6.0 或 0.7.0 版,請移轉至最新的代理程式版本 0.8.0。 如需公開預覽重新整理代理程式的變更內容及升級方法,請參閱
您可以在 IoT 裝置對應項的 [裝置屬性] 區段中,查看已安裝的裝置更新代理程式和傳遞優化代理程式。 瞭解更多有關 ADU 核心介面下之裝置屬性。
模組身分識別與裝置身分識別
在 IoT 中樞的每個裝置身分識別下,您可以建立最多 50 個模組身分識別。 每個模組身分識別都會隱含地產生模組數位雙胞胎。 在裝置端,IoT 中樞裝置 SDK 可讓您建立模組,其中每個模組都會開啟與 IoT 中樞的獨立連線。 模組身分識別和模組對應項提供與裝置身分識別和裝置對應項類似的功能,但數據粒度更精細。 深入了解 IoT 中樞的模組身份識別
如果您要將代理程式從裝置層級移轉為裝置上的模組身分識別,請移除使用裝置孿生進行通訊的較舊代理程式。 當您將裝置更新代理程式設定為模組身分識別時,裝置與裝置更新服務之間的所有通訊都透過模組雙胞胎進行,因此請記得在建立群組時標記裝置的模組雙胞胎,而且所有通訊都必須透過模組雙胞胎進行。
支援裝置更新
目前,裝置更新支援以下類型的 IoT 裝置空中更新:
Linux 裝置 (IoT Edge 和非 IoT Edge 裝置):
受限制的裝置:
- AzureRTOS 裝置更新代理程式範例:Azure IoT 中樞的 Azure 即時作業系統裝置更新教學課程
已中斷連線的裝置:
- 瞭解對於離線裝置更新的支援
先決條件
如果您要為封包式更新設定 IoT 裝置/IoT Edge 裝置,請遵循下列步驟,將 packages.microsoft.com 新增至電腦的軟體庫:
登入您想要安裝裝置更新代理程序的機器或IoT裝置。
開啟 [終端機] 視窗。
安裝符合您裝置作系統的存放庫組態。
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list將產生的清單複製到sources.list.d目錄。
sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/安裝 Microsoft GPG 公開金鑰。
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpgsudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
如何將裝置更新代理程式布建為模組身分識別
本節說明如何將裝置更新代理程式設定為模組身分識別
- 已啟用IoT Edge的裝置,或
- 非 Edge IoT 裝置,或
- 其他 IoT 裝置。
若要檢查您的裝置上是否已啟用 IoT Edge,請參閱IoT Edge安裝指示。
請遵循下列所有或任一節,根據您所管理IoT裝置的類型來新增裝置更新代理程式。
在 IoT Edge 啟用的裝置上
請遵循下列指示,在已啟用 IoT Edge 的裝置上配置裝置更新代理程式。
請依照指示手動配置一個 Linux IoT Edge 裝置。
安裝裝置更新映像更新代理程式。
我們在 這裏的資產 存放庫中提供範例映像。 swUpdate 檔案是可以燒錄到 Raspberry Pi B3+ 開發板上的基礎映像檔。 .gz檔案是您要透過IoT中樞裝置更新匯入的更新。 如需範例,請參閱「如何將映像檔燒錄至 IoT Hub 裝置」。
安裝裝置更新套件更新代理程式。
如需來自 packages.microsoft.com 的最新代理程式版本:請更新您裝置上的套件清單,以便安裝裝置更新代理程式套件及其相依性。以下是使用方法:
sudo apt-get updatesudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt針對任何 'rc' ,亦即從 Artifacts 發行候選代理程式版本:將.deb檔案下載到您要安裝裝置更新代理程式的計算機,然後:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
您現在已準備好在IoT Edge裝置上啟動裝置更新代理程式。
在未安裝IoT Edge的IotLinux裝置上
請遵循這些指示,在您的IoT Linux裝置上布建裝置更新代理程式。
安裝IoT身分識別服務,並遵循 安裝 Azure IoT 身分識別服務中的限制,將最新版本新增至IoT裝置。
遵循 設定 Azure IoT 識別服務中的指示,設定 IoT 識別服務。
最後安裝裝置更新代理程式。 我們 在這裡提供資產中的範例圖像,swUpdate 檔案是基礎映像檔,您可以燒錄到 Raspberry Pi B3+ 電路板上,而 .gz 檔案是您透過 IoT 中樞的裝置更新匯入的更新。 請參閱如何將映像檔燒錄至您的 IoT 中樞裝置的範例。
安裝裝置更新代理程序之後,您必須執行下列命令來編輯裝置更新的組態檔。
sudo nano /etc/adu/du-config.json請將 connectionType 變更為 "AIS",以供將使用 IoT 身分識別服務進行布建的代理程式使用。 ConnectionData 字段必須是空字串
您現在已準備好在IoT裝置上啟動裝置更新代理程式。
其他 IoT 裝置
您也可以在沒有IoT身分識別服務的情況下設定裝置更新代理程式,以進行測試或限制裝置。 請遵循下列步驟,使用連接字串來布建裝置更新代理程式(從模組或裝置)。
我們在 這裏的資產 存放庫中提供範例映像。 swUpdate 檔案是可以燒錄到 Raspberry Pi B3+ 開發板上的基礎映像檔。 .gz檔案是您要透過IoT中樞裝置更新匯入的更新。 如需範例,請參閱「如何將映像檔燒錄至 IoT Hub 裝置」。
登入機器或IoT Edge裝置/IoT設備。
開啟終端機視窗。
在 Device Update 設定檔 中新增連接字串:
在終端機視窗中輸入下列內容:
- 針對Ubuntu代理程式 使用:sudo nano /etc/adu/du-config.json
- 針對 Yocto 參考影像,使用:sudo nano /adu/du-config.json
複製主要連接字串
- 如果裝置更新代理程式設定為模組,請複製模組的主要連接字串。
- 否則,請複製裝置的主要連接字串。
將複製的主要連接字串輸入 du-config.json 檔案中的 『connectionData』 字位值。 然後儲存並關閉檔案。
現在您已準備好在IoT裝置上啟動裝置更新代理程式。
如何啟動裝置更新代理程式
本節說明如何啟動並驗證裝置更新代理程式,作為在IoT裝置上成功執行的模組身分識別。
登入已安裝裝置更新代理程式的機器或裝置。
開啟終端機視窗,然後輸入下列命令。
sudo systemctl restart adu-agent您可以使用下列命令來檢查代理程式的狀態。 如果您看到任何問題,請參閱此疑難解答指南。
sudo systemctl status adu-agent您應該會看到狀態顯示正常。
在 IoT 中樞入口網站上,移至 IoT 裝置或 IoT Edge 裝置,以尋找您使用裝置更新代理程式設定的裝置。 您會在那裡看到以模組身分執行的裝置更新代理程式。 例如:
图表:装置更新模组名称。
如何建置和執行裝置更新代理程式
您也可以建置和修改您自己的客戶裝置更新代理程式。
請按照指示,從原始碼 編譯裝置更新代理程式。
成功建置代理程序之後,即可開始執行代理程序。
現在,進行將代理程式整合到映像檔中所需的變更。 請參閱如何修改裝置更新代理程式,以尋求指引。
疑難解答指南
如果您遇到問題,請檢閱 IoT 中樞的裝置更新 疑難解答指南,以協助解決任何可能發生的問題,並收集需要提供給 Microsoft 的必要資訊。
後續步驟
您可以使用下列教學課程來簡單示範 IoT 中樞的裝置更新:
#B0 映像更新:開始使用 Raspberry Pi 3 B+ 參考 Yocto 映像。可以透過開放原始碼進行擴展,並根據需求為其他架構製作自己的映像。
#B0 開始使用 Ubuntu(18.04 x64)模擬器參考代理 #C1
適用於 Azure IoT 中樞的裝置更新教學課程,針對 Azure 即時作業系統