共用方式為


教學課程:使用 Azure IoT 中樞的裝置更新來完成 Proxy 更新

如果您尚未這麼做,請檢閱 使用 Proxy 更新搭配 Azure IoT Hub 的裝置更新

設定測試裝置或虛擬機

本教學課程使用Ubuntu Server 18.04 LTS 虛擬機(VM)作為範例。

安裝裝置更新代理程式和相依性

  1. 在 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
    
  2. 在 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>
    
  3. 移至 Azure IoT 中樞,並複製 IoT 裝置的裝置更新模組的主要連接字串。 將欄位的任何預設值 connectionData 取代為 du-config.json 檔案中的主要連接字串:

       sudo nano /etc/adu/du-config.json  
    

    備註

    您可以改為複製裝置的主要連接字串,但我們建議您使用裝置更新模組的連接字串。 如需設定模組的相關信息,請參閱 裝置更新代理程式布建

  4. 請確定 /etc/adu/du-diagnostics-config.json 包含記錄收集的正確設定。 例如:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. 重新啟動裝置更新代理程式:

    sudo systemctl restart adu-agent
    

設定模擬元件

基於測試和示範目的,我們將在裝置上建立下列模擬元件:

  • 三個馬達
  • 兩台相機
  • “hostfs”
  • “rootfs”

這很重要

上述元件組態是以稱為 libcontoso-component-enumerator.so 的範例元件列舉值延伸模組實作為基礎。 它也需要這個模擬元件清查資料檔: /usr/local/contoso-devices/components-inventory.json

  1. 示範 資料夾複製到測試 VM 上的主目錄。 然後,執行下列命令,將必要的檔案複製到正確的位置:

    `~/demo/tools/reset-demo-components.sh` 
    

    命令 reset-demo-components.sh 會代表您採取下列步驟:

    1. 它會複製 components-inventory.json ,並將其新增至 /usr/local/contoso-devices 資料夾。

    2. 它會從 Assets 資料夾複製 Contoso 元件列舉值延伸模組 (libcontoso-component-enumerator.so),並將其新增至 /var/lib/adu/extensions/sources資料夾。

    3. 它會註冊擴充功能:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      
  2. 使用下列命令設定 VM 以支援 Proxy 更新,以檢視及記錄目前的元件軟體版本:

    ~/demo/show-demo-components.sh
    

匯入一個範例更新

如果您尚未這麼做,請建立 裝置更新帳戶和實例,包括設定IoT中樞。 然後啟動下列程序。

  1. 最新的裝置更新版本,在 資產 底下,下載 Proxy 更新的匯入清單和映像。

  2. 登入 Azure 入口網站,並使用裝置更新移至 IoT 中樞。 在左窗格中,選取 [ 裝置管理>更新]。

  3. 選取 [更新] 索引標籤。

  4. 選取 + 匯入新的更新

  5. 選取 [+ 從記憶體容器選取],然後選擇您的記憶體帳戶和容器。

    顯示選取要從記憶體容器匯入之按鈕的螢幕快照。

  6. 選取 [上傳 ] 以新增您在步驟 1 中下載的檔案。

  7. 將父匯入指令清單、子匯入指令清單和承載檔案上傳至您的容器。

    下列範例顯示上傳的範例檔案,以更新連線到智慧吸塵器裝置的相機。 它也包含預安裝文本,以在無線更新之前關閉相機。

    在這個範例中,父匯入指令清單是 contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json。 子匯入指令清單,其中包含更新相機的詳細數據 ,Contoso.Virtual-Vacuum.3.3.importmanifest.json。 請注意,這兩個指令清單檔名都遵循必要的格式,並以 .importmanifest.json結尾。

    此螢幕快照顯示上傳的範例檔案,以更新連線到智慧吸塵器裝置的相機。

  8. 選擇 [] 選取 []。

  9. UI 現在會顯示將匯入至裝置更新的檔案清單。 選取 匯入更新

    顯示已列出檔案和匯入更新按鈕的螢幕快照。

  10. 匯入程式隨即開始,畫面會變更為 [ 匯入歷程記錄] 區段。 選取 重新整理 以檢視進度,直到匯入程序完成為止。 視更新的大小而定,匯入可能會在幾分鐘內完成,或需要較長的時間。

  11. [狀態 ] 數據行指出匯入成功時,請選取 [ 可用的更新] 索引標籤。您現在應該會在清單中看到匯入的更新。

    顯示已新增至清單之匯入更新的螢幕快照。

深入了解 有關匯入更新。

建立更新群組

  1. 移至頁面頂端的 [群組和部署] 索引標籤。 未分組裝置的螢幕快照。

  2. 選取 [新增群組] 按鈕以建立新的群組。 新增裝置群組的螢幕快照。

  3. 從清單中選取IoT中樞標籤和裝置類別,然後選取 [建立群組]。 標籤選取項目的螢幕快照。

  4. 建立群組之後,您會看到更新合規性圖表和群組清單已更新。 更新合規性圖表顯示各種合規性狀態中的裝置計數:最新更新、可用的新更新,以及進行中的更新。 瞭解更新合規性。更新合規性檢視的螢幕快照。

  5. 您應該會看到新建立的群組,以及新群組中裝置的任何可用更新。 如果有不符合群組裝置類別需求的裝置,它們會顯示在對應的無效群組中。 您可以按兩下群組旁的 [部署] 按鈕,從這個檢視將最佳的可用更新部署到新的使用者定義群組。

深入瞭解 如何新增標籤和建立更新群組

部署更新

  1. 建立群組之後,您應該會看到裝置群組可用的新更新,其中包含 [最佳更新] 底下的更新連結(您可能需要重新整理一次)。 深入瞭解更新合規性。

  2. 按兩下組名以選取目標組。 系統會將您導向至 [群組基本概念] 底下的群組詳細數據。

群組詳細數據

  1. 若要起始部署,請移至 [目前部署] 索引標籤。從 [可用的更新] 區段按兩下所需更新旁的 [部署] 連結。 指定群組的最佳可用更新會以「最佳」醒目提示表示。

選擇更新

  1. 您可以排程您的部署以立即啟動或在未來啟動,然後選取 [建立]。

建立部署

  1. [部署詳細數據] 底下的 [狀態] 應該會變成 [作用中],且已部署的更新應標示為 “(deploy)”。

部署已啟動

  1. 檢視合規性圖表。 您應該會看到更新正在進行中。

  2. 成功更新裝置之後,您應該會看到合規性圖表和部署詳細數據更新以反映相同。

    更新成功

監控更新部署

  1. 選取頁面頂端的 [部署歷程記錄] 索引標籤。

    部署歷程記錄

  2. 按一下您所建立部署旁邊的詳細資訊連結。

    部署詳細數據

  3. 按 [重新整理] 以檢視最新的狀態詳細資料。

您現在已使用 IoT 中樞的裝置更新功能,成功地完成了端對端的 Proxy 更新。

清理資源

當您不再需要它們時,請清除您的裝置更新帳戶、實例、IoT 中樞和 IoT 裝置。

後續步驟

您可以使用下列教學課程來簡單示範 IoT 中樞的裝置更新: