接入小度音箱 奇怪的问题
本帖最后由 tangteng 于 2019-5-4 14:45 编辑设备为esp8266 nodeMCU
按照Blinker例程----ALIGENIE_OUTLET-----
只修改了
char auth[] = "XXXX";
char ssid[] = "XXXX";
char pswd[] = "XXX";
app添加了设备,正常在线。
天猫精灵添加设备,同步后,一些正常,可以对天猫精灵说 打开XX的插座。。关闭。。。等等。 对应LED会亮灭。
但是用---DuerOS_OUTLET-----
同样修改后, 小度同步设备后,不能开关,只能查询。。看图吧。
插座还有多少电。。。。:L
然后重新编译上传,重新添加设备,重新绑定小度。 还是这个样子。。
换个 ----DUEROS_MULTI_OUTLET---- 用这个示例代码
结果
还是让我查询。。
这应该不是程序的问题的吧,用的blinker官方示例, ALIGENIE_OUTLET示例在天猫精灵上都是没问题的。
求大神们讲解一下怎么解决。。
--------------------------------------------------------------------------------------------
感谢回复,对小度说,卧室的插座运行到什么状态了,卧室的插座还有多少电,回复说:控制失败了,请联络该平台的售后服务。
对小度说,打开卧室的插座,或者开启卧室的插座,关闭卧室的插座, 回复说:卧室的插座还不支持这个操作。。
以下为aligenie的示例代码debug输出和dueros示例代码的debug输出
小度依然不能控制。
#define BLINKER_WIFI
#define BLINKER_DUEROS_OUTLET
#include <Blinker.h>
char auth[] = "xxxxxxxxxxx";
char ssid[] = "xxxxxxxxxxx";
char pswd[] = "xxxxxxxxxxx";
bool oState = false;
void duerPowerState(const String & state)
{
BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) {
digitalWrite(LED_BUILTIN, HIGH);
BlinkerDuerOS.powerState("on");
BlinkerDuerOS.print();
oState = true;
}
else if (state == BLINKER_CMD_OFF) {
digitalWrite(LED_BUILTIN, LOW);
BlinkerDuerOS.powerState("off");
BlinkerDuerOS.print();
oState = false;
}
}
void duerQuery(int32_t queryCode)
{
BLINKER_LOG("DuerOS Query codes: ", queryCode);
switch (queryCode)
{
case BLINKER_CMD_QUERY_TIME_NUMBER :
BLINKER_LOG("DuerOS Query time");
BlinkerDuerOS.time(millis());
BlinkerDuerOS.print();
break;
default :
BlinkerDuerOS.time(millis());
BlinkerDuerOS.print();
break;
}
}
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.print(BlinkerTime);
Blinker.print("millis", BlinkerTime);
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
BlinkerDuerOS.attachPowerState(duerPowerState);
BlinkerDuerOS.attachQuery(duerQuery);
}
void loop()
{
Blinker.run();
}
小度app那个提示,只是个提示,并不是说只支持这些指令,实际应该是可以控制。
如果实际控制有问题,可以开启调试功能,看debug信息
https://www.arduino.cn/thread-84332-1-1.html 感谢回复,这是dueros调试信息,
同上问题,今天5月4日,试了多次,小度提示音:发生***错误,请联系服务商。 https://blinker.app/的网站打开慢,APP在小度中授权也相对较慢 D1 用blinker app控制另外还有个问题,按钮可以控制LED开关,但是我不用APP,灯也隔几秒开关一次!
Connecting to MQTT...
MQTT Connected!
Freeheap: 9976
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap
get button state: tap -------这之前板子LED灯几秒反复开关
MQTT Ping! ------灯灭了
MQTT Ping!
重新再APP点按钮,板子自己又开始反复开关灯
???估计是时间状态验证的问题 zhzrat 发表于 2019-5-4 17:39
D1 用blinker app控制另外还有个问题,按钮可以控制LED开关,但是我不用APP,灯也隔几秒开关一次!
...
1.网站是境外网站,慢是正常的
2.小度授权慢和网站速度无关,两者用的不是一个服务器,且我这边测试是正常的
3.请先更新最新的库和app,再测试,如果还是有问题,那可能是你的程序逻辑有问题
tangteng 发表于 2019-5-4 14:55
感谢回复,这是dueros调试信息,
1.你的截图里,没有小度相关信息
2.请更新最新版本的blinker lib再测试,如果还有问题,请按提问指南发帖提问
https://www.arduino.cn/thread-83658-1-1.html 小度插座控制问题已修复,建议重新绑定及更新库测试 app mqtt添加设备中,里面好几个云,只支持阿里云,然后复制key的,是这原因不支持小度?
页:
[1]
2