Arduino IoT Cloud 与 Amazon Alexa 集成:分步实战指南
零部件清单
| 组件 | 数量 |
|---|---|
| Arduino MKR WiFi 1010 | 1 |
| Arduino MKR ENV Shield | 1 |
| 面包板 | 1 |
| 高亮白光 LED | 1 |
| 跳线 | 若干 |
| RGB LED 共阴 | 1 |
| 220 Ω 电阻 | 若干 |
在线服务
- Arduino Web Editor
- Arduino IoT Cloud
- Amazon Alexa 官方 Arduino Skill
项目流程
第一部分:Arduino IoT Cloud 配置
- 创建新 Thing,命名并选择开发板 (MKR WiFi 1010)
- 添加三个 Smart Home 类型 属性:
meetingRoom:ColoredLight (Read/Write) —— 控制白光灯亮度loungeArea:ColoredLight (Read/Write) —— 控制 RGB 灯颜色与亮度temperature:Temperature Sensor (Celsius) (ReadOnly) —— 读取环境温度
- 查看 Dashboard 预览,点击 Edit Sketch 进入 Web Editor
第二部分:Arduino Web Editor 编程
自动生成的草图中需补充:
#include <Arduino_MKRENV.h>
#define PIN_MEETING_ROOM 5
#define PIN_LOUNGE_AREA_R 2
#define PIN_LOUNGE_AREA_G 3
#define PIN_LOUNGE_AREA_B 4
void setup() {
if (!ENV.begin()) { Serial.println("ENV Shield 初始化失败"); while(1); }
}
void loop() {
temperature = ENV.readTemperature();
delay(1000);
}
// 回调:会议室白光灯
void onMeetingRoomChange() {
uint8_t brightness = map(meetingRoom.getBrightness(), 0, 100, 0, 255);
if (meetingRoom.getSwitch()) analogWrite(PIN_MEETING_ROOM, brightness);
else analogWrite(PIN_MEETING_ROOM, 0);
}
// 回调:休息区 RGB 灯
void onLoungeAreaChange() {
uint8_t r, g, b;
loungeArea.getValue().getRGB(r, g, b);
if (loungeArea.getSwitch()) {
analogWrite(PIN_LOUNGE_AREA_R, r);
analogWrite(PIN_LOUNGE_AREA_G, g);
analogWrite(PIN_LOUNGE_AREA_B, b);
} else {
analogWrite(PIN_LOUNGE_AREA_R, 0);
analogWrite(PIN_LOUNGE_AREA_G, 0);
analogWrite(PIN_LOUNGE_AREA_B, 0);
}
}
第三部分:Amazon Alexa Skill 设置
- 手机安装 Alexa App,登录/注册
- 搜索并启用 “Arduino” 官方 Skill
- 用 Arduino 账号授权关联
- 等待设备发现,按图示逐个 “Set Up Device”,可加入群组
第四部分:语音控制演示
完成后即可对 Alexa 说:
- “Alexa, what's the temperature in the office?”
- “Alexa, turn on the light in the meeting room.”
- “Alexa, set the lounge area to blue.”
所有交互经 Arduino IoT Cloud 双向同步,Dashboard 也可反向控制硬件。
原理图
见原文附件:MKR1010 + ENV Shield + 白光 LED (D5) + RGB LED (D2/D3/D4) 接线图。
制造工艺
- 借力云端释放IoT潜能:实现无缝连接与数据洞察
- 树莓派 + Python 让 Amazon Alexa 控制 Google Chromecast
- 用 Alexa 控制吊扇:分步指南
- 基于 Arduino 与 MAX30100 的实时物联网心率监测系统
- 基于 Arduino MKR1000 与 ThingSpeak 的远程 IoT 机械臂控制系统
- 通过树莓派用 Alexa 控制 LED - 简单分步指南
- Arduino Cloud 传感器塔:温度、动作与气体监测
- 通过 Arduino IoT Cloud 用 Alexa 控制电视:分步指南
- Alexa 语音控制 Arduino 智能家居中枢:基于 Yun + PubNub + AWS Lambda 全栈实现
- Azure IoT智能游泳池监控系统:温度感知与远程控制
- Infineon获Amazon Web Services认定为先进技术合作伙伴
- 雾计算与云计算:为速度与规模优化物联网部署