资料介绍
描述
为什么灯带
我一直对可寻址的 RGB LED 灯带着迷。无穷无尽的色彩效果和动画功能一直吸引着我的创造力,所以几年前我决定为 Arduino 板开发一个名为 ALA(Arduino Light Animations)的库。Alexa 现在让我可以用我的声音控制房间的灯光和效果,这太棒了!
项目概况
有这个项目所必需的组件。
- Amazon Alexa:自定义 Alexa 技能(Light Strip)定义语音交互模型并翻译发出到 Lambda 函数的命令(意图)。
- Arduino :这个不错的微控制器将运行ALA 库来驱动 LED 灯条,通过 USB 串行端口接收来自 Raspberry PI 的命令。您可以使用 Arduino Uno、Nano 或 Mega 开发板。
- WS8212 RGB LED 灯条:这些是可寻址的 LED 灯条,因此每个 LED 灯都可以单独控制。这允许美丽多彩的灯光动画。
项目中没有什么是非常具有挑战性的,但是有很多相互关联的部分。我建议您按照建议的结构在坚实的基础上构建您的项目,然后再继续下一步。为了使事情尽可能简单,我将项目拆分为两个子项目。
该项目的第一部分在我的Web-Controlled LED Animations with Raspberry Pi and Arduino Hackster.io 项目中有所描述,它将指导您完成连接 Raspberry PI、Arduino 板和 WS8212 LED 灯条所需的步骤。在此阶段结束时,您将能够使用网络浏览器从智能手机或 PC 控制 LED 动画。
此处描述的项目的第二部分将使用 Amazon Alexa 在之前的实施中添加语音控制。要正确设置整个链条,需要执行几个步骤,因此请耐心等待并仔细按照说明操作。
亚马逊物联网
你完成硬件部分了吗?现在是上云的时候了!我们将使用 AWS IoT 平台来管理来自互联网的“事物”。
我们将使用“设备影子”,它是事物状态的副本,以及所需的更改。Raspberry PI 将订阅一个通知提要,将更改(“增量”)发布到此影子。查看此链接以了解有关 AWS IoT 平台和 API 的更多信息。
创建物联网事物
登录AWS 控制台。如果您还没有这样做,则需要创建一个免费帐户。
确保您已登录右上角的美国东部(弗吉尼亚北部)或欧洲(爱尔兰)区域。
搜索“IoT”并选择AWS IoT服务。单击“开始”按钮(如果有)以关闭介绍教程。
我们首先需要为我们的“事物”创建一个安全策略。转到Secure > Policies菜单,然后单击Create a Policy按钮并输入以下信息:
- 名称:LightStripPolicy
- 行动: *
- 资源: *
- 效果 - 允许:选中
- 点击“创建”
现在我们可以创建 IoT Thing了。
- 选择Manage > Things菜单并通过单击Register a Thing按钮(或右上角的Create按钮)然后单击Create a single thing创建一个新的 AWS IoT Thing 。
- 在名称字段中键入“LS01”。保留其他字段的默认值并单击下一步。
- 单击一键式证书创建部分中的创建证书按钮。
- 为您的设备和根 CA 下载 3 个证书。对于 Root CA,您可能需要右键单击并保存它。
- 下载证书后,单击“激活”按钮。
- 单击Attach a Policy按钮,选择您之前创建的LightStripPolicy ,然后单击Register Thing 。
在继续之前,您需要记下 AWS IoT 端点。单击AWS IoT 网页左下角的设置菜单,打开它并记下端点。
配置 Raspberry PI 以收听“事物”
我们首先需要在 Raspberry PI 命令行上使用以下命令安装AWS IoT Device SDK for Python :
sudo pip3 install AWSIoTPythonSDK
现在从 GitHub 下载LightStrip 存储库并解压缩。
mkdir
cd /home/pi/LightStrip
wget https://github.com/bportaluri/LightStrip/archive/master.zip
unzip master.zip
将创建 IoT 事物时下载的四个证书复制到/home/pi/LightStrip/LightStrip-master/pi文件夹中。
编辑lightstripcfg.py脚本。您可以使用任何文本编辑器。以下是nano编辑器的命令。
cd /home/pi/LightStrip/LightStrip-master/pi
nano lightstripcfg.py
现在编辑设置以匹配您的配置。
- AWSIOT:输入您之前记下的 AWS IoT 终端节点。
- ROOT_CA:根CA证书文件名
- CERTIFICATE:证书的文件名
- PRIVATE_KEY:私钥文件名
- DEVICE_NAME:保持不变为“LS01”
关闭 nano 编辑器并按“Ctrl+X”然后按“Y”保存文件。
按如下方式启动 lightstrip.py 脚本。
sudo python3 lightstrip.py
该脚本将列出连接的 USB 端口。Arduino 应该连接到 /dev/ttyACM0 所以运行脚本传递这样的端口。
sudo python3 lightstrip.py /dev/ttyACM0
测试客户端将连接到 Amazon Thing Shadow 服务并订阅LS01影子设备的更改。成功连接后,客户端脚本会将其状态更新为 LS01 设备影子,并收到这样的确认消息。
要验证一切是否正常工作,请返回 AWS IoT 控制台并选择“管理”>“事物”菜单,然后打开LS01设备。选择阴影菜单,您将看到设备阴影状态。
单击 Shadow Document 部分中的Edit链接,并将以下 JSON 文档粘贴到 Shadow state 框中。
{
"desired": {
"animation": "101"
}
}
这是你应该看到的。
单击“保存”链接时,“增量”消息将发送到 Raspberry PI 上的 MQTT 客户端,这将打开 LED 灯带。
以下 JSON 文档会将颜色变为蓝色。
{
"desired": {
"color": "0066CC"
}
}
在这一点上,我们能够从 ASW 物联网服务控制我们的 LED 灯条,所以你应该为你感到骄傲。
AWS Lambda 函数
AWS Lambda 允许在云中运行代码而无需配置或管理服务器。它是 Alexa Skills Kit 之间的完美桥梁,将在该项目的最后一步启用语音控制。
登录到AWS 控制台。从服务列表中,选择Lambda 。
确保您登录的区域与您在上一步中使用的区域相同:右上角的美国东部(弗吉尼亚北部)或欧洲(爱尔兰)区域。
单击创建函数按钮。点击Author from scratch ,配置如下:
- 名称 = LightStrip
- 运行时 = Python 3.6
- 现有角色:lambda_basic_execution
- 单击创建函数按钮
记下右上角的 Lambda ARN ID。
单击LightStrip框以显示功能代码部分。
代码输入类型:内联编辑代码
- 运行时:Python 3.6
- 处理程序:lambda_function.lambda_handler
应该已经定义了lambda_function.py脚本。将LightStrip\lambda\lambda_function.py文件中的代码粘贴到代码编辑器中。
创建另一个名为ala_controller.py的文件,并将LightStrip\lambda\ala_controller.py文件中的代码粘贴到代码编辑器中。
这就是整个事情的样子。
完成后,单击右上角的橙色保存按钮。
Alexa 技能
我们现在可以为 Alexa 创建 Light Strip 自定义技能。
转到Amazon Developer Console并根据需要登录。您可能需要先注册您的帐户。
转到Alexa > Alexa Skills Kit(入门)。
单击右上角的添加新技能按钮,然后在技能信息选项卡中输入以下数据:
- 技能类型:自定义交互模型
- 语言:英语(美国)
- 名称:灯带
- 调用名称:灯带
- 点击保存
这创造了技能。请注意技能 ID。
选择“交互模型”菜单,然后单击“启动技能生成器”按钮。
单击代码编辑器按钮并将LightStrip/alexaskill/lightstrip_skill.json文件的内容粘贴到文本框中。
单击保存模型和构建模型按钮。构建模型需要几分钟时间,请耐心等待。单击技能信息按钮返回技能配置页面。
现在点击配置菜单。
在服务端点类型中,选择AWS Lambda ARN ,然后粘贴您在上面记下的 Lambda 函数 ARN。
保留所有默认值并单击下面的“保存”按钮。
将 Alexa 技能连接到 Lambda 函数
返回您的 Lambda 函数。在右侧有一个预定义触发器列表。选择Alexa Skills Kit ,它将添加到您的函数中。
配置如下:
- 应用程序 ID = 您在上面记下的技能 ID
- 点击添加
- 点击保存
你完成了
该项目现已完成。尝试以下语音命令:
- 打开灯带
- 打开
- 将亮度设置为 20%
- 将亮度设置为 50%
- 将颜色设置为红色
- 将颜色设置为绿松石色
- 关掉
- 运行令人兴奋的动画
- 播放轻松的动画
LightStrip 技能还允许更高级的语音交互
- 我:Alexa,打开 Light Strip
- Alexa:欢迎使用 LightStrip - LED 灯条会发出蓝光
- 我:启动动画
- Alexa:你想要轻松还是刺激的动画?
- 我:放松
- Alexa:好的 - LED 灯带将显示随机动画
- 我:下一个动画
- Alexa:好的 - 将显示另一个随机动画
为了更好地理解这里的交互模型是技能的完整 VUI 图。
增强和改进
开机自动启动 AlaWeb
该项目的一个小改进是在启动时自动启动lightstrip.py脚本,这样您就不需要在每次启动 Raspberry PI 或出现问题时手动启动它,而您必须重新启动。按照此说明进行操作。
添加和调整动画
Light Strip cskill 已经定义了 20 个动画变化。但是,ALA 库允许您轻松地设置您自己的动画,选择动画预设、调色板和速度。您可以添加自己的动画或调整ala_controller.py脚本中的现有动画。在第 80 行左右,您将看到一个动画设置列表,您可以根据自己的喜好修改或增强这些设置。
- 由Alexa Echo控制的Arduino机器人
- Arduino动画矩阵骰子
- 使用Raspberry Pi和Arduino实现Web控制的LED动画
- Arduino IoT Cloud ESP32 Alexa Control智能家居
- 使用Google Assistant和Alexa制作基于物联网的Arduino智能家居
- Arduino物联网云智能家居与Alexa使用NodeMCU
- Hello Alexa使用OLED显示模块和Arduino
- 带有Neopixel环形动画的Arduino时钟
- 使用Alexa和Arduino IoT Cloud完全控制您的电视
- Arduino控制时钟和动画开源分享
- 贵州省智能灯杆标准设计图集 2019
- 基于Arduino硬件光控灯制作资料 6次下载
- 使用Arduino通过程序控制LED灯
- 使用Arduino进行智能语音灯设计的接线说明和程序资料免费下载 0次下载
- Arduino教程之如何使用Arduino制作一个宝宝使用的小桔灯详细资料概述 14次下载
- 26张电路原理动画图解 2774次阅读
- 在QML动画设计中通过指定关键帧创建时间线动画 1859次阅读
- 如何使用属性动画实现简单属性变化的动画效果 1280次阅读
- 如何使用Arduino构建一个电子动画眼睛 2299次阅读
- Arduino WS2812B LED灯带设计方案 1.2w次阅读
- 如何从网页控制arduino? 3836次阅读
- Lottie组件提升ArkUI开发框架的动画能力 1846次阅读
- dfrobotRGB LED灯带驱动拓展板简介 2717次阅读
- 微雪电子智能车Arduino AlphaBot2简介 2085次阅读
- 微雪电子智能车学习板配件包Arduino开发板简介 1391次阅读
- 微雪电子ROC-RK3308主板CC-Amazon Alexa简介 1282次阅读
- 最全的机械动画原理合集免费下载 1.5w次阅读
- 利用Arduino制作8×10 LED矩阵 8489次阅读
- 远程控制通讯--基于Arduino + ESP8266控制LED灯 3.9w次阅读
- arduino是什么以及arduino能干什么 4.4w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多