练习 - 部署和生成解决方案
在第一个练习中,已在 Linux 计算机上安装了 Azure IoT Edge 运行时。 请确保已安装以下软件开发工具。
- Linux 计算机上的 Docker 社区版
- Visual Studio Code 是代码编辑器,是 GitHub 上最受欢迎的开源项目之一。 它在 Linux、macOS 和 Windows 上运行。
- 以下 Visual Studio Code 扩展
- Azure 帐户
- Azure IoT 工具
- Visual Studio Code 的 Docker 扩展
- JSON 工具 可用于更改模块的“创建选项”。
创建 Azure AI 服务
在本模块中,你将使用 Azure AI 自定义视觉和 Azure AI 语音服务。
Azure AI 自定义视觉 服务用于创建提供水果图像的机器学习模型。 然后导出模型并将其添加到项目文件夹。
Azure AI 语音服务用于从商品标签生成语音。 将在部署模板中添加语音密钥。
多服务资源在门户中的“Azure AI 服务”“Azure AI 服务多服务帐户”下列出。 要创建多服务资源,请按照以下说明操作:
登录到 Azure 门户。
选择此链接以创建多服务资源:https://portal.azure.com/#create/Microsoft.CognitiveServicesAllInOne
在“创建”页中提供以下信息:
项目详细信息 DESCRIPTION 订阅 选择一个可用的 Azure 订阅。 资源组 将包含 Azure AI 服务资源的 Azure 资源组。 可以创建新组或将其添加到预先存在的组。 地区 Azure AI 服务实例的位置。 不同位置可能会导致延迟,但不会影响资源的运行时可用性。 名字 Azure AI 服务资源的描述性名称。 例如 ,MyAzureAIServicesResource。 定价层 Azure AI 服务帐户的成本取决于你选择的选项和使用情况。 有关详细信息,请参阅 API 定价详细信息。 根据需要为资源配置其他设置,阅读并接受条件(如果适用),然后选择“查看 + 创建”。
小窍门
如果订阅不允许创建 Azure AI 服务资源,则可能需要使用 Azure 门户、PowerShell 命令或 Azure CLI 命令启用该 Azure 资源提供程序的特权。 如果你不是订阅所有者,可请求订阅所有者或具有管理员角色的人员帮助你完成注册,或请求向你的帐户授予 /register/action 特权。
在 Linux 计算机上安装 Docker 注册表
Azure IoT Edge 依赖于从 Docker 注册表分发的 Docker 映像。 在生产环境中,需要从 Azure 容器注册表等注册表部署 Docker 映像。
开发 Azure IoT Edge 模块时,在设备上安装本地容器注册表并将 Docker 映像从本地注册表部署到 Azure IoT Edge 速度更快。
在 Linux 计算机中打开终端并运行以下命令以设置本地 Docker 注册表。
docker run -d -p 5000:5000 --restart=always --name registry registry:2
将映像识别解决方案克隆到 Linux 计算机
克隆此 GitHub 存储库。
git clone https://github.com/MicrosoftDocs/mslearn-oxford.create-image-recognition-with-azure-iot-edge
从 Visual Studio Code 菜单打开解决方案。
更新 Azure AI 语音密钥
打开 deployment.template.json 文件,并使用从 Azure 语音服务复制的密钥更新 azureSpeechServicesKey 。
确认处理器
需要确保计划生成的映像与目标处理器体系结构匹配。 在本例中,我们将为 amd64 构建。 确认处理器体系结构。
在 Visual Studio Code 中,底部栏单击当前选定的处理器体系结构,然后从弹出窗口中选择 amd64。
生成解决方案
右键单击 deployment.template.json 文件,然后选择“生成和推送 IoT Edge 解决方案”,生成解决方案并将其推送到 Docker。 首次构建会比较慢,因为 Docker 需要拉取基础层到本地计算机。
如果要交叉编译到 amd64,则第一个生成速度会非常慢,因为需要编译 OpenCV 和 Python 要求。 在快速 Intel i7-8750H 处理器上,交叉编译此解决方案大约需要 40 分钟。
部署解决方案
Docker 生成和推送过程完成后,选择要将解决方案部署到的 Azure IoT 中心设备。 右键单击配置文件夹中找到的 deployment.json 文件,然后从下拉列表中选择目标设备。