引入用于 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)
從 Visual Studio 市場安裝 Visual Studio 版 Azure IoT Edge 工具。
更新 Visual Studio 的 Cloud Explorer。“工具” > “擴展…” > “查找 Cloud Explorer”,然后單擊“更新”按鈕(版本號)
在 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 控制臺應用程序。
通常,我們希望先測試/調試每個模塊之后,再讓該模塊與多個模塊一起在整個解決方案中運行。
■?1、成功創建項目后,在上下文菜單中將 IoTEdgeModule1 選為默認項目。
■?2、按 F5 或單擊以下按鈕運行模塊,第一次可能耗時 10~20 秒。
注:如果發現任何沖突錯誤,則需使用 Docker CLI 停止正在運行的同名容器,然后再按一次 F5。
■?3、如果模塊已成功初始化,您將看到 .Net Core 控制臺應用程序已啟動。
■?4、現在您可以在 Program.cs 的 PipeMessage 中設置斷點,然后在 Git Bash 或 WSL Bash 中運行以下命令來發送消息(請勿在 CMD 或 Powershell 中運行以下命令)(您也可以在“輸出”窗口中找到此命令):
■?5、斷點應被觸發。您可以在“Visual Studio 局部變量”窗口中查看變量。
開發了單個模塊之后,接下來,我們希望運行和調試具有多個模塊的整個解決方案。
■?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 <ACR username> -p <ACR password> <ACR login server>?■?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 下載并試用它(預覽版)。此外,請將您遇到的任何問題、任何功能請求或其他問題報告給 vsciet@microsoft.com。
??本文翻譯轉載自MSDN網站
??原文作者:Xin_Shi
總結
以上是生活随笔為你收集整理的引入用于 Azure IoT Edge 的 Visual Studio 工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 某银行大型管理系统端到端持续集成和交付实
- 下一篇: .Net Core分布式部署中的Data