歡迎光臨
每天分享高質量文章

引入用於 Azure IoT Edge 的 Visual Studio 工具

物聯網開發人員:工具和經驗

引入用於 Azure IoT Edge 的 Visual Studio 工具

今天,我們很高興地發佈用於 Visual Studio 2017 的 Azure IoT Edge 工具的預覽版。Azure IoT Edge 是一個全托管服務,通過直接在跨平臺物聯網設備上部署並運行人工智慧、Azure 服務和自定義邏輯,從而在本地提供雲智慧。使用此預覽版,您可以在 Visual Studio 中創建 Azure IoT Edge 專案,添加 C# 自定義模塊,生成模塊,並將這些模塊推送到 IoT Edge 設備上。此外,您還可以在本地 Visual Studio 中同時除錯單個 C# 模塊或多個模塊。

在這篇文章中,我們將向您介紹如何使用 Visual Studio 2017 創建、構建、除錯和部署您的首個 IoT Edge 解決方案。

先決條件

開始使用前,我們需要做以下準備工作。

  • 安裝 .Net Core 2.1 SDK。

  • 安裝 Windows 版 Docker CE。同時確保 Docker CE 以所需的容器樣式(Windows      或 Linux)運行。

  • 安裝 Python 和 Pip。要安裝 Azure IoT Edge Hub Dev 工具,必須安裝 Python 和 Pip。

  • 在終端中運行以下命令,安裝 Azure IoT Edge Hub Dev 工具 (iotedgehubdev)

pip install -U iotedgehubdev
  • 從 Visual Studio 市場安裝 Visual Studio 版 Azure IoT Edge 工具。

  • 更新 Visual Studio 的 Cloud Explorer。“工具” > “擴展…” > “查找 Cloud Explorer”,然後單擊“更新”按鈕(版本號)

在Visual Studio中創建首個IoT Edge解決方案

在 Azure IoT Edge 示例專案中,我們將從 C# 模塊開始,該模塊可將訊息從模擬溫度傳感器直接發送到 Azure IoT 中心。

 1、在 Visual Studio 中,導航到“檔案” > “新建” > “專案”

 2、在 “Visual C#” 部分下選擇“雲”節點,然後選擇 “Azure IoT Edge” 專案型別。如果需要,您可以指定“解決方案名稱”和“解決方案位置”。然後單擊“確定”。

 3、在“模塊配置”視窗中,您需要提供 C# 模塊專案名稱和 Docker 映像儲存庫。若要在 Azure 容器註冊表上托管映像,請將 localhost:5000 替換為從 ACR 複製的登錄服務器值。最終字串與 .azurecr.io/iotedgemodule1 類似。然後單擊“確定”。

現在,Visual Studio 向您提供 Azure IoT Edge 解決方案,其中有兩個專案。

  • AzureIoTEdgeApp1 是 Azure IoT Edge 專案,包含 Azure IoT Edge 部署清單模板,該模板描述解決方案的模塊映像以及模塊間的路由。

  • IoTEdgeModule1 是第一個 C# 模塊專案,屬於 .Net Core 控制台應用程式。

構建和除錯單個 C# 模塊

通常,我們希望先測試/除錯每個模塊之後,再讓該模塊與多個模塊一起在整個解決方案中運行。

 1、成功創建專案後,在背景關係選單中將 IoTEdgeModule1 選為預設專案。

 2、按 F5 或單擊以下按鈕運行模塊,第一次可能耗時 10~20 秒。

註:如果發現任何衝突錯誤,則需使用 Docker CLI 停止正在運行的同名容器,然後再按一次 F5。

 3、如果模塊已成功初始化,您將看到 .Net Core 控制台應用程式已啟動。

 4、現在您可以在 Program.cs 的 PipeMessage 中設置斷點,然後在 Git Bash 或 WSL Bash 中運行以下命令來發送訊息(請勿在 CMD 或 Powershell 中運行以下命令)(您也可以在“輸出”視窗中找到此命令)

curl --essay-header "Content-Type: application/json" --request POST --data '{"inputName": "input1","data":"hello world"}' http://localhost:53000/api/v1/messages

 5、斷點應被觸發。您可以在“Visual Studio 區域性變數”視窗中查看變數。

構建和除錯具有多個模塊的 IoT Edge 解決方案

開發了單個模塊之後,接下來,我們希望運行和除錯具有多個模塊的整個解決方案。

 1、將第二個 C# 模塊添加到解決方案中。右擊 AzureIoTEdgeApp1 並選擇“添加” > “新建 IoT Edge 模塊”。此操作將把 IoTEdgeModule2 添加到專案中,還會更新 AzureIoTEdgeApp1 專案中的 deployment.template.json。第二個模塊仍然是一個管道模塊,接收來自模擬溫度傳感器的訊息,並將訊息發送給 IoT 中心。

 2、將 AzureIoTEdgeApp1 專案設為啟動專案。

 3、按 F5,然後即可同時運行和除錯多個模塊。您將會看到多個 .Net Core 控制台應用程式視窗,每個視窗都顯示 C# 模塊。若要更新模塊拓撲,請更新 AzureIoTEdgeApp1 > deployment.template.json 中的路由部分。

生成和推送映像至 Azure 容器註冊表

接下來,我們將所有 C# 模塊放入 Docker 映像中並推送到 ACR。

 1、請確保啟動專案是 AzureIoTEdgeApp1。選擇“除錯”或“發佈”配置,以生成模塊映像。

 2、在終端通過以下命令運行 Docker 登錄

docker login -u  -p

 3、使用以下內容更新 deployment.template.json。請記住將占位符替換為實際的管理員用戶名和密碼。

 4、右擊 AzureIoTEdgeApp1 並選擇背景關係選單項“生成並推送      Edge 解決方案”,該項將為每個模塊生成和推送 Docker 映像。

在VisualStudioCloudExplorer中創建IoTEdge部署

現在所有映像都可以在 ACR 中部署。

 1、單擊“試圖” > Cloud Explorer,打開 Cloud Explorer

■ 2、右擊 IoT Edge 設備,為其創建部署,你需要選擇 $AzureIoTEdgeApp1\config\Debug|Release\deployment.json 下的部署清單檔案。

註:您需要自行在 Windows 或 Linux 設備上設置 IoT Edge 守護程式。

查看生成的資料

要監視特定設備的 D2C 訊息,請右擊串列中的設備,然後選擇“開始監視 D2C 訊息”。

已知限制

由於這是 Visual Studio 中 IoT Edge 工具的第一個預覽版,因此存在幾個已知的局限,具體如下:

  • 用於部署清單檔案的 IntelliSense:除 Json 驗證之外,我們還沒有用於 deployment.template.json 和 deployment.json 的 IntelliSense。

  • 僅支持 C# 自定義模塊:我們計劃儘快為自定義模塊和函式支持添加其他語言。

  • 僅支持 Amd64 Linux 和 Windows Docker 檔案:我們正在為 arm-Linux 模塊進行交叉編譯。

結論

通過 Visual Studio 2017 中的這些新工具,您現在可以使用 Azure IoT Edge 輕鬆創建、除錯和部署解決方案。請從 Azure IoT Edge for Visual Studio 下載並試用它(預覽版)。此外,請將您遇到的任何問題、任何功能請求或其他問題報告給 [email protected]

 本文翻譯轉載自MSDN網站

赞(0)

分享創造快樂