查看: 197|回复: 3

[已解答] blinker 点灯科技 Blinker.weather() 默认IP归属地城市信息bug错误

[复制链接]

该用户从未签到

发表于 2020-7-23 08:55 | 显示全部楼层 |阅读模式
本帖最后由 jianfengbeyond 于 2020-7-23 09:02 编辑

blinker 点灯科技 Blinker.weather(); 默认IP归属地城市信息错误bug,本人外网IP: 14.146.126.70 广东省广州市 电信



使用 Blinker.weather();  查询天气信息下来的是 成都市 的天气,而不是广州市的; QQ截图20200723085953.jpg


然后试过用 Blinker.weather("guangzhou");  获取天气信息 下来的信息不是天气 是错误信息,其中提示无法获取信息,串口输出了一堆错误信息,估计是没有广州市"guangzhou"的天气数据导致的bug。


源代码如下:

void weatherData(const String & data)    //blinker天气函数
{
    w_t = String (data);
    //WT.print(w_t);
    BLINKER_LOG("weather: ", data);
    Blinker.print("weather333: ", w_t);
}


void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    Blinker.attachHeartbeat(heartbeat);    //自定义状态返回的回调函数,每30s-60会发送一次心跳包
    Blinker.attachWeather(weatherData);    //注册Blinker天气回调函数
    //Blinker.delay(333);
    //Blinker.weather();                     //默认查询设备ip所属地区的当前时刻的天气情况

    dht.begin();   //启动DHT温湿度传感器
}


void loop()
{
    Blinker.run();

    //每3分钟更新一次天气:
    if ( (millis() - wt_time) >= 180000 )
    {
        wt_time = millis();

        Blinker.weather();                     //默认查询设备ip所属地区的当前时刻的天气情况,BUG 发来的数据是成都市的
        //Blinker.weather("guangzhou");   //查询广州市天气 BUG 查询失败
        Blinker.delay(33);
        Blinker.print("weather000: ", w_t);
        BLINKER_LOG("weather123: ", w_t);            //串口打印当前湿度
    }

}


  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2020-7-23 09:03 | 显示全部楼层
    不是bug,当前版本不支持IP识别,需要使用省份+城市指定,广州就是  guangdong-guangzhoushi
    https://diandeng.tech/doc/weather-and-air#%E5%B9%BF%E4%B8%9C

    该用户从未签到

     楼主| 发表于 2020-7-23 09:37 | 显示全部楼层
    奈何col 发表于 2020-7-23 09:03
    不是bug,当前版本不支持IP识别,需要使用省份+城市指定,广州就是  guangdong-guangzhoushi
    https://diand ...

    按这个修改,的确没问题,结贴。

    该用户从未签到

    发表于 2020-8-3 20:47 来自手机 | 显示全部楼层
    本帖最后由 chenzhaohui 于 2020-8-3 20:51 编辑

    这个方法不错,实用。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    [2019-4-20]RPG无人世界
    [2019-4-20]RPG无人世界
    剧情:主角玄影,为了逃避██的追杀迫不得已发动████在濒死状态来到█
    Arduino串口监视器出现乱码
    Arduino串口监视器出现乱
    我用Arduinio Due将GNRMC数据Serial.prinln出来,通过串口监视器,我们可以发现有时GN
    为什么单击开关按键后会调用其他控件的函数
    为什么单击开关按键后会调
    BlinkerButton Kelvinator_power("btn-pwr"); BlinkerButton Kelvinator_Light("btn-d
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表