使用 Amazon Alexa 通过 Renesas AE-CLOUD1 控制外部物联网输出





5.00/5 (2投票s)
使用 Amazon Echo 控制物联网设备以获取温度等信息
在本教程中,您将学习如何使用 Alexa 与 Renesas AE-CLOUD1 套件轻松创建双向通信。Renesas AE-CLOUD1 套件包含 S5D9 开发板。您将能够读取当前温度和压力,打开、关闭或闪烁板上的三个内置 LED,甚至打开、关闭或闪烁连接到板上两个 Grove 连接器的两个外部 LED。完成本教程后,您将能够自行扩展功能。
注意:本教程最初由 IoT 社区成员 Michael Li 发布。他的 Creative Engineering 博客 在此。Michael 已 kindly 允许我转载他的教程。
硬件要求
- Renesas AE-CLOUD1 套件
- Amazon Echo Dot
- Grove 连接线
- 绿色和红色 LED
学习前提
项目目标
使用 Alexa 与 S5D9 开发板进行双向通信。
- 读取当前温度和压力
- 打开/关闭或闪烁板上的三个内置 LED
- 打开/关闭或闪烁连接到板上两个 Grove 连接器的两个外部 LED
视频演示(带外部 LED)
使用 Amazon Alexa 打开/关闭 Renesas S5D9 开发板上的内置 LED
视频演示(带内置 LED)
使用 Amazon Alexa 打开/关闭 Renesas S5D9 开发板上的 GPIO LED
A 部分:创建新的 Alexa 技能。(Amazon)
步骤 1:登录(https://developer.amazon.com2)。
步骤 2:选择 Alexa。
步骤 3:选择 Alexa 技能。
步骤 4:点击“添加新技能”。
步骤 5:填写技能信息部分中用红色框高亮的字段。
调用名称用于您希望 S5D9 开发板响应类似“Alexa,请问 medium one。[您的请求]”的请求时。该名称不必是“medium one”。它可以是“Mary”或其他您喜欢的个性化名称。
步骤 6:填写交互模型部分。这是用户如何与 Alexa 交互的重要部分。
在本教程中,有三个基本命令:获取传感器值、启用/禁用 LED 以及闪烁 LED 指定次数。因此,构造了三个意图来执行这些命令。
上述文件可以从 GitHub 下载,链接如下。文件名是 intent_schema_3.py。还有另外两个文本文件(custom_slot_type.txt 和 sample_utterances.txt)。这些文件方便您将确切信息复制并粘贴到字段中。
示例语句被构造为给出类似友好的英语请求,而 { } 字段由 Alexa 提取并传递到您的云端 Python 代码。您的 Python 代码使用这些字段来执行任务并将适当的响应发送回 Alexa。
例如,“Alexa,请问 Medium One。当前温度是多少?”关键字段是 temperature,它告诉您的代码需要检索什么。您的代码可以将包含当前温度值的消息发送回 Alexa,Alexa 会将消息读给用户。
B 部分:连接 Alexa 和 Renesas IoT Sandbox
B1 部分:创建新的数据流(Renesas IoT Sandbox)
步骤 7b:选择您的 S5D9 项目。
步骤 8:选择 Config --> Data Streams。点击“创建新流”。
步骤 9:输入新流的名称。点击“保存”。
步骤 10:选择 Manage OAuth Client。点击“添加新客户端”。
步骤 11:填写前两个字段。点击 + 打开权限字段。
步骤 12:选择“Alexa_requests”。启用读写权限。不要点击“保存”。
B2 部分:Alexa 配置(Amazon)
步骤 1:填写信息。使用在 Renesas IoT Sandbox 项目中创建的正确数据流名称。
B3 部分:完成数据流配置(Renesas IoT sandbox)
步骤 1:将 Redriect URLs 从 Alexa 配置复制到您的 Renesas IoT Sandbox 项目。
B4 部分:完成 Alexa 配置(Amazon)
步骤 2:将 Client ID 和 Client Secret 从 Renesas IoT Sandbox 项目复制到 Alexa 配置。
C 部分:创建工作流以接收和处理 Alexa 的请求(Renesas IoT Sandbox)
将创建两个工作流来获取 Alexa 的请求。但是,这两个工作流中只有一个应该被激活。两个工作流的构建都是相同的,除了 Python 代码。
步骤 1a:为内置 LED 创建工作流。
步骤 1b:复制 request_sensor_data_and_builtin_led_control_with_Alexa_2.py 文件中的代码(从 GitHub7 下载)。
步骤 2:为外部 GPIO LED 创建工作流。
步骤 2b:复制 external_GPIO_led_control_with_Alexa_6.py 文件中的代码(从 GitHub7 下载)。
D 部分:完成。使用示例请求测试设置。(Amazon)
步骤 1:为 S5D9 开发板和 Amazon Echo Dot 上电。等待 Amazon Echo Dot 告诉您它已准备就绪。
步骤 2:输入有效请求。如果设置正确,服务响应将与预期一致。
步骤 3:进行实际测试,通过对 Amazon Echo Dot 说话。说“Alexa,请问 Medium One。当前温度是多少?”Alexa 应该回应“最近的温度是 28 度。”
步骤 4:要测试 GPIO LED 的控制,请停用内部 LED 工作流并激活 GPIO LED 工作流,如下所示。
恭喜您!您已成功将 Amazon Echo Dot 连接到 AE-CLOUD1!现在您可以修改工作流以响应不同的 Alexa 命令。
后续步骤
通过添加 GT-202 模块,此项目可以修改为与 WiFi 一起使用。
WiFi 设置技巧可以在以下链接中找到:
https://renesasrulz.com/iot/f/iot-sandbox-forum/9733/5-helpful-ae-cloud1-setup-tips