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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: coloz

[官方公告] blinker bug报告

  [复制链接]
发表于 2020-10-10 08:16 | 显示全部楼层
问题现象:官网示例,树莓派连网不成功,ESP32正常
app版本:2.4.7
android版本:10.0
手机型号:一加6T
库版本:python 2.0  
开发板:树莓派3B+

官网示例代码:
https://diandeng.tech/doc/getting-start-python

from Blinker import *

auth = '*********'

BLINKER_DEBUG.debugAll()

Blinker.mode(BLINKER_WIFI)
Blinker.begin(auth)


button1 = BlinkerButton("btn-abc")
number1 = BlinkerNumber("num-abc")

counter = 0

def button1_callback(state):
    """ """

    BLINKER_LOG('get button state: ', state)

    button1.icon('icon_1')
    button1.color('#FFFFFF')
    button1.text('aabc')
    button1.print(state)

def data_callback(data):
    global counter

    BLINKER_LOG("Blinker readString: ", data)
    counter += 1
    number1.print(counter)

button1.attach(button1_callback)
Blinker.attachData(data_callback)

if __name__ == '__main__':

    while True:
        Blinker.run()
        result = Blinker.connect()
        print(result)
发表于 2020-10-13 18:40 | 显示全部楼层
问题现象:ESP32 APP上短按按钮,一直发送ON状态
app版本:2.4.9
ios版本:14.0
手机型号:iphone6s
库版本:blinker-esp-idf-master Commits on Apr 9, 2020开发板:esp32_Core_board_V2其他说明:(以上搭建环境,连接成功后,app按钮设置为开关模式,设备接到命令后返回状态;但是app一直是处于on状态,疑似无法接收设备反馈信号)
ypedef struct
{
    const char *state;
    const char *icon;
    const char *color;
    const char *content;
    const char *text1;
    const char *text2;
    const char *textColor;
} blinker_button_config_t;

【其余状态均可以接收,就是state无法有反馈】

根据群管理员 三水 协助,将函数 BLINKER_CMD_STATE更改为BLINKER_CMD_SWITCH,问题解决

void blinker_button_print(const BlinkerButton *button, const blinker_button_config_t * config)
{
    cJSON *pValue = cJSON_CreateObject();
    // cJSON_AddStringToObject(pValue,"mac","xuhongv");
    //if (config->state) cJSON_AddStringToObject(pValue, BLINKER_CMD_STATE, config->state);  //2020-10-13 屏蔽
    if (config->state) cJSON_AddStringToObject(pValue, BLINKER_CMD_SWITCH, config->state);  // 2020-10-13 增加
    if (config->icon) cJSON_AddStringToObject(pValue, BLINKER_CMD_ICON, config->icon);
    if (config->color) cJSON_AddStringToObject(pValue, BLINKER_CMD_COLOR, config->color);
    if (config->color) cJSON_AddStringToObject(pValue, BLINKER_CMD_COLOR_, config->color);
    if (config->content) cJSON_AddStringToObject(pValue, BLINKER_CMD_CONTENT, config->content);
    if (config->text1) cJSON_AddStringToObject(pValue, BLINKER_CMD_TEXT, config->text1);
    if (config->text2) cJSON_AddStringToObject(pValue, BLINKER_CMD_TEXT1, config->text2);
    if (config->textColor) cJSON_AddStringToObject(pValue, BLINKER_CMD_TEXTCOLOR, config->textColor);





发表于 2020-12-6 20:37 | 显示全部楼层
问题现象:开发文档中天猫精灵支持控制模式中的假日、音乐、普通模式均不支持,天猫精灵回答为:“对不起,暂不支持这样的设置”
android版本:10
手机型号:realme x2 pro
开发板:nodemcu
其他说明:使用的是天猫精灵方糖R
 楼主| 发表于 2020-12-6 22:39 | 显示全部楼层
shouji6406 发表于 2020-12-6 20:37
问题现象:开发文档中天猫精灵支持控制模式中的假日、音乐、普通模式均不支持,天猫精灵回答为:“对不起, ...

设备是BLINKER_ALIGENIE_LIGHT 么?
发表于 2020-12-7 08:40 | 显示全部楼层
coloz 发表于 2020-12-6 22:39
设备是BLINKER_ALIGENIE_LIGHT 么?

是的,是BLINKER_ALIGENIE_LIGHT
发表于 2020-12-9 12:54 | 显示全部楼层
看了blinkerticker.h源码。发现计时程序 BlinkerTicker.run()函数没有考虑系统函数millis()出现溢出的情况。一旦计时过程中出现了millis()溢出后,run()函数会使millis() - os_time<0以及tick_time - aim_time<0两个条件语句都不满足,run()函数一直执行在未来很长时间不会满足触发回调函数的条件。
发表于 2020-12-9 16:23 | 显示全部楼层
在按键的回调函数里用了换图标的函数。不知道什么原因出现显示的图标与程序正好相反,代码如下:
void btnOn_callback(const String & state){
  

  if (!SwitchStatus){  //状态是关,那么本次按了就是要开
    digitalWrite(CTIO,HIGH);   
    btnOn.text("已打开");
    btnOn.print("On");
    btnOn.color("#FF8C00"); //橙色
    btnOn.icon("far fa-lightbulb-on");
   
    Blinker.vibrate();
  }
  if (SwitchStatus){    //状态是开,那么本次按了就是要关
    digitalWrite(CTIO,LOW);      
    btnOn.text("已关闭");
    btnOn.print("Off");
    btnOn.color("#808080"); //灰色
    btnOn.icon("fal fa-lightbulb-slash");
   
    Blinker.vibrate();
  }
  SwitchStatus=!SwitchStatus; //设置 状态

}图如下:
   
btnOn.text("已关闭");
    btnOn.print("Off");
    btnOn.color("#808080"); //灰色
    btnOn.icon("fal fa-lightbulb-slash");  按程序这图应该显示的text内容是"已关闭",而不是已打开
    btnOn.text("已打开");
    btnOn.print("On");
    btnOn.color("#FF8C00"); //橙色
    btnOn.icon("far fa-lightbulb-on");
按程序这个图标应该与“已打开”相对应,这里发生两个图标被对调了。
图标网站上的对应不会错的,看下面:由于字数限制,这里只能上链接了
https://fontawesome.com/icons/lightbulb-slash?style=light
https://fontawesome.com/icons/lightbulb-on?style=regular



 楼主| 发表于 2020-12-14 11:02 | 显示全部楼层
maobob 发表于 2020-12-9 16:23
在按键的回调函数里用了换图标的函数。不知道什么原因出现显示的图标与程序正好相反,代码如下:
void btnO ...

print要放在后面,调用print才会发送数据。教程有讲:https://www.arduino.cn/thread-83176-1-1.html
发表于 2020-12-14 19:58 | 显示全部楼层
coloz 发表于 2020-12-14 11:02
print要放在后面,调用print才会发送数据。教程有讲:https://www.arduino.cn/thread-83176-1-1.html ...

好的,一下子内容太多,没看仔细,谢谢
发表于 2020-12-28 22:11 | 显示全部楼层
手机型号 红米7
问题:把auth后面的密钥改成手机上的密钥后,串口监视器什么都不显示,但是用hellow wifi上面的范例密钥或者auth什么都不写,就能连接上wifi,且串口监视器上有显示
版本 1.8.13
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 03:44 , Processed in 0.275229 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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