接入小度音箱 奇怪的问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8941|回复: 10

[已解答] 接入小度音箱 奇怪的问题

[复制链接]
发表于 2019-5-4 12:12 | 显示全部楼层 |阅读模式
本帖最后由 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-----
同样修改后, 小度同步设备后,不能开关,只能查询。。看图吧。

图1

图1

插座还有多少电。。。。

然后重新编译上传,重新添加设备,重新绑定小度。 还是这个样子。。

换个 ----DUEROS_MULTI_OUTLET---- 用这个示例代码
结果

图2

图2


图3

图3

还是让我查询。。



这应该不是程序的问题的吧,用的blinker官方示例, ALIGENIE_OUTLET示例在天猫精灵上都是没问题的。
求大神们讲解一下怎么解决。。




--------------------------------------------------------------------------------------------
感谢回复,对小度说,卧室的插座运行到什么状态了,卧室的插座还有多少电,回复说:控制失败了,请联络该平台的售后服务。
对小度说,打开卧室的插座,或者开启卧室的插座,关闭卧室的插座, 回复说:卧室的插座还不支持这个操作。。
以下为aligenie的示例代码debug输出和dueros示例代码的debug输出

小度1

小度1

小度2

小度2

天猫精灵1

天猫精灵1

天猫精灵2

天猫精灵2


小度依然不能控制。

#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();
}
发表于 2019-5-4 12:51 | 显示全部楼层
小度app那个提示,只是个提示,并不是说只支持这些指令,实际应该是可以控制。
如果实际控制有问题,可以开启调试功能,看debug信息
https://www.arduino.cn/thread-84332-1-1.html
 楼主| 发表于 2019-5-4 14:55 | 显示全部楼层
感谢回复,这是dueros调试信息,
dueros.jpg 小度小度dueros.jpg

点评

1.你的截图里,没有小度相关信息 2.请更新最新版本的blinker lib再测试,如果还有问题,请按提问指南发帖提问 https://www.arduino.cn/thread-83658-1-1.html  详情 回复 发表于 2019-5-4 17:47
发表于 2019-5-4 17:10 | 显示全部楼层
同上问题,今天5月4日,试了多次,小度提示音:发生***错误,请联系服务商。
发表于 2019-5-4 17:14 | 显示全部楼层
https://blinker.app/的网站打开慢,APP在小度中授权也相对较慢
发表于 2019-5-4 17:39 | 显示全部楼层
D1 用blinker app控制另外还有个问题,按钮可以控制LED开关,但是我不用APP,灯也隔几秒开关一次!
[9461] Connecting to MQTT...
[10898] MQTT Connected!
[10898] Freeheap: 9976
[32752] get button state: tap
[48069] get button state: tap
[58117] get button state: tap
[68192] get button state: tap
[78157] get button state: tap
[88264] get button state: tap
[98306] get button state: tap
[108340] get button state: tap
[118427] get button state: tap
[128588] get button state: tap
[138508] get button state: tap
[148560] get button state: tap
[158593] get button state: tap
[168537] get button state: tap
[179293] get button state: tap
[181434] get button state: tap
[182973] get button state: tap
[188551] get button state: tap
[190170] get button state: tap
[198756] get button state: tap
[206929] get button state: tap
[218819] get button state: tap
[228857] get button state: tap
[238885] get button state: tap
[248813] get button state: tap
[258957] get button state: tap
[268932] get button state: tap
[278823] get button state: tap
[288856] get button state: tap
[298891] get button state: tap
[318850] get button state: tap
[328939] get button state: tap
[338748] get button state: tap
[348744] get button state: tap
[368626] get button state: tap
[378612] get button state: tap
[388631] get button state: tap
[398456] get button state: tap
[408451] get button state: tap
[428327] get button state: tap
[438352] get button state: tap
[448145] get button state: tap
[448664] get button state: tap
[458287] get button state: tap
[468346] get button state: tap
[478316] get button state: tap
[488078] get button state: tap
[498060] get button state: tap   -------这之前板子LED灯几秒反复开关
[528048] MQTT Ping!      ------灯灭了
[558651] MQTT Ping!
重新再APP点按钮,板子自己又开始反复开关灯
???估计是时间状态验证的问题

点评

1.网站是境外网站,慢是正常的 2.小度授权慢和网站速度无关,且我这边测试是正常的 3.请先更新最新的库和app,再测试,如果还是有问题,那可能是你的程序逻辑有问题  详情 回复 发表于 2019-5-4 17:45
发表于 2019-5-4 17:45 | 显示全部楼层
zhzrat 发表于 2019-5-4 17:39
D1 用blinker app控制另外还有个问题,按钮可以控制LED开关,但是我不用APP,灯也隔几秒开关一次!
[9461]  ...

1.网站是境外网站,慢是正常的
2.小度授权慢和网站速度无关,两者用的不是一个服务器,且我这边测试是正常的
3.请先更新最新的库和app,再测试,如果还是有问题,那可能是你的程序逻辑有问题
发表于 2019-5-4 17:47 | 显示全部楼层
tangteng 发表于 2019-5-4 14:55
感谢回复,这是dueros调试信息,

1.你的截图里,没有小度相关信息
2.请更新最新版本的blinker lib再测试,如果还有问题,请按提问指南发帖提问

https://www.arduino.cn/thread-83658-1-1.html
发表于 2019-5-7 12:51 | 显示全部楼层
小度插座控制问题已修复,建议重新绑定及更新库测试
发表于 2019-5-7 22:18 来自手机 | 显示全部楼层
app mqtt添加设备中,里面好几个云,只支持阿里云,然后复制key的,是这原因不支持小度?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 19:29 , Processed in 0.168317 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表