Wemos D1解析blinker气象数据制作中文台历-Arduino中文社区 - Powered by Discuz! Archiver

topdog 发表于 2019-8-29 20:56

Wemos D1解析blinker气象数据制作中文台历

本帖最后由 topdog 于 2019-9-7 01:48 编辑

blinker气象数据能够非常方便的获得各地气象数据从Serial中打印出来,我用Wemos D1,锂电池模块和0.66寸OLED 屏幕,结合blinker请求气象数据,从反馈数据中Arduinojson解析出数据,用u8g2lib中文显示,这样比较适合中文好的小伙伴观看。
首先,请用手机安装blinker APP,注册一下;
其次,建立一个设备获得密钥;
再次,下载在附件里面的u8g2lib放入库中,我修改后的u8g2lib支持G2312中文的字符。
最后,把程序烧录到层叠的Wemos D1,那么当你需要查看当地的气候时,只要看一下台历。




#define BLINKER_WIFI
#include <Blinker.h>

char auth[] = "设备密钥";
char ssid[] = "你的网络名称";
char pswd[] = "你的网络密码";

#include <U8g2lib.h>
U8G2_SSD1306_64X48_ER_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

void setup() {
Serial.begin(115200);
while (!Serial) continue;

Blinker.begin(auth, ssid, pswd);
BLINKER_DEBUG.stream(Serial);   
u8g2.begin();   
u8g2.enableUTF8Print();
}

void loop() {
Blinker.run();

String get_weather = Blinker.weather("shanghai");   
   
DynamicJsonBuffer jsonBuffer;
JsonObject& weather = jsonBuffer.parseObject(get_weather);
if (!weather.success()) {
      BLINKER_LOG(get_weather, " , not a Json buffer!");
   }
   String weather_text = weather["cond_txt"];
   int8_t weather_temp = weather["tmp"];
   int8_t weather_hum = weather["hum"];
   String weather_wind_dir = weather["wind_dir"];
   int8_t weather_wind_spd = weather["wind_spd"];            
   if (weather_temp > 0 || weather_hum > 0 ){
   u8g2.clearBuffer();         
   u8g2.setFont(u8g2_font_wqy12_t_gb2312);
   u8g2.drawStr(0,10,"blinker");
   u8g2.setCursor(40, 10);
   u8g2.print(weather_text);
   u8g2.setCursor(0, 23);
   u8g2.print("温度");
   u8g2.print(":");   
   u8g2.print(weather_temp);
   u8g2.print("°C");
   u8g2.setCursor(0, 35);
   u8g2.print("湿度");
   u8g2.print(":");   
   u8g2.print(weather_hum);
   u8g2.print("%");
   u8g2.setCursor(0, 47);   
   u8g2.print(weather_wind_dir);
   u8g2.print(":");
   u8g2.print(weather_wind_spd);
   u8g2.print("级");      
   u8g2.sendBuffer();
   }
   Blinker.delay(60000);      
}


zjssun 发表于 2019-8-29 22:50

我的Blinker用不了ArduinoJson5只能用6,为什么你的可以,(。・∀・)ノ

topdog 发表于 2019-8-29 23:43

zjssun 发表于 2019-8-29 22:50
我的Blinker用不了ArduinoJson5只能用6,为什么你的可以,(。・∀・)ノ

谢谢指导,一起学习。

chenzjcn 发表于 2019-9-5 09:53

支持,学习(~Ctrl+V)!

topdog 发表于 2019-9-5 22:03

chenzjcn 发表于 2019-9-5 09:53
支持,学习(~Ctrl+V)!

谢谢指导,一起学习。(~Ctrl+V)

Da脑许 发表于 2019-11-15 10:04

附件u8g2lib在哪里吖

topdog 发表于 2019-11-17 01:31

Da脑许 发表于 2019-11-15 10:04
附件u8g2lib在哪里吖

文章的附件里面可以下载的。

topdog 发表于 2019-11-17 01:32

Da脑许 发表于 2019-11-15 10:04
附件u8g2lib在哪里吖

谢谢关注,一起学习,一起进步。

hundajdx 发表于 2022-2-26 01:56

楼主,购买了,怎么替换原来的库?增加了多少字符?

topdog 发表于 2022-2-27 12:16

hundajdx 发表于 2022-2-26 01:56
楼主,购买了,怎么替换原来的库?增加了多少字符?

文章的附件里面可以下载的。
页: [1]
查看完整版本: Wemos D1解析blinker气象数据制作中文台历