blinker bug报告-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: coloz

[官方公告] blinker bug报告

  [复制链接]
发表于 2019-12-17 14:41 | 显示全部楼层
xxxx7 发表于 2019-12-17 13:43
我又又又试了的
用天猫精灵 查询 灯 状态
确实串口有错误提示

我们的流程就是确保您使用例程测试后,我们再进行测试。
这样能避免用户错误编程浪费我们的时间,望理解。
发表于 2019-12-20 20:52 | 显示全部楼层
问题现象:打开blinker后直接白屏,弹出一个未知错误的提示,其他的都点不了,卸载后再登录还是一样的情况,重新注册一个账号后可行; QQ图片20191220204645.jpg
app版本:2.2.8
android版本:10
手机型号:oneplus7
开发板:nodemcu备注:
发表于 2019-12-24 01:07 | 显示全部楼层
问题现象:github 上 esp8266 小爱同学接入示例程序 MIOT_MULTI_OUTLET.ino, 对小爱同学发指令打开或关闭插座, 等几秒后先反馈“尝试了一下,看看设备状态吧”, 再等几秒后反馈“关了”。 串口日志显示ERROR: Print data is not Json!
[mw_shl_code=arduino,true][9819] Connecting to MQTT...
[11030] MQTT Connected!
[11030] Freeheap: 11448
[32970] AliGenie Query outlet: 0, codes: 0
[32970] AliGenie Query All
[32971] ERROR: Print data is not Json! {"data":{"pState":false"},"fromDevice":"F8E319E67G4T243P8PD****","toDevice":"MIOT_r","deviceType":"vAssistant"}
[33999] need set outlet: 0, power state: on[/mw_shl_code]

android版本:N/A
手机型号:N/A
开发板:Node MCU 1.0(ESP-12E)
其他说明:
1. esp8266 sdk 以及arduino IDE 均为最新版本。
2. 串口日志中的“AliGenie” 可能是天猫精灵示例程序copy过来的, 有空更正一下示例程序。

谢谢

点评

感谢告知,我们尽快修复  详情 回复 发表于 2019-12-24 02:17
发表于 2019-12-24 02:17 | 显示全部楼层
shark526 发表于 2019-12-24 01:07
问题现象:github 上 esp8266 小爱同学接入示例程序 MIOT_MULTI_OUTLET.ino, 对小爱同学发指令打开或关闭 ...

感谢告知,我们尽快修复
发表于 2019-12-24 13:44 | 显示全部楼层
本帖最后由 三水 于 2019-12-24 13:45 编辑
shark526 发表于 2019-12-24 01:07
问题现象:github 上 esp8266 小爱同学接入示例程序 MIOT_MULTI_OUTLET.ino, 对小爱同学发指令打开或关闭 ...

经测试除log信息未改为 MOIT外并未发现任何错误,小爱可以正常控制多孔插座例程中的插孔。从你的log看 你发出的数据不是json数据 建议更新最新的库测试
发表于 2019-12-25 09:28 来自手机 | 显示全部楼层
三水 发表于 2019-12-24 13:44
经测试除log信息未改为 MOIT外并未发现任何错误,小爱可以正常控制多孔插座例程中的插孔。从你的log看 你 ...

示例程序我并没有任何更改,所以不存在我发出什么非JSON数据。请问最新的代码是在master分支吗?我用的代码是23号下载的,是不是最新的?
发表于 2019-12-25 12:06 | 显示全部楼层
shark526 发表于 2019-12-25 09:28
示例程序我并没有任何更改,所以不存在我发出什么非JSON数据。请问最新的代码是在master分支吗?我用的代 ...

完全删除现在的库重新下载测试
发表于 2019-12-25 12:22 | 显示全部楼层
三水 发表于 2019-12-25 12:06
完全删除现在的库重新下载测试

我看了源码,找到问题所在了,看红色部分, false双引号没闭合。
[32971] ERROR: Print data is not Json! {"data":{"pState":false"},"fromDevice":"F8E319E67G4T243P8PD****","toDevice":"MIOT_r","deviceType":"vAssistant"}
BlinkerMIOT.h 中方法powerState组装数据的时候引号逻辑有点问题, 本来是想如果是数字就不加引号, 结果导致当数据是字符串时只加了后面的引号,没有闭合,所以 isJson判断的时候抛错。
[mw_shl_code=arduino,true]        void powerState(const String & state, uint8_t num)
        {
            String payload = BLINKER_F("\"");
            payload += STRING_format(BLINKER_CMD_POWERSTATE);
            payload += BLINKER_F("\":");

            if (state == "on")
            {
                payload += "true";
            }
            else
            {
                payload += "false";
            }
            
            if (num != 0)
            {
                payload += BLINKER_F(",\"num\":");
                payload += STRING_format(num);
            }
            else
            {
                payload += BLINKER_F("\"");
            }            
[/mw_shl_code]
发表于 2019-12-25 12:29 | 显示全部楼层
本帖最后由 shark526 于 2019-12-25 15:05 编辑

问题现象:github 上 esp8266 小爱同学接入示例程序 MIOT_MULTI_OUTLET.ino, 对小爱同学发指令打开或关闭插座, 每次请求串口日志都有错误显示:ERROR: MQTT NOT ALIVE OR MSG LIMIT
[2677] WiFi Connected.
[2677] IP Address:
[2677] 192.168.1.164
[4166] Freeheap: 8984
[4169] mDNS responder started
[4170] webSocket_MQTT server started
[4170] ws://F8E319E6
[6535] Connecting to MQTT...
[7729] MQTT Connected!
[7729] Freeheap: 9912
[22172] will set outlet: 0, power state: on
[22172] get btn_power delayed...: on
[22173] MIOT outlet: 0, state: on
[22283] ERROR: MQTT NOT ALIVE OR MSG LIMIT

android版本:N/A
手机型号:N/A
开发板:Node MCU 1.0(ESP-12E)
其他说明:
我也在看源码, 可能你们定位问题速度比我快。
谢谢
=============
更新:文件src/Adapters/BlinkerMQTT.h中方法int BlinkerMQTT::checkCanPrint(),标识isAlive为0, 导致抛错 ERROR: MQTT NOT ALIVE OR MSG LIMIT



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 03:47 , Processed in 0.147147 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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