查看: 1303|回复: 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();
}
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 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
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-5-4 17:45 | 显示全部楼层
    zhzrat 发表于 2019-5-4 17:39
    D1 用blinker app控制另外还有个问题,按钮可以控制LED开关,但是我不用APP,灯也隔几秒开关一次!
    [9461]  ...

    1.网站是境外网站,慢是正常的
    2.小度授权慢和网站速度无关,两者用的不是一个服务器,且我这边测试是正常的
    3.请先更新最新的库和app,再测试,如果还是有问题,那可能是你的程序逻辑有问题
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 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
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情

    1544106114
  • 签到天数: 48 天

    发表于 2019-5-7 12:51 | 显示全部楼层
    小度插座控制问题已修复,建议重新绑定及更新库测试

    该用户从未签到

    发表于 2019-5-7 22:18 来自手机 | 显示全部楼层
    app mqtt添加设备中,里面好几个云,只支持阿里云,然后复制key的,是这原因不支持小度?
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    Arduino lcd屏幕亮了但是不显示字符
    Arduino lcd屏幕亮了但是
    Arduino的lcd屏亮了但是上面没有字符显示,串进去的滑动变阻器也旋过了,但是还是没有
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    [限时福利]5分钟带你快速了解新一代开发板:M5STACK
    [限时福利]5分钟带你快速
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    【Arduino】108种传感器模块系列实验(98)---L298N电机驱动板
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    两个ESP8266通过云端实现远程数据交互
    两个ESP8266通过云端实现
    原理简述:利用发布订阅模式。一个ESP8266作为消息发布者,另一个ESP8266作为消息订阅
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表