亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino IoT Cloud Amazon Alexa 集成

组件和用品

Arduino MKR WiFi 1010
× 1
Arduino MKR ENV 扩展板
× 1
面包板(通用)
× 1
高亮度 LED,白色
× 1
跳线(通用)
× 1
LED RGB 共阴极
× 1
电阻 220 ohm
× 1

应用和在线服务

Arduino 网页编辑器
Arduino IoT Cloud
Arduino Amazon Alexa 官方 Arduino 技能

关于这个项目

简介:入门

在本教程中,我们将使用 Arduino IoT Cloud,如果您是 Arduino IoT Cloud 的新手,我们建议您先看一下这个介绍性项目,它将为您提供概述并指导您完成设置支持的过程板、物联网云事物和属性,让您加入。

第 1 部分:Arduino 物联网云

在 IoT Cloud 主页面上,我们将创建一个新事物并为其分配一个有意义的名称。 然后我们将选择 我们要使用。如果您看不到您的电路板,您可能跳过了在点击 ADD DEVICE 后开始的过程中添加新设备的步骤 按钮,在设备下 部分。

完成后,我们将添加三个属性 到我们的事情 .前两个将代表 ,最后一个是温度。

ColoredLight 类型 让我们控制 RGB 光,让我们可以控制它的亮度和颜色。将其设置为 ReadandWrite 因为我们需要使用 Alexa 来控制它的行为。

暗光 type 和上面类似,只是让我们控制一个 Light 的亮度。

要添加的最后一个属性是 温度 .让我们将其添加为 ReadOnly, 因为我们只想知道它的值,而不是设置它。作为一种类型,我们可以使用 Temperature 传感器 (摄氏度), 但如果它更适合您,请随意将其设置为 Fº。

这是仪表板 查看您的事物 此时应该是这样的:

添加属性时,请确保仅使用 Smart Home 下列出的类型 部分,否则它们将无法与 Alexa 一起使用。

现在转到网络编辑器 单击编辑草图 事物中的按钮 的编辑视图。

第 2 部分:Arduino 网络编辑器

在 Web 编辑器中,我们需要向 Sketch 添加一些代码 为我们自动生成。

因为我们想读取一些环境数据(即温度,但如果愿意,可以随意添加光照、湿度和压力),我们将导入 Arduino_MKRENV 位于我们草图顶部的库

#include  

然后我们为将用于 R,G,Bandwhitelight 的电路板引脚定义一些常量 ,这样代码可读性更好:

#define PIN_MEETING_ROOM 5#define PIN_LOUNGE_AREA_R 2#define PIN_LOUNGE_AREA_B 3#define PIN_LOUNGE_AREA_G 4 

现在在设置功能 我们可以初始化Arduino MKR ENV Shield 与:

if (!ENV.begin()) { Serial.println("初始化 MKR ENV 屏蔽失败!"); while (1);} 

这样如果没有安装屏蔽Sketch 执行将被阻止。

我们不需要指定 pinMode 需要 OUTPUT 因为我们将使用 analogWrite() 设置我们的白色 LED 的强度或 RGB 的单色。

循环函数 我们将每秒读取一次温度:

温度 =ENV.readTemperature();delay(1000); 

最后是实现我们的回调函数的时候了:每次 Property 发生变化时都会执行的回调函数 的价值来自物联网云。

我们必须实现 onMeetingRoomChangeonLoungeAreaChange :

void onMeetingRoomChange() { uint8_t 亮度 =map(meetingRoom.getBrightness(), 0, 100, 0, 255); if (meetingRoom.getSwitch()) { Serial.println(brightness);模拟写入(PIN_MEETING_ROOM,亮度); } else{ 模拟写入(PIN_MEETING_ROOM,低); }} 

使用上面的代码,我们首先读取亮度值 来自云端和地图 将其设置为可用值,然后我们验证 灯开关 是打开的,如果是,我们可以打开灯,使用 brightness 以前是红色的。否则我们关灯

其他回调的工作原理相同:

void onLoungeAreaChange() { uint8_t r, g, b; LoungeArea.getValue().getRGB(r, g, b); if (loungeArea.getSwitch()) { Serial.println("R:"+String(r)+" G:"+String(g)+ " B:"+String(b));模拟写入(PIN_LOUNGE_AREA_R,R);模拟写入(PIN_LOUNGE_AREA_B,b);模拟写入(PIN_LOUNGE_AREA_G,g); } else{ Serial.println("灯灭");模拟写入(PIN_LOUNGE_AREA_R,0);模拟写入(PIN_LOUNGE_AREA_B,0);模拟写入(PIN_LOUNGE_AREA_G,0); }} 

唯一显着的区别是,我们拥有三个不同的组件,而不是亮度,它们是光的 RGB 颜色的表示。当然,我们可以在 Alexa 应用程序中按名称定义自定义颜色,这样我们就不必手动告诉我们要设置的红色、绿色或蓝色的数量。

第 3 部分:亚马逊 Alexa 技能设置

我们现在需要可以从 Apple App Store 或 Google Play Store 下载的 Amazon Alexa 应用程序。安装后,使用您现有的帐户登录或创建一个新帐户。

让我们完成安装 Arduino Alexa Skill 所需的步骤。我们将按照下面的图片顺序查看所有必需的步骤。

第 4 部分:Amazon Alexa 设备设置

稍等片刻后,您应该会看到已找到一些设备。

点击选择设备后 您将看到列出所有可用设备的设置页面(它们将根据我们在 Arduino IoT Cloud 中命名属性的方式命名)。

让我们选择一台设备并点按设置 向上 设备 .如果您愿意,也可以将其添加到群组中(这样您可以更轻松地控制和组织您的设备),否则跳过此部分。

重复设置 为您要控制的每台设备进行流程。

最后,设备视图应如下所示:

我们终于可以开始问诸如“Alexa,办公室的温度是多少?”之类的问题。或“Alexa,打开会议室的灯。”

玩得开心 Alexa 和 IoT Cloud。如果您有任何疑问或构建此项目,请在下面的评论中告诉我们。

阿杜诺 团队

代码

阿杜诺

示意图


制造工艺

  1. 物联网的雾与云
  2. 英飞凌指定亚马逊网络服务的高级技术合作伙伴
  3. Amazon Alexa 控制 Chromecast
  4. 对吊扇启用 Alexa Control
  5. 使用物联网的心率监测器
  6. 使用物联网远程控制机械臂
  7. Alexa 通过 Raspberry Pi 控制 LED
  8. Arduino Cloud Sensor Tower
  9. 使用 Alexa 和 Arduino IoT Cloud 完全控制您的电视
  10. 由 Alexa 激活的 Arduino 家庭控制器
  11. Azure IoT 游泳池
  12. 物联网中的云