小爱同学无法控制ESP8266设备
本帖最后由 SoldierGhost 于 2022-6-14 18:46 编辑在Blinker APP上可以连接并控制,在米家中也可以成功同步设备,但用小爱同学无法控制,会提示无法连接到设备。
在网上得到的回复是使用低版本的Blinker app,调用阿里云密钥,但查阅相关帖子后,发现现在只能调用点灯密钥,不知道咋整了:'(
如果是我代码的问题,请指出:
#define BLINKER_MIOT_LIGHT
#define BLINKER_WIFI
#include <Servo.h>
#include <Blinker.h>
char auth[] = "?";//点灯秘钥
char ssid[] = "?";//无线网名称
char pswd[] = "?";//无线网密码
Servo myservo;
#define BUTTON_1 "btn-abc"
int ini_angle = 15;
int on_angle = 0;
int off_angle = on_angle + ini_angle * 2;
bool oState = false;
BlinkerButton Button1(BUTTON_1);
void button1_callback(const String & state)
{
Blinker.print("state=",state);
Blinker.vibrate();
if (state=="on") {
myservo.writeMicroseconds(1000);
myservo.write(on_angle);
delay(1000);
myservo.write(ini_angle);
// 反馈开关状态
Button1.print("on");
} else if(state=="off"){
myservo.writeMicroseconds(2000);
myservo.write(off_angle);
delay(1000);
myservo.write(ini_angle);
// 反馈开关状态
Button1.print("off");
}
}
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ",state);
if (state == BLINKER_CMD_OFF) {
myservo.write(on_angle);
delay(1000);
myservo.write(ini_angle);
BlinkerMIOT.powerState("off");
BlinkerMIOT.print();
Button1.print("on");
oState = false;
}
else if (state == BLINKER_CMD_ON) {
myservo.write(off_angle);
delay(1000);
myservo.write(ini_angle);
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
Button1.print("off");
oState = true;
}
}
void setup() {
Serial.begin(115200);
myservo.attach(14);
myservo.write(ini_angle);
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
BlinkerMIOT.attachPowerState(miotPowerState);//这段代码一定要加,不加小爱同学控制不了,务必在回调函数中反馈该控制状态
}
void loop()
{
Blinker.run();
}
用3.0.0 或以上release版本的 ESP8266 Arduino package即可 我的是小度音响,更新lesp82663.02还是不行,请问你用的是哪个版本。 esp01s feng123 发表于 2022-6-23 15:28
我的是小度音响,更新lesp82663.02还是不行,请问你用的是哪个版本。
我就是3.02的,但我是小爱音箱,小度的话,你去blinker官网看看有什么注意事项没吧 SoldierGhost 发表于 2022-6-27 11:56
我就是3.02的,但我是小爱音箱,小度的话,你去blinker官网看看有什么注意事项没吧 ...
哦,我想小爱能行理论上小度也能行,或者是小度的问题。只能再试试看。谢谢回复。
页:
[1]