裝置更新代理程式佈建
裝置更新模組代理程式可以與其他系統流程和 IoT Edge 模組 一起執行,這些模組會連線到您的 IoT 中樞,並作為相同邏輯裝置的一部分。 本節說明如何將裝置更新代理程式佈建為模組 ID。
在公開預覽重新整理時,變更裝置更新代理程式
我們已將許多新功能新增至最新的公開預覽重新整理代理程式中 (版本 0.8.0)。 如需詳細資訊,請參閱新功能清單。
如果您使用裝置更新代理程式 0.6.0 或 0.7.0 版本,請移轉至最新的代理程式 0.8.0 版本。 請參閱針對變更以及如何升級的公開預覽重新整理代理程式
您可以在 IoT 裝置對應項的「裝置屬性」區段中,檢查裝置更新代理程式和傳遞最佳化代理程式的已安裝版本。 深入了解 ADU 核心介面下的裝置屬性。
模組 ID 與裝置身分識別
在 IoT 中樞的每個裝置身分識別下,您可以建立最多 50 個模組身分識別。 每個模組身分識別都會隱含地產生模組對應項。 在裝置端,IoT 中樞裝置 SDK 可讓您建立會個別向 IoT 中樞建立獨立連線的模組。 模組身分識別和模組對應項所提供的功能,和裝置身分識別與裝置對應項所提供的功能相似,但是更為細微。 深入了解 IoT 中樞中的模組身分識別
如果您要從裝置層級代理程式移轉至將代理程式新增為裝置上的模組身分識別,請移除透過裝置對應項進行通訊的較舊代理程式。 當您將裝置更新代理程式佈建為模組 ID,裝置與裝置更新服務之間的所有通訊都會透過模組對應項進行,因此請務必記住,在建立群組時標記裝置的模組對應項,並且所有通訊都必須透過模組對應項進行。
支援裝置更新
裝置更新目前支援下列透過無線更新類型的 IoT 裝置:
Linux 裝置 (IoT Edge 和非 IoT Edge裝置):
受限制的裝置:
- AzureRTOS 裝置更新代理程式範例:適用於 azure-Real-Time-Operating-System 的 Azure IoT 中樞裝置更新教學課程
已中斷連線的裝置:
先決條件
如果您要為套件型更新設定 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.gpg
sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
如何將裝置更新代理程式佈建為模組 ID
本節說明如何將裝置更新代理程式佈建為模組 ID,並佈建在
- IoT Edge 啟用的裝置,或
- 非 Edge IoT 裝置,或
- 其他 IoT 裝置上。
若要檢查您的裝置上是否已啟用 IoT Edge,請參閱 IoT Edge 安裝指示。
請遵循下列所有或任何章節,根據您所管理 IoT 裝置的類型來新增裝置更新代理程式。
在 IoT Edge 啟用的裝置上
請遵循這些指示,在 IoT Edge 啟用的裝置上佈建裝置更新代理程式。
安裝裝置更新影像更新代理程式。
我們會在此處資產存放庫中提供範例影像。 swUpdate 檔案是基礎映像,您可以將其快閃至 Raspberry Pi 3 B+ 面板。 .gz 檔案是您將透過 IoT 中樞裝置更新匯入的更新。 如需範例,請參閱如何將影像快閃至IoT 中樞裝置。
安裝裝置更新套件更新代理程式。
如需來自 packages.miscrosoft.com 的最新代理程式版本:更新裝置上的套件清單,並使用下述內容安裝裝置更新代理程式套件及其相依性:
sudo apt-get update
sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt
針對任何來自 Artifacts 的 'rc' (例如候選版代理程式版本):將 .deb 檔案下載到您要安裝裝置更新代理程式的機器,然後:
sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
您現在可以準備在您的 IoT Edge 裝置上啟動裝置更新代理程式。
未安裝 IoT Edge 的 Iot Linux 裝置上
請遵循這些指示,在您的 IoT Linux 裝置上佈建裝置更新代理程式。
安裝 IoT 身分識別服務,並遵循安裝 Azure IoT 識別服務中的動作,將最新版本新增至您的 IoT 裝置。
遵循 設定 Azure IoT 識別服務中的指示,設定 IoT 識別服務。
最後安裝裝置更新代理程式。 我們在此處資產中提供範例影像,swUpdate 檔案是您可以快閃至 Raspberry Pi B3+ 面板的基礎影像,而 .gz 檔案是您要透過 IoT 中樞裝置更新匯入更新。 請參閱如何將影像快閃至 IoT 中樞裝置。
當您安裝裝置更新代理程式之後,您必須執行下列命令,編輯裝置更新的設定檔。
sudo nano /etc/adu/du-config.json
針對將使用 IoT 身分識別服務進行佈建的代理程式,將 connectionType 變更為 "AIS"。 ConnectionData 欄位必須是空白字串
您現在可以準備在您的 IoT Edge 裝置上啟動裝置更新代理程式。
其他 IoT 裝置
您也可以在沒有 IoT 身分識別服務的情況下,設定裝置更新代理程式,以進行測試或在受限制的裝置上執行。 請依照下列步驟,(從模組或裝置) 使用連接字串佈建裝置更新代理程式。
我們會在此處資產存放庫中提供範例影像。 swUpdate 檔案是基礎映像,您可以將其快閃至 Raspberry Pi 3 B+ 面板。 .gz 檔案是您將透過 IoT 中樞裝置更新匯入的更新。 如需範例,請參閱如何將影像快閃至IoT 中樞裝置。
登入至機器或 IoT Edge 裝置/IoT 裝置。
開啟終端機視窗。
將連接字串新增至裝置更新組態檔:
在終端視窗中輸入下列命令:
- 針對 Ubuntu 代理程式,請使用:sudo nano /etc/adu/du-config.json
- 針對 Yocto 參考影像使用:sudo nano /adu/du-config.json
複製主要連接字串
- 如果將裝置更新代理程式設定為模組,請複製模組的主要連接字串。
- 或是複製裝置的主要連接字串。
在 du-config.json 檔案中,將複製的主要連接字串輸入 'connectionData' 欄位的值。 然後儲存並關閉檔案。
您現在可以準備在您的 IoT Edge 裝置上啟動裝置更新代理程式。
如何啟動裝置更新代理程式
本節說明如何啟動並驗證裝置更新代理程式,以作為在 IoT 裝置上成功執行的模組 ID。
登入已安裝裝置更新代理程式的機器或裝置。
開啟終端視窗,並輸入下列命令。
sudo systemctl restart adu-agent
您可以使用下列命令檢查代理程式的狀態。 如果出現任何問題,請參閱此疑難排解指南。
sudo systemctl status adu-agent
您應該會看見狀態為正常。
在 IoT 中樞入口網站上,移至 IoT 裝置或 IoT Edge 裝置,以尋找您使用裝置更新代理程式所設定的裝置。 您會在該處看到以模組身分執行的裝置更新代理程式。 例如:
如何建置和執行裝置更新代理程式
您也可以建置和修改您自己的客戶裝置更新代理程式。
遵循指示從來源建置裝置更新代理程式。
成功建置代理程式之後,就可以執行代理程式。
現在,執行將代理程式併入影像所需的變更。 如需指引,請參閱如何修改裝置更新代理程式。
疑難排解指南
如果您遇到問題,請檢閱 IoT 中樞裝置更新疑難排解指南,以協助解除封鎖任何可能的問題,並收集提供給 Microsoft 的必要資訊。
後續步驟
針對 IoT 中樞裝置更新的簡單示範,您可以使用下列教學課程: