将 IoT DevKit AZ3166 与 Azure Functions 和认知服务配合使用生成语言翻译
本文介绍如何使用 Azure 认知服务将 IoT DevKit 用作语言翻译器。 它会录制你的声音并将其翻译为 DevKit 屏幕上显示的英文文本。
MXChip IoT DevKit 是具有多种外设和传感器的集成 Arduino 兼容板。 可以使用 Visual Studio Code 中的 Azure IoT Device Workbench(Azure IoT 设备 Workbench)或 Azure IoT 工具扩展包进行开发。 项目目录包含有助于确定 IoT 解决方案原型的示例应用程序。
准备阶段
若要完成本教程中的步骤,请先执行以下任务:
- 遵循将 IoT DevKit AZ3166 连接到云中的 Azure IoT 中心中的步骤准备好 DevKit。
创建 Azure 认知服务
在 Azure 门户中,点击“创建资源”,然后搜索“语音” 。 填写表单以创建语音服务。
转到刚创建的语音服务,单击“密钥和终结点”,然后复制“密钥 1” 。 DevKit 将使用此密钥来访问服务。
打开示例项目
确保 IoT DevKit 未连接到计算机。 先启动 VS Code,然后将 DevKit 连接到计算机。
单击
F1
打开命令面板,键入并选择“Azure IoT Device Workbench:打开示例…”。然后选择“MXChip IoT DevKit”作为板 。在 IoT Workbench 的“示例”页中,找到 DevKit Translator 并单击“打开示例” 。 然后选择用于下载示例代码的默认路径。
配合使用语音服务和 Azure Functions
在 VS Code 中,单击
F1
,键入并选择Azure IoT Device Workbench: Provision Azure Services...
。按照以下步骤完成 Azure IoT 中心和 Azure Functions 的预配。 需要三种配置。
配置 说明 IoT 中心 选择现有 IoT 中心或新建一个 IoT 中心。 IoT 中心设备 选择已在中心注册的现有 IoT 设备,或为中心创建新的设备注册。 Azure 函数应用 为此示例创建一个新的 Azure 函数应用。 记下你创建的 Azure IoT 中心设备的名称。
打开
Functions\DevKitTranslatorFunction.cs
并使用在中心注册的设备名称和复制的语音服务密钥 1 更新以下代码行。 同时添加你在其中创建了语音服务的区域。// Subscription Key of Speech Service const string speechSubscriptionKey = ""; // Region of the speech service, see https://docs.azure.cn/cognitive-services/speech-service/regions for more details. const string speechServiceRegion = ""; // Device ID const string deviceName = "";
单击
F1
,键入并选择Azure IoT Device Workbench: Deploy to Azure...
。 如果 VS Code 要求对重新部署进行确认,请单击“是”。确保部署成功。
在 Azure 门户中,单击函数应用。 然后单击菜单中的“函数”,然后单击 devkit_translator 函数 。
单击“获取函数 URL”,复制翻译函数的 URL。
将 URL 粘贴到
azure_config.h
文件。注意
如果函数应用无法正常工作,请查看此常见问题解答部分以解决该问题。
生成并上传设备代码
按以下方式,将 DevKit 切换为配置模式:
- 按住按钮 A。
- 按下然后松开“重置”按钮。
屏幕将显示 DevKit ID 和“配置”。
单击
F1
,键入并选择Azure IoT Device Workbench: Configure Device Settings... > Config Device Connection String
。 选择Select IoT Hub Device Connection String
,将其配置为 DevKit。操作成功后,将看到通知。
再次单击
F1
,键入并选择Azure IoT Device Workbench: Upload Device Code
。 它启动编译,并将代码上传到 DevKit。
测试项目
在应用初始化后,请按照 DevKit 屏幕上的说明进行操作。 默认源语言为“Chinese”。
若要选择另一种语言进行翻译,请执行以下操作:
- 按下按钮 A 以进入设置模式。
- 按下按钮 B 滚动浏览所有受支持的源语言。
- 按下按钮 A 确认所选的源语言。
- 在说话时按住按钮 B,然后释放按钮 B 以启动翻译。
- 屏幕上以英文显示翻译后的文本。
在翻译结果屏幕上,你可以:
按下按钮 A 和 B 以滚动查看并选择源语言。
按下 B 按钮说话。 若要发送声音并获取翻译文本,请释放按钮 B。
工作原理
IoT DevKit 会记录你的声音,然后发送 HTTP 请求以触发 Azure Functions。 Azure Functions 会调用认知服务语音翻译 API 进行翻译。 Azure Functions 获取翻译文本后,它将 C2D 消息发送到设备。 然后翻译将显示在屏幕上。
问题和反馈
如果遇到问题,请参阅 IoT DevKit 常见问题解答,或通过以下渠道联系我们:
后续步骤
通过使用 Azure Functions 和认知服务,你已了解如何使用 IoT DevKit 进行翻译。 在这个操作方法中,你学会了如何:
- 使用 Visual Studio Code 任务自动执行云预配
- 配置 Azure IoT 设备连接字符串
- 部署 Azure Function
- 测试语音消息翻译
继续学习其他教程: