準備 IoT Edge 適用的開發和測試環境
適用於: IoT Edge 1.5 IoT Edge 1.4
重要
IoT Edge 1.5 LTS 和 IoT Edge 1.4 LTS 為支援的版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。 如果您是舊版,請參閱更新 IoT Edge。
IoT Edge 會將您現有的商務邏輯移到在邊緣運作的裝置。 若要準備您的應用程式和工作負載,以 IoT Edge 模組的身分執行,您需要將它們當作容器來建置。 本文提供如何設定開發環境,讓您可以成功建立 IoT Edge 解決方案的指引。 一旦您設定開發環境之後,就可以學習如何開發您自己的 IoT Edge 模組。
在任何 IoT Edge 解決方案中,至少需要考量兩部電腦:執行 IoT Edge 模組的 IoT Edge 裝置,以及建置、測試及部署模組的開發電腦。 本文主要著重在開發電腦。 若要進行測試,這兩部電腦可以相同。 您可以在開發電腦上執行 IoT Edge,並將模組部署至其中。
作業系統
IoT Edge 會在一組特定的支援的作業系統上執行。 針對 IoT Edge 進行開發時,您可以使用大部分能夠執行容器引擎的作業系統。 容器引擎是開發電腦上將模組建置為容器,並將之推送至容器登錄的需求。
如果開發電腦無法執行 IoT Edge,請跳到本文的測試工具一節,以了解如何在本機進行測試和偵錯。
開發電腦和 IoT Edge 裝置的作業系統不需要相符。 不過,開發電腦和 IoT Edge 裝置的容器作業系統必須一致。 例如,您可以在 Windows 電腦上開發模組,並將之部署至 Linux 裝置。 Windows 電腦必須執行 Linux 容器,才能建置 Linux 裝置的模組。
容器引擎
IoT Edge 的核心概念是,您可以透過將商務和雲端邏輯封裝至容器,以將之遠端部署到裝置。 若要建置容器,您需要開發電腦上的容器引擎。
與 Open Container Initiative 相容的任何容器引擎 (如 Docker),都能建置 IoT Edge 模組映像。 Moby 是生產環境中 IoT Edge 裝置支援的容器引擎。 如果您使用 Ubuntu Core Snap,則 Docker Span 由 Canonical 提供服務,並支持生產案例。
開發工具
Azure IoT Edge 開發工具是開發和測試 IoT Edge 模組的命令列工具。 您可以建立新的 IoT Edge 案例、建置模組映像、在模擬器中執行模組,以及監視傳送至IoT 中樞的訊息。 iotedgedev 工具是開發 IoT Edge 模組的建議工具。
Visual Studio 和 Visual Studio Code 都有附加元件擴充功能,可協助開發 IoT Edge 解決方案。 這些擴充功能提供特定語言的範本,以協助建立和部署新的 IoT Edge 案例。 適用于 Visual Studio 和 Visual Studio Code 的 Azure IoT Edge 擴充功能可協助您撰寫程式碼、建置、部署和偵錯 IoT Edge 解決方案。 您可以建立包含多個模組的整個 IoT Edge 解決方案,而擴充功能會隨著每個新增模組自動更新部署資訊清單範本。 延伸模組也會在 Visual Studio 或 Visual Studio Code 中啟用 IoT 裝置的管理。 您可以將模組部署到裝置、監視狀態,並檢視模組抵達 IoT 中樞的訊息。 最後,這兩個延伸模組都會使用 IoT EdgeHub 開發人員工具,在開發電腦上對模組啟用本機執行和偵錯。
IoT Edge 開發工具
Azure IoT Edge 開發工具可透過命令列功能簡化 IoT Edge 開發。 此工具提供 CLI 命令以開發、偵錯及測試模組。 無論您要在電腦上手動安裝相依性,還是使用預先建置的 IoT Edge 裝置容器在容器中執行 iotedgedev 工具,IoT Edge 開發人員工具都可以搭配您的開發系統使用。
如需詳細資訊並開始使用,請參閱 IoT Edge 開發工具 Wiki。
Visual Studio Code 擴充功能
適用於 Visual Studio Code 的 Azure IoT Edge 延伸模組提供的 IoT Edge 模組範本,是針對 C、C#、Java、Node.js 和 Python 程式設計語言而建置。 C# 中的 Azure 函式範本也包含在內。
重要
Azure IoT Edge Visual Studio Code 延伸模組目前處於維護模式。 iotedgedev 工具是開發 IoT Edge 模組的建議工具。
如需詳細資訊及下載,請參閱適用於 Visual Studio Code 的 Azure IoT Edge。
除了 IoT Edge 擴充功能之外,您可能也會發現它在安裝用於開發的其他擴充功能時很有幫助。 例如,您可以使用適用於 Visual Studio Code 的 Docker 支援來管理映像、容器和登錄。 此外,所有主要支援的語言都有 Visual Studio Code 的擴充功能,可在開發模組時有所幫助。
Azure IoT 中樞 延伸模組很適合搭配 Azure IoT Edge 延伸模組使用。
Visual Studio 2017/2019 延伸模組
適用於 Visual Studio 的 Azure IoT Edge 工具提供以 C# 和 C 建置的 IoT Edge 模組範本。
重要
Azure IoT Edge Visual Studio 延伸模組目前處於維護模式。 iotedgedev 工具是開發 IoT Edge 模組的建議工具。
如需詳細資訊,以及若要下載,請參閱 Azure IoT Edge Tools for Visual Studio 2017 或 Azure IoT Edge Tools for Visual Studio 2019。
測試工具
有數個測試工具可協助您更有效率地模擬 IoT Edge 裝置或對模組進行偵錯。 下表顯示工具之間的高階比較,而下列各節則更具體地描述每個工具。
生產部署僅支援 IoT Edge 執行階段,但下列工具可讓您模擬或輕鬆地建立 IoT Edge 裝置以供開發和測試之用。 這些工具並非互斥,但可以共同作業,以達成完整的開發體驗。
工具 | 也稱為 | 支援的平台 | 適用對象 |
---|---|---|---|
IoT EdgeHub 開發工具 | iotedgehubdev | Windows、Linux、macOS | 模擬裝置以對模組進行偵錯。 |
IoT Edge 開發容器 | iotedgedev | Windows、Linux、macOS | 在不安裝相依性的情況下,進行開發。 |
IoT EdgeHub 開發工具
Azure IoT EdgeHub 開發工具提供本機開發和偵錯體驗。 該工具可協助您在沒有 IoT Edge 執行階段的情況下啟動 IoT Edge 模組,以便您在本機上建立、開發、測試、執行和偵測 IoT Edge 模組和解決方案。 您不需要將映像推送至容器登錄,並將映像部署到裝置進行測試。
IoT EdgeHub 開發人員工具的設計是為了搭配 Visual Studio 和 Visual Studio Code 擴充功能,以及 IoT Edge 開發人員工具使用。 開發工具支援內部迴圈開發以及外部迴圈測試,因此也可與其他 DevOps 工具整合。
重要
IoT EdgeHub 開發工具處於維護模式。 請考慮使用已安裝 IoT Edge 執行階段的 Linux 虛擬機器、實體裝置或 EFLOW。
如需詳細資訊以及安裝方式,請參閱 Azure IoT EdgeHub 開發工具。
IoT Edge 開發容器
Azure IoT Edge 開發容器是一種 Docker 容器,具備開發 IoT Edge 所需的所有相依性。 此容器可讓您輕鬆地開始使用您想要開發的語言,包括 C#、Python、Node.js 和 JAVA。 您只需要安裝容器引擎,例如 Docker 或 Moby,即可將容器提取到您的開發電腦。
如需詳細資訊,請參閱 Azure IoT Edge 開發容器。
DevOps 工具
當您準備好為廣泛的生產案例開發大規模解決方案時,請利用現代化 DevOps 原則,包括自動化、監視和簡化的軟體工程程序。 IoT Edge 具有擴充功能可支援 DevOps 工具,包括 Azure DevOps、Azure DevOps Projects 和 Jenkins。 如果您想要自訂現有的管線,或使用 CircleCI 或 TravisCI 等不同的 DevOps 工具,您可以使用 IoT Edge 開發工具中包含的 CLI 功能來執行此動作。
如需詳細資訊、指引和範例,請參閱下列頁面: