智能家居之氛围灯-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1933|回复: 0

智能家居之氛围灯

[复制链接]
发表于 2022-1-25 10:46 | 显示全部楼层 |阅读模式
本帖最后由 OpenJumper 于 2022-1-26 10:20 编辑

[md]## 简介

Wifiduino接入云服务器后,我们可以通过已经联网的智能音箱发送指令来控制接入在服务器上的wifiduino发出相应动作,我们可以通过智能音箱控制接在wifiduino上的RGB灯条模块显示任何想要的颜色。
01.jpg
RGB颜色对照表:<http://tool.oschina.net/commons?type=3>

## 器材准备

+ wifiduino主板 \* 1

+ wifiduino拓展板 \* 1

+ LED灯带模块 \* 2

+ M3 \* 8mm螺丝 \* 8

+ M3螺帽 \* 8

## 接入小度智能音响

1、手机下载“小度音箱”app。使用百度账号登陆app

2、手机app中点击“添加设备”,选择“小度智能音箱”,点击“继续”,
02.jpg
3、 长按小度音箱的三角键,开始进入配置网络
03.jpg
4、 提示将蓝牙打开,以帮助连接小度,随后会自动搜索附近的小度智能音箱,扫描成功后,选择对应的音箱型号,点击“继续”
04.jpg
5、设置小度音箱连接的wifi账号和密码,点击“开始配置”。小度音箱将会配置网络。完成后,点击“开始体验”。
05.jpg

## 安装步骤

一、从木板中拿出氛围灯的C木板
06.jpg
二、将木板上的各模块取下
07.jpg
三、将wifiduino固定在两根木条上,注意木条上的凹口相对
08.jpg
四、将LED灯带模块同样固定在两根木条上面
09.jpg
五、将四根分别木条插入两边侧板的凹槽后进行固定
确认扩展板对应插在wifiduino主板上,2个RGB灯条模块通过连接线级联后,连接在扩展板上的D13中
10.jpg
六、将氛围灯的底部以及侧部的木板进行安装固定
11.jpg
七、最后将氛围灯的镂空顶部盖好,并且粘贴白色半透明亚克力后,我们的氛围灯就完成
12.jpg

## 示例程序

下载例程:DuerOS_rgbLIGHT.ino 修改程序中的 auth[]值和要连接的wifi的ssid及密码
13.jpg
注意程序中的定义连接RGB灯条模块的IN接口为D13
```
#define PIN   D13
```
设置RGB灯的颗数为6颗
```
#define NUMPIXELS      6
```
灯条模块上只有3颗灯,这里我们可以利用灯条模块的级联来添加更多的灯,模块的OUT接口用连接线连接下个模块的IN接口。 下载程序到wifiduino板中。下载结束后,IDE提示栏中显示“上传成功”
14.jpg

上传完程序后,将电池插入扩展板对应接口,打开电源开关。让wifiduino自动联网。[/md]

  1. #define BLINKER_WIFI

  2. #include <Blinker.h>

  3. char auth[] = "Your Device Secret Key";
  4. char ssid[] = "Your WiFi network SSID or name";
  5. char pswd[] = "Your WiFi network WPA password or WEP key";

  6. // Download Adafruit_NeoPixel library here:
  7. // https://github.com/adafruit/Adafruit_NeoPixel
  8. #include <Adafruit_NeoPixel.h>
  9. #ifdef __AVR__
  10.   #include <avr/power.h>
  11. #endif

  12. #define PIN            D13
  13. #define NUMPIXELS      6
  14. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

  15. #define RGB_1 "RGBKey"

  16. BlinkerRGB WS2812(RGB_1);

  17. void ws2812_callback(uint8_t r_value, uint8_t g_value, uint8_t b_value, uint8_t bright_value)
  18. {
  19.     digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  20.     BLINKER_LOG("R value: ", r_value);
  21.     BLINKER_LOG("G value: ", g_value);
  22.     BLINKER_LOG("B value: ", b_value);
  23.     BLINKER_LOG("Rrightness value: ", bright_value);

  24.     pixels.setBrightness(bright_value);

  25.     for(int i = 0; i < NUMPIXELS; i++){
  26.         pixels.setPixelColor(i, r_value, g_value, b_value);
  27.     }
  28.     pixels.show();
  29. }

  30. void setup()
  31. {
  32.     Serial.begin(115200);
  33.     BLINKER_DEBUG.stream(Serial);

  34.     pinMode(LED_BUILTIN, OUTPUT);
  35.     digitalWrite(LED_BUILTIN, LOW);

  36.     Blinker.begin(auth, ssid, pswd);

  37.     pixels.begin();

  38.     WS2812.attach(ws2812_callback);
  39. }

  40. void loop()
  41. {
  42.     Blinker.run();
  43. }
复制代码

[md]
## 小度音箱app中添加智能设备

在手机界面中找到“智能家居”,选择“添加智能家居设备”。找到blinker点击授权。
15.jpg
点击“账号授权”,填写blinker的账号和密码,完成登录绑定。
这时候,在智能家居一栏中就会出现刚添加的智能设备(灯wifiduino)
16.jpg

注意:这里显示的智能设备会根据wifiduino中程序的定义自动判别添加的是插座、灯或者传感器

可以修改添加设备的属性,将其取名为XX位置的XX设备。(例如 设备名称:插座  设备分组:厨房  插座上的设备类型:电饭煲)

## 语音控制

对着小度音箱说“小度 小度 打开卧室的灯”就会执行接通灯的指令,

“小度 小度 关掉卧室的灯”就会执行关闭灯的指令。

“小度小度 把卧室灯调成蓝色”并观观察灯的颜色变化状态。
17.jpg

## 常见问题:

1、wifiduino被当做灯使用后,能否再被当成插座使用?

回答:可以,不过需要先将原来的灯设备进行解绑,然后下载插座的程序,重新将设备绑定。

解绑方法: 在小度app界面中找到“智能家居”,直接点击右上角的“+”添加智能设备,找到blinker,点击“解除授权”,将之前绑定的设备解除。[/md]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 15:16 , Processed in 0.078928 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表