Alexa,点亮我的心情

了解如何使用 Arduino IoT Cloud 和 Amazon Alexa 控制您的 MKR RGB 扩展板

项目介绍

注意:本教程可能已过时,请转到此处获取最新版本。

简介:Arduino IoT Cloud

$ Arduino IoT Cloud $ 是一个平台,使任何人都可以轻松构建物联网连接对象。为了使用 Alexa 控制我们的 MKR RGB Shield,我们还将使用 $ 官方 Arduino Alexa 技能。 $

如果您是Arduino IoT Cloud的新手,我们建议您首先看一下$这个介绍性项目,$它将为您提供概述并指导您完成设置受支持的板之一,IoT Cloud 事物属性的过程并让您加入。

第 1 部分:Arduino 物联网云

$ IoT Cloud 主页上,我们将创建一个新事物并为其分配一个有意义的名称。 然后,我们将选择要使用的电路板。如果你看不到你的看板,你可能已经跳过了$入门过程:$查看上面的部分。

完成后,我们将为我们的事物添加一个属性,该属性将代表RGB屏蔽。 作为一种类型,请记住选择 ColoredLight,它可以让我们控制 RGB 灯,让我们改变它的亮度和颜色。将其设置为 ReadandWrite,因为我们需要通过 Alexa 控制其行为。

此时,您的事物Dashboard 视图应如下所示:

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

现在,通过单击 Thing 编辑视图中的 Edit Sketch 按钮进入 Web 编辑器

第 2 部分:Arduino Web 编辑器

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

首先要包括的库将帮助我们控制MKR RGB Shield:

#include <ArduinoGraphics.h>

#include <Arduino_MKRRGB.h>

我们必须包括这两个库,因为 $ Arduino_MKRRGB $ 取决于 $ ArduinoGraphics $

现在在设置功能中,我们可以使用以下方式初始化Arduino MKR RGB Shield

if (!MATRIX.begin()) {

Serial.println("Failed to initialize MKR RGB shield!");

while (1);

}

MATRIX.brightness(10);

这样,如果未安装防护板,Sketch 的执行将被阻止。

出于开发目的 ,亮度设置为 10(无需外部电源)。如果您计划使用 $ 入门指南 $ 中所述的 4 Amps 5v 电源,则可以使用更大的值(支持的范围为 0 到 255)。

现在是时候实现我们的回调函数了:负责设置 LED 的颜色/状态。每次从 IoT Cloud 中提取属性值的更改时,都会执行此函数。

让我们实现 onMoodLightChange

void onMoodLightChange() { 
	uint8_t r, g, b; 
	moodLight.getValue().getRGB(r, g, b); 
	MATRIX.beginDraw(); 
	if (moodLight.getSwitch()) { 
	  Serial.println("R:"+String(r)+" G:"+String(g)+ " B:"+String(b)); 
	  MATRIX.fill(r, g, b); 
	  MATRIX.rect(0, 0, MATRIX.width(), MATRIX.height()); 
	} 
	else{ 
	  MATRIX.clear(); 
	} 
	MATRIX.endDraw(); 
} 

使用上面的代码,我们首先从云中读取 rgb 值,并将 RGB 颜色的表示保存在一些变量中,然后我们验证电灯开关是否打开;如果是,我们可以使用颜色值打开灯之前阅读。否则,我们关灯。

beginDraw endDraw 函数用于更改矩阵的状态,fill 用于选择要使用的颜色,rect 是用于指定要填充的区域的函数。

当然,我们可以在 Alexa 应用程序中按名称定义自定义颜色,这样我们就不必手动判断要设置哪些红色、绿色或蓝色的数量。

第 3 部分:Amazon Alexa 技能设置

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

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

第 4 部分:Amazon Alexa 设备设置

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

按照以下图像序列设置设备:

注意:设备将根据我们在Arduino IoT Cloud中命名属性的方式命名。如果您无法找到设备,则可能是您没有从“智能家居”部分选择您的财产。

我们完成了,现在是时候语音控制我们的MKR RGB Shield了,询问诸如此类的问题

  1. “Alexa,打开办公室的灯”
  2. “Alexa,将情绪灯的颜色更改为红色”
  3. “Alexa,将情绪灯的亮度设置为 50%”

玩得开心 Alexa 和 IoT Cloud。

代码文件:

blob:https://app.arduino.cc/2323c0c9-885b-46ff-9538-fc1badc78adb

类似文章

发表回复