共用方式為


教學課程:使用 Ubuntu (18.04 x64) 模擬器參考代理程式的 Azure IoT 中樞裝置更新

Azure IoT 中樞裝置更新支援映像型、套件型和指令碼型更新。

映像檔更新對裝置的最終狀態提供更高的信賴度。 在生產階段前環境和生產環境之間復寫映像更新的結果通常比較容易,因為它不會對套件及其相依性帶來相同的挑戰。 由於其原子的本質,您也可以輕鬆地採用 A/B 容錯移轉模型。

本教學課程會逐步引導您,使用 IoT 中樞的裝置更新功能完成全過程影像更新的步驟。

在本教學課程中,您將了解如何:

  • 下載並安裝映像。
  • 將標籤新增至IoT裝置。
  • 匯入更新。
  • 建立裝置群組。
  • 部署映像更新。
  • 監視更新部署。

先決條件

如果您尚未這麼做,請建立 裝置更新帳戶和實例, 並設定IoT中樞。

在最新發行版本中,從Tutorial_Simulator.zip下載名為的 ZIP 檔案,並將其解壓縮。

將裝置新增至 Azure IoT 中樞

在IoT裝置上執行裝置更新代理程序之後,您必須將裝置新增至IoT中樞。 從IoT中樞內,針對特定裝置產生連接字串。

  1. 從 Azure 入口網站,啟動 IoT 中樞的裝置更新。

  2. 建立新的裝置。

  3. 在左窗格中,移至 [ 裝置]。 然後選取下一步

  4. 在 [裝置識別碼] 下,輸入裝置的名稱。 確定已選取 [自動產生金鑰] 核取方塊。

  5. 選取 [儲存]。

  6. 現在,您要返回 [裝置] 頁面,而您建立的裝置應在清單中。 選取該裝置。

  7. 在裝置檢視中,選取 [主要連接字串] 旁的 [複製] 圖示。

  8. 將複製的字元貼到某處,以供稍後在下列步驟中使用:

    此複製的字串是您的裝置連接字串

安裝裝置更新代理程式以將它測試為模擬器

  1. 請遵循指示來 安裝 Azure IoT Edge 執行環境

    備註

    裝置更新代理程式不相依於IoT Edge。 但它確實依賴隨IoT Edge (1.2.0和更新版本) 一起安裝的IoT身分識別服務精靈來取得身分識別並連線到IoT中樞。

    雖然本教學課程未涵蓋,但 IoT 身分識別服務精靈可以在 Linux 型 IoT 裝置上獨立安裝。 安裝順序很重要。 裝置更新套件代理程式必須在IoT身分識別服務 之後 安裝。 否則,套件代理程式將不會註冊為已授權的元件,以建立與IoT中樞的連線。

  2. 然後,安裝裝置更新代理程式.deb套件。

    sudo apt-get install deviceupdate-agent deliveryoptimization-plugin-apt 
    
  3. 執行下列命令,在組態檔中輸入IoT裝置模組(或裝置,視您使用 裝置更新布建裝置的方式而定) 主要連接字串:

    sudo nano /etc/adu/du-config.json
    
  4. 將代理程式設定為以模擬器執行。 在 IoT 裝置上執行下列命令,讓裝置更新代理程式叫用模擬器處理程式,以使用 APT 處理套件更新 ('microsoft/apt:1'):

    sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so --update-type 'microsoft/apt:1'
    

    若要註冊並叫用模擬器處理程式,請使用下列格式,填入佔位元:

    sudo /usr/bin/AducIotAgent --register--content-handler <full path to the handler file> --update-type <update type name>

  5. 您需要從必要條件中的下載項sample-du-simulator-data.json中獲得檔案Tutorial_Simulator.zip

    開啟檔案 sample-du-simulator-data.json 並將內容複製到剪貼簿:

    nano sample-du-simulator-data.json
    

    選取檔案的內容,然後按 Ctrl+C。 按 Ctrl+X 關閉檔案,不要儲存變更。

    執行下列命令,以在 tmp 資料夾中建立和編輯 du-simulator-data.json 檔案:

    sudo nano /tmp/du-simulator-data.json
    

    Ctrl+V 將內容貼到編輯器中。 選取 Ctrl+X 以儲存變更,然後選取 Y

    變更權限:

    sudo chown adu:adu /tmp/du-simulator-data.json
    sudo chmod 664 /tmp/du-simulator-data.json
    

    如果 /tmp 不存在,則:

     sudo mkdir/tmp
     sudo chown root:root/tmp
     sudo chmod 1777/tmp
    
  6. 執行下列命令重新啟動裝置更新代理程式:

     sudo systemctl restart adu-agent
    

Azure IoT 中樞軟體的裝置更新受限於下列授權條款:

請先閱讀授權條款,再使用代理程式。 您的安裝和使用構成您接受這些條款。 如果您不同意授權條款,請勿使用IoT中樞代理程式的裝置更新。

備註

使用模擬器進行測試之後,請執行下列命令來叫用APT處理程式並 部署無線套件更新

# sudo /usr/bin/AducIotAgent --register-content-handler /var/lib/adu/extensions/sources/libmicrosoft_apt_1.so --update-type 'microsoft/a pt:1'

將標記新增至您的裝置

  1. 登入 Azure 入口網站並移至 IoT 中樞。

  2. 在左窗格的 [裝置 ] 中,尋找您的 IoT 裝置,然後移至裝置對應項或模組對應項。

  3. 在裝置更新代理程式模組的模組對應項中,將其設定為 Null,以刪除任何現有的裝置更新標記值。 如果您使用裝置識別搭配裝置更新代理程式,請在裝置孿生上進行這些變更。

  4. 新增裝置更新標記值,如下所示:

        "tags": {
                "ADUGroup": "<CustomTagValue>"
                }
    

匯入更新

  1. 您將需要在必要條件中下載的 TutorialImportManifest_Sim.importmanifest.json 中的檔案 adu-update-image-raspberrypi3.swuTutorial_Simulator.zip。 從 Raspberry Pi 教學課程中重複使用更新檔案。 因為本教學課程中的更新是模擬更新,所以特定的檔案內容並不重要。

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

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

  4. 選取 新增匯入更新

  5. 選取 [+ 從儲存體容器選取]。 選取現有帳戶或使用 [+ 儲存體帳戶] 建立新帳戶。 然後選取現有的容器,或使用 [+ 容器] 建立新的容器。 此容器將用來暫存更新檔案以進行匯入。

    備註

    建議您在每次匯入更新時使用新的容器,以避免意外從先前的更新匯入檔案。 如果您沒有使用新的容器,請務必先刪除現有容器中的任何檔案,再完成此步驟。

    顯示記憶體帳戶和容器的螢幕快照。

  6. 在容器中,選取 [上傳],然後移至您在步驟 1 下載的檔案。 選取所有更新檔案之後,請選取 [ 上傳]。 然後選取 [選取] 按鈕,以返回 [匯入更新] 頁面。

    顯示選取上傳檔案的螢幕快照。

    此螢幕擷取畫面顯示匯入步驟。 檔案名稱可能不符合範例中使用的檔案名稱。

  7. 在 [匯入更新] 頁面上,檢閱要匯入的檔案。 然後選取 [匯入更新] 以啟動匯入程序。

    顯示匯入更新的螢幕快照。

  8. 匯入程序隨即開始,畫面會切換至 [匯入歷程記錄] 區段。 當 [狀態] 資料行指出匯入成功時,請選取 [可用的更新] 標頭。 您現在應該會在清單中看到您匯入的更新。

    顯示作業狀態的螢幕快照。

深入瞭解 如何匯入更新。

建立更新群組

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

    顯示未分組裝置的螢幕快照。

  2. 請按下 新增群組 以建立新的群組。

    顯示新增裝置群組的螢幕快照。

  3. 從清單中選取 IoT中樞 標籤和 裝置類別 。 接著選取 [建立群組]

    顯示標籤選擇的螢幕快照。

  4. 建立群組後,會更新合規性圖表和群組清單。 更新合規性圖表顯示各種合規性狀態的裝置計數:最新的更新有新的更新可用更新進行中了解更新的合規性

    顯示更新合規性檢視的螢幕快照。

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

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

部署更新

  1. 建立群組之後,您應該會看到裝置群組可用的新更新。 更新的鏈接應該在 [最佳更新] 底下。 您可能需要再次重新整理。 深入了解更新的合規要求

  2. 透過選取群組名稱來選擇目標群組。 系統會將您導向至 [群組基本概念] 底下的 [群組詳細資料]。

    顯示群組詳細數據的螢幕快照。

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

    顯示選取更新的螢幕快照。

  4. 安排您的部署,以立即啟動或設定在未來的某一時間啟動。 然後選擇 [建立]

    顯示 [建立部署] 的螢幕快照。

  5. 在 [部署詳細資料] 下方,[狀態] 會變成 [作用中]。 部署的更新會標示為 [(部署中)]

    顯示部署作用中的螢幕快照。

  6. 檢視合規性圖表,以查看更新目前是否正在進行中。

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

    顯示 [更新成功] 的螢幕快照。

監控更新部署

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

    顯示部署歷程記錄的螢幕快照。

  2. 選取您所建立的部署,然後選擇 [詳細資料]

    顯示部署詳細數據的螢幕快照。

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

您現在已使用 Ubuntu (18.04 x64) 模擬器參考代理程式,利用 IoT 中樞裝置更新成功完成端對端映像更新。

清理資源

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

後續步驟