xxxx7
发表于 2019-12-17 13:43
本帖最后由 xxxx7 于 2019-12-17 13:53 编辑
xxxx7 发表于 2019-12-17 13:37
这个就是用的 灯的例程。开始按照文档来的,就是有错误提示,我又用例程试的
我又又又试了的
用天猫精灵 查询 灯 状态
确实串口有错误提示
请自试,质疑解决不了问题
奈何col
发表于 2019-12-17 14:41
xxxx7 发表于 2019-12-17 13:43
我又又又试了的
用天猫精灵 查询 灯 状态
确实串口有错误提示
我们的流程就是确保您使用例程测试后,我们再进行测试。
这样能避免用户错误编程浪费我们的时间,望理解。
嘉子哥
发表于 2019-12-20 20:52
问题现象:打开blinker后直接白屏,弹出一个未知错误的提示,其他的都点不了,卸载后再登录还是一样的情况,重新注册一个账号后可行;
app版本:2.2.8
android版本:10
手机型号:oneplus7
开发板:nodemcu备注:
shark526
发表于 2019-12-24 01:07
问题现象:github 上 esp8266 小爱同学接入示例程序 MIOT_MULTI_OUTLET.ino, 对小爱同学发指令打开或关闭插座, 等几秒后先反馈“尝试了一下,看看设备状态吧”, 再等几秒后反馈“关了”。 串口日志显示ERROR: Print data is not Json!
Connecting to MQTT...
MQTT Connected!
Freeheap: 11448
AliGenie Query outlet: 0, codes: 0
AliGenie Query All
ERROR: Print data is not Json! {"data":{"pState":false"},"fromDevice":"F8E319E67G4T243P8PD****","toDevice":"MIOT_r","deviceType":"vAssistant"}
need set outlet: 0, power state: on
android版本:N/A
手机型号:N/A
开发板:Node MCU 1.0(ESP-12E)
其他说明:
1. esp8266 sdk 以及arduino IDE 均为最新版本。
2. 串口日志中的“AliGenie” 可能是天猫精灵示例程序copy过来的, 有空更正一下示例程序。
谢谢
奈何col
发表于 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数据 建议更新最新的库测试
shark526
发表于 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分支吗?我用的代 ...
完全删除现在的库重新下载测试
shark526
发表于 2019-12-25 12:22
三水 发表于 2019-12-25 12:06
完全删除现在的库重新下载测试
我看了源码,找到问题所在了,看红色部分, false双引号没闭合。
ERROR: Print data is not Json! {"data":{"pState":false"},"fromDevice":"F8E319E67G4T243P8PD****","toDevice":"MIOT_r","deviceType":"vAssistant"}
BlinkerMIOT.h 中方法powerState组装数据的时候引号逻辑有点问题, 本来是想如果是数字就不加引号, 结果导致当数据是字符串时只加了后面的引号,没有闭合,所以 isJson判断的时候抛错。
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("\"");
}
shark526
发表于 2019-12-25 12:29
本帖最后由 shark526 于 2019-12-25 15:05 编辑
问题现象:github 上 esp8266 小爱同学接入示例程序 MIOT_MULTI_OUTLET.ino, 对小爱同学发指令打开或关闭插座, 每次请求串口日志都有错误显示:ERROR: MQTT NOT ALIVE OR MSG LIMIT
WiFi Connected.
IP Address:
192.168.1.164
Freeheap: 8984
mDNS responder started
webSocket_MQTT server started
ws://F8E319E6
Connecting to MQTT...
MQTT Connected!
Freeheap: 9912
will set outlet: 0, power state: on
get btn_power delayed...: on
MIOT outlet: 0, state: on
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