blinker 点灯科技 Blinker.weather() 默认IP归属地城市信息bug错误
本帖最后由 jianfengbeyond 于 2020-7-23 09:02 编辑blinker 点灯科技 Blinker.weather(); 默认IP归属地城市信息错误bug,本人外网IP: 14.146.126.70 广东省广州市 电信
使用 Blinker.weather();查询天气信息下来的是 成都市 的天气,而不是广州市的;
然后试过用 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); //串口打印当前湿度
}
}
不是bug,当前版本不支持IP识别,需要使用省份+城市指定,广州就是guangdong-guangzhoushi
https://diandeng.tech/doc/weather-and-air#%E5%B9%BF%E4%B8%9C 奈何col 发表于 2020-7-23 09:03
不是bug,当前版本不支持IP识别,需要使用省份+城市指定,广州就是guangdong-guangzhoushi
https://diand ...
按这个修改,的确没问题,结贴。 本帖最后由 chenzhaohui 于 2020-8-3 20:51 编辑
这个方法不错,实用。
页:
[1]