分享方式:


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

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

設定測試裝置或虛擬機器

本教學課程使用 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,請執行下列殼層命令:

    scp <path to the .deb file> tester@<your vm's ip address>:~
    

    然後從遠端連線到您的 VM,在 home 資料夾中執行下列殼層命令:

    #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 deviceupdate-agent
    

設定模擬元件

為進行測試和示範,我們將在裝置上建立下列模擬元件:

  • 三臺馬達
  • 兩臺相機
  • "hostfs"
  • "rootfs"

重要

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

  1. demo 資料夾複製到測試 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
      

匯入範例更新

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

  1. 最新的裝置更新版本中,下載 [資產] 下之 Proxy 更新的匯入資訊清單和映像。

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

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

  4. 選取 [+ 匯入新的更新]

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

    Screenshot that shows the button for selecting to import from a storage container.

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

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

    以下範例會顯示上傳以更新連線到掃地機器人裝置相機的範例檔案。 其也包括預先安裝指令碼,可在無線更新之前關閉相機。

    在此範例中,父匯入資訊清單為 contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json。 而包含更新相機詳細資料的子匯入資訊清單則是 Contoso.Virtual-Vacuum.3.3.importmanifest.json。 這兩個資訊清單檔名稱都遵循必要的格式,且以 .importmanifest.json 作為結尾。

    Screenshot that shows sample files uploaded to update cameras connected to a smart vacuum cleaner device.

  8. 選擇選取

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

    Screenshot that shows listed files and the button for importing an update.

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

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

    Screenshot that shows the imported update added to the list.

如需匯入程式的詳細資訊,請參閱將更新匯入至裝置更新

檢視裝置群組

裝置更新」會利用群組來組織裝置。 裝置更新會根據裝置指派的標籤和相容性內容,自動將裝置分類為群組。 個別裝置僅屬於群組,但群組可有多個子群組來排序不同的裝置類型。

  1. 移至頁面頂端的 [群組和部署] 索引標籤。

    Screenshot that shows ungrouped devices.

  2. 檢視群組清單和更新符合性圖表。 更新合規性圖表顯示各種合規性狀態的裝置計數:最新的更新有新的更新可用更新進行中了解更新合規性

    Screenshot that shows the update compliance view.

  3. 您應該會看到裝置群組,其包含您在本教學課程設定的模擬裝置,以及新群組裝置的任何可用更新。 如果有不符合群組裝置類別需求的裝置,會顯示在對應的無效群組中。 若要從此檢視將最佳的可用更新部署到新的使用者定義群組,請選取群組旁的 [部署]

如需標籤和群組的詳細資訊,請參閱管理裝置群組

部署更新

  1. 建立群組之後,您應該會看到裝置群組可用的新更新,包含 [最佳更新] 底下的更新連結 (您可能必須 [重新整理] 一次)。

    如需符合性的詳細資訊,請參閱裝置更新符合性

  2. 按一下群組名稱以選取目標群組。 系統即會將您導向 [群組基本資料] 下的群組詳細資料。

    Group details

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

    Select update

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

    Create deployment

  5. [部署詳細資料] 下的 [狀態] 應該會變成作用中,而已部署的更新應標示為「(正在部署)」。

    Deployment active

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

  7. 成功更新裝置之後,您應該會看到合規性圖表和部署詳細資料已更新,反映相同的狀態。

    Update succeeded

監視更新部署

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

    Deployment History

  2. 選取您所建立部署旁的詳細資料連結。

    Deployment details

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

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

清除資源

當您不再需要這些資源後,請清除您的裝置更新帳戶、執行個體、IoT 中樞和 IoT 裝置。

下一步