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

通过 Arduino Yun 与 Alexa 实现智能家居 LED 控制教程

元件与材料

元件数量
Arduino Yun1
Amazon Alexa Echo 设备1
LED(通用)1
Micro SD 卡1

应用与在线服务

项目背景

自从制作了内置 Alexa 的智能镜子后,我一直在寻找更多方法将硬件设备接入家庭自动化系统。当 Alexa Smart Home API v3 支持直接控制自定义设备时,我决定尝试开发一个语音控制 LED 的最小化项目——这相当于智能家居领域的 "Hello World"。为了增加趣味性,我使用了一个 2x3 LED 阵列代替单个 LED。

系统架构概览

本项目将 Arduino Yun 接入 Alexa Smart Home v3 技能,完整链路包括:

  1. Alexa Smart Home Skill (v3):定义设备能力,处理语音指令
  2. AWS Lambda 函数:接收指令,更新 AWS IoT Thing Shadow
  3. AWS IoT Thing Shadow:维护设备期望状态与上报状态
  4. Arduino Yun:订阅 Shadow Delta 通知,驱动 LED

建议分步实施、逐步测试,每个步骤可能耗时 1 小时以上,切勿急躁。

步骤 1:创建 Smart Home Skill 与 Lambda

参考 官方教程 创建技能与 Lambda,完成 LWA 认证获取 Client ID/Secret。此时在 Alexa 控制台能发现设备(仅 Lambda 模拟响应)即算通过。

步骤 2:创建 AWS IoT Thing

在 AWS IoT 控制台创建 Thing,下载证书(公钥、私钥、设备证书、Root CA),并在 Shadow 中初始化属性:

{ "reported": { "light": "on" } }

步骤 3:连接 Lambda 与 Thing

更新 Lambda 代码,使其在处理 TurnOn/TurnOff 指令时更新 Thing Shadow 的 desired 状态。确保 Lambda 执行角色拥有 AWSIoTFullAccess 权限。在 Lambda 测试标签页分别运行 TurnOn 与 TurnOff 测试事件,验证 Shadow 状态变更。

步骤 4:配置 Arduino Yun

通过网页界面配置 Yun 连接 Wi-Fi,格式化 SD 卡为 FAT32,启用扩展存储。完成后可通过 SSH 登录,运行 df -h 确认 SD 卡挂载,并在 Arduino IDE 中跑通 Blink 例程。

步骤 5:安装 AWS IoT Arduino SDK

参考 官方教程 在 Yun 上安装 SDK。Windows 用户可使用 Cygwin 运行 ./AWSIoTArduinoYunInstallAll.sh <IP> <User> <Pass> 一键部署。安装完成后,Arduino IDE 会出现 ShadowThing 例程。

步骤 6:配置证书并运行 Shadow 监听

编辑 aws_iot_config.h 填入 Endpoint、证书路径。上传例程,打开串口监视器确认连接成功。在 IoT 控制台修改 Shadow 状态,串口应收到 Delta 通知。

步骤 7:编写最终控制代码

基于例程修改,仅监听 light 键的变化,将 ledArray 中所有引脚(含板载 LED D13)置 HIGH/LOW。上传代码后,对着 Echo 说“打开/关闭我的灯”即可控制。

步骤 8:庆祝成果!

至此,你已掌握用语音指令驱动 Arduino 的核心流程。后续可扩展继电器、电机、传感器,构建完整智能家居系统。

代码仓库

完整 Lambda (Python) 与 Arduino (.ino/.h) 代码托管于 Gist,请自行下载对应文件部署。

制造工艺

  1. 树莓派 + Python 让 Amazon Alexa 控制 Google Chromecast
  2. 蓝牙控制树莓派机器人:语音反馈功能构建指南
  3. Alexa 控制 ARDrone 2.0 演示:树莓派 + Hologram Nova 语音激活无人机
  4. 手势控制 RGB 台灯 —— 交互式免手操作照明
  5. 将 MIDI 键盘变身智能钢琴导师:Arduino + LED 灯带 + MuseScore
  6. 通过树莓派用 Alexa 控制 LED - 简单分步指南
  7. 废旧遥控车改装:Arduino + USB Host Shield 实现 Xbox 手柄无线控制
  8. Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
  9. Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现
  10. 以太网远程控制机械臂 — 基于 Arduino 101 与 WIZ750SR
  11. PiBot:Arduino驱动的88键钢琴机器人,精准演奏MIDI乐曲
  12. Wi-Servo:基于 ESP8266 的 Wi-Fi 网页端舵机远程控制系统