基于Blinker的小爱同学语音控制ESP8266

前些天在使用esp8266时遇到很多小爱不能控制设备问题,现在来叙述我控制过程中所遇到的问题,以及到完整的小爱能成功控制Esp8266的过程。
1.需要先安装8266_package_2.7.4.exe,不然不能够正确使用,相关的下载链接在官方有提供,我在这里也是去官方寻找的链接,大家自行寻找下载。
Blinker 链接地址

2.官方例程

python控制小爱同学 小爱同学 设定脚本_#define

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT //支持小爱开关LED
#include <Blinker.h>

#define LED   2  // 板子上的灯 
char auth[] = "你的密钥"; // blinker app提供的秘钥
char ssid[] = "wifi名";// wifi 名字
char pswd[] = "密码";// wifi 密码

bool wsState;
uint8_t wsMode = BLINKER_CMD_MIOT_DAY;
// 新建组件对象
BlinkerButton Button1("btn-abc");//注意:要和APP组件’数据键名’一致
 
// 按下BlinkerAPP按键即会执行该函数
void button1_callback(const String & state) {
 BLINKER_LOG("get button state: ", state);
 digitalWrite(LED, !digitalRead(LED)); 
 Blinker.vibrate();
}
 
//小爱电源类操作的回调函数:
//当小爱同学向设备发起控制, 设备端需要有对应控制处理函数 
void miotPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);

    if (state == BLINKER_CMD_ON) {
        digitalWrite(LED_BUILTIN, LOW);

        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();
    }
    else if (state == BLINKER_CMD_OFF) {
        digitalWrite(LED_BUILTIN, HIGH);

        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();
    }
}



void setup() {
 // 初始化串口,并开启调试信息,调试用可以删除
 Serial.begin(115200); 
 BLINKER_DEBUG.stream(Serial);
 // 初始化IO
 pinMode(LED, OUTPUT); 
 digitalWrite(LED, HIGH); // 初始化 led 高电平 ,则灯熄灭状态
 
 // 初始化blinker
 Blinker.begin(auth, ssid, pswd);
 Button1.attach(button1_callback);
 
 //小爱同学务必在回调函数中反馈该控制状态 
 BlinkerMIOT.attachPowerState(miotPowerState);//注册回调函数
}
void loop() {
 Blinker.run();
}

3.在调试时,打开串口调试界面查看当前数据传输状况。

python控制小爱同学 小爱同学 设定脚本_初始化_02


4.接下来是重点,小米小爱语音控制的设置步骤

1)打开blinker App,点击右上角+号。

python控制小爱同学 小爱同学 设定脚本_初始化_03


2)选择独立设备。

python控制小爱同学 小爱同学 设定脚本_#define_04


3)选择wifi接入。

python控制小爱同学 小爱同学 设定脚本_语音识别_05


4)这里是重点,一定要选择阿里云,不然不能进行语音控制。

python控制小爱同学 小爱同学 设定脚本_#define_06


python控制小爱同学 小爱同学 设定脚本_#define_07


5)点击设备

python控制小爱同学 小爱同学 设定脚本_#define_08


点击右上角三个点

python控制小爱同学 小爱同学 设定脚本_#define_09

6)然后填写对应的密钥在代码里面下载成功即可。

python控制小爱同学 小爱同学 设定脚本_#define_10

7)接下来是米家的账号绑定。

打开米家。

python控制小爱同学 小爱同学 设定脚本_初始化_11


8)点击我的

python控制小爱同学 小爱同学 设定脚本_arduino_12


9)选择其他平台设备

python控制小爱同学 小爱同学 设定脚本_arduino_13


10)点击添加

python控制小爱同学 小爱同学 设定脚本_初始化_14


11)账号绑定

python控制小爱同学 小爱同学 设定脚本_arduino_15


12)回到绑定位置,点击点灯科技。

python控制小爱同学 小爱同学 设定脚本_初始化_16


13)点击同步设备,可以获得当前esp的控制设备。

python控制小爱同学 小爱同学 设定脚本_#define_17


这里拿刚才设置的名来做对比,要与上述设备名相同。

python控制小爱同学 小爱同学 设定脚本_初始化_18


到现在米家的Blinker绑定账号设备结束,接下来要训练小爱,不然控制无法完成。

14)打开小爱同学。

python控制小爱同学 小爱同学 设定脚本_初始化_19


15)点击训练计划。

python控制小爱同学 小爱同学 设定脚本_python控制小爱同学_20


16)点击我的训练。

python控制小爱同学 小爱同学 设定脚本_python控制小爱同学_21


17)新建训练。

python控制小爱同学 小爱同学 设定脚本_python控制小爱同学_22


18)重点:小爱语音控制,训练操作

python控制小爱同学 小爱同学 设定脚本_语音识别_23


19)点击设备控制,跳转到设备页面选择。

python控制小爱同学 小爱同学 设定脚本_初始化_24


20)点击设备,进行对应小爱的操作。

python控制小爱同学 小爱同学 设定脚本_语音识别_25


21)最后步骤。

python控制小爱同学 小爱同学 设定脚本_arduino_26


基于小爱同学和Blinker平台的ESP8266物联网控制灯


指令要一一对应关系,不然就会出现意想不到的情况。

到此,小爱的语音控制功能就能正常实现,有遇到问题,欢迎大家留言讨论。