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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: coloz

[官方公告] blinker bug报告

  [复制链接]
发表于 2019-4-11 12:33 | 显示全部楼层
bilnker库 2019.4.10从论坛奈何大大例程链接下载,烧录例程AT(mini/node板型)固件时报错。
系统WINXP/win7 32位均测试;IDE是1.8.8/1.8.7;
Blinker库放在My Documents\Arduino\libraries路径下。
3月下载的库没问题。

以下是WINXP,IDE 1.8.7测试的错误代码:
In file included from d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:71:0,
                 from d:\My Documents\Arduino\libraries\blinker-library-master\src/BlinkerESPMQTTAT.h:11,
                 from d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker.h:250,
                 from d:\My Documents\Arduino\libraries\blinker-library-master\examples\Blinker_AT_Firmware\AT_Firmware_WiFi\AT_Firmware_WiFi.ino:40:
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerProtocol.h: In member function 'bool BlinkerProtocol::checkAliAvail()':
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerProtocol.h:151:52: error: 'class BlinkerStream' has no member named 'aligenieAvail'
             bool checkAliAvail()    { return conn->aligenieAvail(); }

                                                    ^

d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerProtocol.h: In member function 'bool BlinkerProtocol::checkDuerAvail()':
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerProtocol.h:152:52: error: 'class BlinkerStream' has no member named 'duerAvail'
             bool checkDuerAvail()   { return conn->duerAvail(); }

                                                    ^

In file included from d:\My Documents\Arduino\libraries\blinker-library-master\src/BlinkerESPMQTTAT.h:11:0,
                 from d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker.h:250,
                 from d:\My Documents\Arduino\libraries\blinker-library-master\examples\Blinker_AT_Firmware\AT_Firmware_WiFi\AT_Firmware_WiFi.ino:40:
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h: In member function 'void BlinkerApi::attachDataStorage(blinker_callback_t, uint32_t)':

d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:471:15: error: '_dataStorageFunc' was not declared in this scope
             { _dataStorageFunc = newFunction; _autoStorageTime = _time; _autoDataTime = millis(); }

d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:471:47: error: '_autoStorageTime' was not declared in this scope
             { _dataStorageFunc = newFunction; _autoStorageTime = _time; _autoDataTime = millis(); }                                               ^
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:471:73: error: '_autoDataTime' was not declared in this scope
             { _dataStorageFunc = newFunction; _autoStorageTime = _time; _autoDataTime = millis(); }

d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h: In member function 'void BlinkerApi::needInit()':
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:1890:13: error: 'sharers' is not a member of 'BProto {aka BlinkerProtocol}'
             BProto::sharers(_shareData);

d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h: In member function 'void BlinkerApi::run()':
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:2807:25: error: 'needFreshShare' is not a member of 'BProto {aka BlinkerProtocol}'
                     if (BProto::needFreshShare())
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:2816:29: error: 'sharers' is not a member of 'BProto {aka BlinkerProtocol}'
                             BProto::sharers(_shareData);
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:2875:13: error: '_dataStorageFunc' was not declared in this scope
         if (_dataStorageFunc)
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:2877:28: error: '_autoDataTime' was not declared in this scope
             if (millis() - _autoDataTime >= _autoStorageTime * 1000)

d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:2877:45: error: '_autoStorageTime' was not declared in this scope
             if (millis() - _autoDataTime >= _autoStorageTime * 1000)
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:2884:43: error: '_autoStorageTime' was not declared in this scope
         if (millis() - _autoUpdateTime >= _autoStorageTime * BLINKER_MAX_DATA_COUNT * 1000 / 2)
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h: In member function 'void BlinkerApi::bridgePrint(char*, const String&)':
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:4608:9: error: 'bPrint' is not a member of 'BProto {aka BlinkerProtocol}'
         BProto::bPrint(bName, data);
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h: In member function 'bool BlinkerApi::autoTrigged(uint32_t)':
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:5641:16: error: 'autoPrint' is not a member of 'BProto {aka BlinkerProtocol}'
         return BProto::autoPrint(_id);
               ^
In file included from d:\My Documents\Arduino\libraries\blinker-library-master\src/BlinkerESPMQTTAT.h:11:0,
                 from d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker.h:250,
                 from d:\My Documents\Arduino\libraries\blinker-library-master\examples\Blinker_AT_Firmware\AT_Firmware_WiFi\AT_Firmware_WiFi.ino:40:
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h: In member function 'void BlinkerApi::shareParse(const ArduinoJson::JsonObject&)':
d:\My Documents\Arduino\libraries\blinker-library-master\src/Blinker/BlinkerApi.h:7482:21: error: 'sharers' is not a member of 'BProto {aka BlinkerProtocol}'
                     BProto::sharers(_shareData);
  
exit status 1
为开发板 LOLIN(WEMOS) D1 R2 & mini 编译时出错。

点评

github下载最新库试试  详情 回复 发表于 2019-4-14 16:38
发表于 2019-4-14 16:22 | 显示全部楼层
[mw_shl_code=arduino,true]#define BLINKER_WIFI
#define LOG_PERIOD 1000
#include <Blinker.h>
char auth[] = "";
char ssid[] = "";
char pswd[] = "";
unsigned long previousMillis=0;  //variable for time measurement  先前时间测量

BlinkerNumber counts("counts");
unsigned long cps=0;

void heartbeat()  
{ counts=0;
  Blinker.print("cps", 10);
}
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.attachHeartbeat(heartbeat);
}
void loop()
  
{
    Blinker.run();
    Blinker.delay(2000);
        unsigned long currentMillis = millis();
      if(currentMillis - previousMillis > LOG_PERIOD)
        {
        previousMillis = currentMillis;
        counts = 0;
         }
    cps++;
}[/mw_shl_code]问题现象:给键值赋值会导致复位
android版本:9.0
手机型号:mi9
开发板:esp8266
其他说明:比如我在给counts这个键值赋值一次0 就会复位一次

点评

建议学下C++  详情 回复 发表于 2019-4-14 16:29
发表于 2019-4-14 16:29 | 显示全部楼层
wo302946577 发表于 2019-4-14 16:22
[mw_shl_code=arduino,true]#define BLINKER_WIFI
#define LOG_PERIOD 1000
#include

这是瞎写程序,建议学下C++
发表于 2019-4-14 16:38 | 显示全部楼层
nyx 发表于 2019-4-11 12:33
bilnker库 2019.4.10从论坛奈何大大例程链接下载,烧录例程AT(mini/node板型)固件时报错。
系统WINXP/win7  ...

github下载最新库试试
发表于 2019-4-14 17:00 | 显示全部楼层
本帖最后由 MrBattery 于 2019-4-15 13:34 编辑

手机:苹果7,系统:IOS10.3.3
Blinker版本:2.1.5
蓝牙模块:jdy-08
开发板:mega2560

照着例程把wifi改成了蓝牙,但是么得反应
详细介绍帖子:学习记录2,Blinker读取温湿度
https://www.arduino.cn/forum.php?mod=viewthread&tid=85510&fromuid=174941
(出处: Arduino中文社区)


[mw_shl_code=arduino,true]
#define BLINKER_BLE
#include <Blinker.h>
#include <DHT.h>
BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");
#define DHTPIN 7
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);
float humi_read = 0, temp_read = 0;
void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    Blinker.attachHeartbeat(heartbeat);
    dht.begin();
    Blinker.begin(2,3,115200);
}

void loop()
{
    Blinker.run();
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    if (isnan(h) || isnan(t))
    {
        BLINKER_LOG("Failed to readfrom DHT sensor!");
    }
    else
    {
        BLINKER_LOG("Humidity: ", h, " %");
        BLINKER_LOG("Temperature: ", t, " ℃");
        humi_read = h;
        temp_read = t;
    }
    Blinker.delay(2000);
}[/mw_shl_code]


155837r7cqohcoz7e44og7.png



但是加上按键强制返回就有了



[mw_shl_code=arduino,true]void refresh_callback(const String & state){

  BLINKER_LOG("get button state: ", state);

  if(state=="tap"){

    HUMI.print(DHT.humidity);

    TEMP.print(sensors.getTempCByIndex(0));

    TEXT.print("点击刷新");

    Blinker.delay(500);

  }[/mw_shl_code]


(上面的代码是另外一个程序里的,头文件不太一样,问题不大)



QQ截图20190414164900.png


(答辩录的视频,原谅下渣画质。。。)


现在基本就是这么个情况。。。靠按键返回不用心跳包就ok,直接心跳包就没反应


发表于 2019-4-15 16:27 | 显示全部楼层
奈何col 发表于 2019-4-14 16:38
github下载最新库试试

可以了,2019.4.15版本。论坛例程一和AT固件可编译了。https://github.com/blinker-iot/blinker-library下的,请问下库没版本号吗?

点评

release版本才有版本号  详情 回复 发表于 2019-4-15 17:03
发表于 2019-4-15 17:03 | 显示全部楼层
nyx 发表于 2019-4-15 16:27
可以了,2019.4.15版本。论坛例程一和AT固件可编译了。https://github.com/blinker-iot/blinker-library ...

release版本才有版本号
发表于 2019-5-8 19:58 | 显示全部楼层
问题现象:新版app定时开关机,
1   如果有两个按钮,点第二个时,两个按钮图标都亮,无法在手机端分辨出定时设置的是那个按钮。
2   如果初始化时两个按钮都是关闭状态,通过手机端定时打开一个后,初始化设备界面按钮开关状态在图标中还都是关闭状态,实际灯已经通过定时打开了。
app版本:2.2.0
android版本:7.0
手机型号:红米
库版本:arduino 2.0
开发板:nodemcu

Screenshot_2019-05-08-19-39-33-589_iot.clz.me.png
Screenshot_2019-05-08-19-39-23-045_iot.clz.me.png
Screenshot_2019-05-06-13-58-44-425_iot.clz.me.png
Screenshot_2019-05-06-13-56-37-170_iot.clz.me.png




 楼主| 发表于 2019-5-8 21:01 | 显示全部楼层

1   如果有两个按钮,点第二个时,两个按钮图标都亮,无法在手机端分辨出定时设置的是那个按钮。
答:理论不会如此,建议你自查下程序。

2   如果初始化时两个按钮都是关闭状态,通过手机端定时打开一个后,初始化设备界面按钮开关状态在图标中还都是关闭状态,实际灯已经通过定时打开了。
答:这个你在心跳包中反馈为打开就行了。
发表于 2019-5-8 22:03 | 显示全部楼层
coloz 发表于 2019-5-8 21:01
1   如果有两个按钮,点第二个时,两个按钮图标都亮,无法在手机端分辨出定时设置的是那个按钮。
答:理 ...


跟程序没关系,是手机端APP开设定时。
看最后一张图,实际在定时状态,点了第二个按钮,是APP的两个定时按钮图标都亮了,,怎么知道是操作的那个尼?  ,为什么点第一个正常尼?  
你自己设置2个以上按钮,操作试试。没试,你怎么就知道不可能?
好像只能设置同一时间,一个设备定时,能不能设置多个设备都可以定时?

点评

这确实是一个有待优化的地方,以后版本会做优化,解决办法是使用blinker规范的key命名方式:btn-xxx  详情 回复 发表于 2019-5-9 00:52
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 01:38 , Processed in 0.127739 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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