今天又翻出來一片ESP8266模塊,還有一個OLED(1.3寸)液晶屏,看到别人做的天氣站,于是整理了一下以前的代碼,發現有幾個地方需要改動一下,然後,就可以聯網看天氣了!
先簡單介紹一下這個天氣站的程序流程:
1到心知天氣官網注冊一下,獲取你的專屬私鑰;
2搭建ESP8266的Arduino開發環境(可能需要爬梯子);
3程序向網站發送請求,然後解析json數據;
4通過oled屏幕進行顯示。
先說第一步:進官網,注冊,在控制台就能看到你的私鑰了。
獲得私鑰
下面兩張圖片是對應的API字段代表的含義,可以根據需要取您想要得字段。
天氣相關參數
生活指數參數
第二步,搭建Arduino開發環境
先要到官網取下載安裝Arduino IDE,然後加載ESP8266所支持的工具,這個過程可能需要爬梯子,網上也有集成好的環境可以直接下載。同學們可以自己動手找找看,或者私信蟻哥也行。
安裝好IDE還需要更新兩個關鍵的庫,分别是Arduino Json和oled液晶驅動;
蟻哥之前寫的代碼或者大家從網上搜的代碼有可能是基于Json5.0的,那樣會報錯,建議大家改成新版Json6.0的。如下圖所示:
Json字符串聲明
我的液晶驅動芯片是sh1106的,可以根據下面的圖片直接獲得庫文件。
安裝液晶屏驅動庫文件
接線按照下圖連接:
接線表
以上準備工作就完成了,接下來就是第三步,HAPPY的敲代碼時間,不想敲也沒關系,各位看官可以到蟻哥的github上直接ctrl c!
源代碼
下面簡單說一下代碼注意事項。看到下面的馬賽克了嗎?不要緊張,隻要把那裡換成各位看官大爺家裡的wifi熱點名和密碼,以及剛才那個私鑰就行了。
代碼初始化部分
下面這個函數是用來獲取天氣信息的,沒啥好說的,
獲取天氣函數
在下面這個函數是獲取生活指數信息的,基本能滿足我們生活的方方面面。
獲取生活指數函數
編好代碼,接好線,點擊上傳,相信我,你會成功的!成功以後,就可以看到你所在的城市的天氣信息了!
下面奉上兩張截圖,沒有界面,隻是簡單地顯示:
生活指數信息
天氣信息
怎麼樣,是不是很好玩!下次再把網絡時間和播放mp3音樂的功能加上,秒變網絡小鬧鐘!
大家有什麼好的想法,請在評論區留言讨論!感謝您的支持!
,