[md]
# 语音控制开关灯
本示例将展示如何制作一个可用语音控制的LED灯
>1. [准备工作](#准备工作 "准备工作")
1. [硬件准备](#硬件准备 "硬件准备")
1. [软件准备](#软件准备 "软件准备")
1. [添加设备](#添加设备 "添加设备")
1. [编辑界面](#编辑界面 "编辑界面")
1. [编译上传示例程序](#编译上传示例程序 "编译上传示例程序")
1. [大功告成](#大功告成 "大功告成")
## 准备工作
### 硬件准备
[WiFiduino](https://s.click.taobao.com/0vofiRw) 或其他esp8266开发板
**如开发板没有板载LED,请将1个LED灯接到开发板上,并修改程序中对应的引脚**
### 软件准备
**下载并安装Arduino IDE**
[点击去下载](https://www.arduino.cn/thread-5838-1-1.html)
**下载并安装esp8266扩展**
[点击去下载](https://www.arduino.cn/thread-76029-1-1.html)
**下载并加载Blinker-library**
[点击去下载](https://github.com/blinker-iot/blinker-library)
**下载并安装blinker APP**
android下载:[点击下载](https://github.com/blinker-iot/app-release/releases)
IOS下载:app store中搜索“blinker”下载
## 添加设备
1. 确保开发板连接的网络能连接外网
2. 在blinker app中,点击右上角的“+”进入添加设备页面
3. 点击选择==Arduino== > ==MQTT接入== > ==阿里云==
4. 获取到==SecretKey==,并填写到程序中
## 编辑界面
1. 点击进入设备界面,点击右上角编辑键,切换到界面编辑模式
2. 添加一个开关组件,点击开关组件,设置语音指令,如图:
==可以设置多条语音指令,使用这些指令都可以执行对应的动作==
![](assets/004/05-1527436400000.png)
3. 设置好后点击右下的确定键,再点击右上角的锁定图标,即可保存界面及语音指令
## 编译上传示例程序
将示例程序上传到Arduino中
```arduino
#define BLINKER_PRINT Serial
#define BLINKER_MQTT
#define TOGGLE_1 "ToggleKey"
#include <Blinker.h>
char auth[] = "<Your MQTT Secret Key>";
char ssid[] = "<Your WiFi network SSID or name>";
char pswd[] = "<Your WiFi network WPA password or WEP key>";
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
Blinker.begin(auth, ssid, pswd);
Blinker.wInit(TOGGLE_1, W_TOGGLE);
}
void loop()
{
Blinker.run();
if (Blinker.available()) {
BLINKER_LOG2("Blinker.readString(): ", Blinker.readString());
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.print(BlinkerTime);
Blinker.print("millis", BlinkerTime);
}
if (Blinker.toggle(TOGGLE_1)) {
digitalWrite(LED_BUILTIN, LOW);
}
else {
digitalWrite(LED_BUILTIN, HIGH);
}
}
```
其中宏TOGGLE_1对应的字符串需要修改为你添加的开关组件的键名,如:
```arduino
#define TOGGLE_1 "tog-0kn"
```
autu填写你添加设备时获取到的SecretKey
ssid和pswd需写入你当前WiFi的ssid和密码,如:
```arduino
char auth[] = "45563323dacb";
char ssid[] = "blinkerap";
char pswd[] = "blinkerpassword";
```
## 大功告成
现在在app中点击语音按键,说出你设定的语音指令,即可控制开关灯了
你可以根据需求修改接入方式和控制逻辑
更多语音控制介绍,可见[语音控制](?file=002-App使用/04-语音控制 "语音控制")文档
[/md]
|