想做一个小爱同学+ESP8266+blinker点灯,但是失败了。
点灯科技中是可以正常操作的,开关都可以,用语言也可以正常控制灯开关,小爱音响也可以正常添加,但是语音控制时提示“要操作的设备好像出问题了,等一会再试”这个怎么处理?请大佬指点一下,谢谢!
下面是在网上搜的的代码:
#define BLINKER_PRINT Serial //用于打开串口
#define BLINKER_WIFI //用于指定设备接入方式 wifi 接入
#define BLINKER_MIOT_LIGHT //定义为语音控制灯设备
#include <Blinker.h>
char auth[] = "631e7e5e5401"; //设备key,打开点灯app,添加设备,选择arduino设备,选择wifi接入,这里就会获得一个密钥,把密钥填写在这里。
char ssid[] = "CU_KdsZ"; //路由器wifi ssid
char pswd[] = "6gqzybs9"; //路由器wifi 密码
int GPIO=0;//定义GPIO口用于控制继电器
#define BUTTON_1 "btn_led"
BlinkerButton Button1("btn_led");//这里需要根据自己在BLINKER里面设置的名字进行更改
void button1_callback(const String & state){
BLINKER_LOG("get button state: ", state);
digitalWrite(GPIO,!digitalRead(GPIO));
Blinker.vibrate();
}
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ",state);
if (state == BLINKER_CMD_OFF) {
//如果语音接收到是关闭灯就设置GPIO口为高电平
digitalWrite(GPIO, LOW);
BlinkerMIOT.powerState("off");
BlinkerMIOT.print();
}
else if (state == BLINKER_CMD_ON) {
digitalWrite(GPIO, HIGH);
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
}
}
void setup() {
Serial.begin(115200);
pinMode(GPIO,OUTPUT);
digitalWrite(GPIO,HIGH);//初始化,由于继电器是低电平触发。所以刚开始设为高电平
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
BlinkerMIOT.attachPowerState(miotPowerState);//这段代码一定要加,不加小爱同学控制不了,务必在回调函数中反馈该控制状态
}
void loop()
{
Blinker.run();
}