自己DIY一個通過網絡獲取天氣數據的微型工作站

在網上看到一篇帖子,通過ESP8266(WIFI模塊)獲取天氣數據,自己心血來潮,動手做了一個出來,來這裡給大家展示一下。

1所需硬件

自己DIY一個通過網絡獲取天氣數據的微型工作站

硬件電路板和連線

Arduino UNO 數量 1;

轉接板數量 1;

Esp8266模塊數量 1;

按鈕模塊數量 1;

0.96OLED屏數量 1;

水晶頭電纜數量 2;

2 模塊間連線

先把OLED屏插在轉接板上:

自己DIY一個通過網絡獲取天氣數據的微型工作站

組裝1

再把轉接板插在UNO上:

自己DIY一個通過網絡獲取天氣數據的微型工作站

組裝2

把8266模塊插在JR3上,按鈕模塊插在JR1上:

自己DIY一個通過網絡獲取天氣數據的微型工作站

組裝3

下面是上電運行的效果:

默認顯示城市、天氣和溫度:

自己DIY一個通過網絡獲取天氣數據的微型工作站

效果1

通過按鈕切換到生活指數(穿衣指數、紫外線強度和運動指數)界面:

自己DIY一個通過網絡獲取天氣數據的微型工作站

效果2

3 Esp8266單獨編程

使用支持8266的ARDUINO IDE環境編程,編程環境安裝不再贅述了,和USB轉串口接線時注意,RX和TX要交叉連接;

自己DIY一個通過網絡獲取天氣數據的微型工作站

ESP8266燒寫程序

下載的時候先按一下S2復位,然後要保持io0為低電平,按下S1即可,嫌麻煩可以用跳線帽或者鑷子短接JD1的兩根插針就行了:

記得要先去心知天氣(https://www.seniverse.com/)網站註冊一個賬號,用網站提供的APIKEY就可以獲取天氣情況了。

免費用戶可以獲取3種天氣情況和6種生活指數,自己玩夠用了。

4 Arduino UNO編程

8266獲取到天氣相關數據後,通過串口把數據發送給UNO,UNO將天氣情況顯示在OLED屏上,由於屏尺寸比較小,所以做了兩個界面來分別顯示天氣情況和生活指數數據,通過按鈕來切換界面;

OLED的驅動使用了u8glib,漢字是通過取模軟件生成的,實現起來有點麻煩;

自己DIY一個通過網絡獲取天氣數據的微型工作站

取模軟件

自己DIY一個通過網絡獲取天氣數據的微型工作站

生成數組

將上面生成的數組加進程序裡就可以顯示對應中文了。

有興趣的朋友可以私信我獲取該項目源碼。希望我的分享給大家帶來幫助。歡迎朋友們多評論、多交流!


分享到:


相關文章: