如果您尚未這麼做,請檢閱 使用 Proxy 更新搭配 Azure IoT Hub 的裝置更新。
設定測試裝置或虛擬機
本教學課程使用Ubuntu Server 18.04 LTS 虛擬機(VM)作為範例。
安裝裝置更新代理程式和相依性
在 APT 套件存放庫中註冊 packages.microsoft.com :
sudo apt-get update sudo apt install curl curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/ sudo apt-get update在 IoT 裝置上安裝 deviceupdate-agent 。 從 packages.microsoft.com 下載最新的裝置更新 Debian 檔案:
sudo apt-get install deviceupdate-agent或者,將下載的 Debian 檔案複製到測試 VM。 如果您在電腦上使用 PowerShell,請執行下列 shell 指令:
scp <path to the .deb file> tester@<your vm's ip address>:~然後從遠端連線到您的 VM,於 主 資料夾中執行以下指令:
#go to home folder cd ~ #install latest Device Update agent sudo apt-get install ./<debian file name from the previous step>移至 Azure IoT 中樞,並複製 IoT 裝置的裝置更新模組的主要連接字串。 將欄位的任何預設值
connectionData取代為 du-config.json 檔案中的主要連接字串:sudo nano /etc/adu/du-config.json備註
您可以改為複製裝置的主要連接字串,但我們建議您使用裝置更新模組的連接字串。 如需設定模組的相關信息,請參閱 裝置更新代理程式布建。
請確定 /etc/adu/du-diagnostics-config.json 包含記錄收集的正確設定。 例如:
{ "logComponents":[ { "componentName":"adu", "logPath":"/var/log/adu/" }, { "componentName":"do", "logPath":"/var/log/deliveryoptimization-agent/" } ], "maxKilobytesToUploadPerLogPath":50 }重新啟動裝置更新代理程式:
sudo systemctl restart adu-agent
設定模擬元件
基於測試和示範目的,我們將在裝置上建立下列模擬元件:
- 三個馬達
- 兩台相機
- “hostfs”
- “rootfs”
這很重要
上述元件組態是以稱為 libcontoso-component-enumerator.so 的範例元件列舉值延伸模組實作為基礎。 它也需要這個模擬元件清查資料檔: /usr/local/contoso-devices/components-inventory.json。
將 示範 資料夾複製到測試 VM 上的主目錄。 然後,執行下列命令,將必要的檔案複製到正確的位置:
`~/demo/tools/reset-demo-components.sh`命令
reset-demo-components.sh會代表您採取下列步驟:它會複製 components-inventory.json ,並將其新增至 /usr/local/contoso-devices 資料夾。
它會從 Assets 資料夾複製 Contoso 元件列舉值延伸模組 (libcontoso-component-enumerator.so),並將其新增至 /var/lib/adu/extensions/sources資料夾。
它會註冊擴充功能:
sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
使用下列命令設定 VM 以支援 Proxy 更新,以檢視及記錄目前的元件軟體版本:
~/demo/show-demo-components.sh
匯入一個範例更新
如果您尚未這麼做,請建立 裝置更新帳戶和實例,包括設定IoT中樞。 然後啟動下列程序。
從 最新的裝置更新版本,在 資產 底下,下載 Proxy 更新的匯入清單和映像。
登入 Azure 入口網站,並使用裝置更新移至 IoT 中樞。 在左窗格中,選取 [ 裝置管理>更新]。
選取 [更新] 索引標籤。
選取 + 匯入新的更新。
選取 [+ 從記憶體容器選取],然後選擇您的記憶體帳戶和容器。
選取 [上傳 ] 以新增您在步驟 1 中下載的檔案。
將父匯入指令清單、子匯入指令清單和承載檔案上傳至您的容器。
下列範例顯示上傳的範例檔案,以更新連線到智慧吸塵器裝置的相機。 它也包含預安裝文本,以在無線更新之前關閉相機。
在這個範例中,父匯入指令清單是 contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json。 子匯入指令清單,其中包含更新相機的詳細數據 ,Contoso.Virtual-Vacuum.3.3.importmanifest.json。 請注意,這兩個指令清單檔名都遵循必要的格式,並以 .importmanifest.json結尾。
選擇 [] 選取 []。
UI 現在會顯示將匯入至裝置更新的檔案清單。 選取 匯入更新。
匯入程式隨即開始,畫面會變更為 [ 匯入歷程記錄] 區段。 選取 重新整理 以檢視進度,直到匯入程序完成為止。 視更新的大小而定,匯入可能會在幾分鐘內完成,或需要較長的時間。
當 [狀態 ] 數據行指出匯入成功時,請選取 [ 可用的更新] 索引標籤。您現在應該會在清單中看到匯入的更新。
深入了解 有關匯入更新。
建立更新群組
建立群組之後,您會看到更新合規性圖表和群組清單已更新。 更新合規性圖表顯示各種合規性狀態中的裝置計數:最新更新、可用的新更新,以及進行中的更新。 瞭解更新合規性。
您應該會看到新建立的群組,以及新群組中裝置的任何可用更新。 如果有不符合群組裝置類別需求的裝置,它們會顯示在對應的無效群組中。 您可以按兩下群組旁的 [部署] 按鈕,從這個檢視將最佳的可用更新部署到新的使用者定義群組。
深入瞭解 如何新增標籤和建立更新群組
部署更新
建立群組之後,您應該會看到裝置群組可用的新更新,其中包含 [最佳更新] 底下的更新連結(您可能需要重新整理一次)。 深入瞭解更新合規性。
按兩下組名以選取目標組。 系統會將您導向至 [群組基本概念] 底下的群組詳細數據。
- 若要起始部署,請移至 [目前部署] 索引標籤。從 [可用的更新] 區段按兩下所需更新旁的 [部署] 連結。 指定群組的最佳可用更新會以「最佳」醒目提示表示。
- 您可以排程您的部署以立即啟動或在未來啟動,然後選取 [建立]。
- [部署詳細數據] 底下的 [狀態] 應該會變成 [作用中],且已部署的更新應標示為 “(deploy)”。
監控更新部署
您現在已使用 IoT 中樞的裝置更新功能,成功地完成了端對端的 Proxy 更新。
清理資源
當您不再需要它們時,請清除您的裝置更新帳戶、實例、IoT 中樞和 IoT 裝置。
後續步驟
您可以使用下列教學課程來簡單示範 IoT 中樞的裝置更新: