最近有些地區(qū)的天氣前一秒還是晴空萬里,轉(zhuǎn)眼一言不合就帶來一場大風(fēng)大雨。
上周安信可推出了小安派的2款開源硬件——AiPi-Eyes-S1、AiPi-Eyes-S2,安信可應(yīng)用開發(fā)團隊用小安派開源硬件制作了一款桌面天氣站,為出行做好參考~
01功能分析
02Gui Guider模擬運行結(jié)果
也可到文末鏈接下載資料包,含GUI Guider 軟件及本次項目的GUI Guider 工程。
03UI 代碼移植
1、文件移植
因為此前已經(jīng)把屏幕和觸摸的驅(qū)動寫好了,并且在Lvgl 下測試成功,所以本文不會介紹Lvgl 的移植。GUI Guider 在成功運行之后,才會生成最新的UI代碼。需要移植的程序代碼如下:
以上文件夾復(fù)制到工程的UI位置:Ai-Pi_Eeys/demos/240X320_ui。 因為M6X_SDK中的Lvgl沒有dclock 時鐘組件,所以也要把dclock 移植到SDK當(dāng)中。dclock的目錄如下:M6x_Eyeslvglsrcextrawidgets
把整個dclock文件夾復(fù)制到:Ai-Pi_Eeysaithinker_Ai-M6X_SDKcomponentsgraphicslvglextrawidgets目錄下。
2、代碼修改
1)工程添加UI代碼
只需要在CMakeLists.txt中添加以下內(nèi)容:
然后在main.c中引用gui_guider.h和custom.h,并定義lv_ui全局變量,且使用setup_ui()函數(shù)進(jìn)行初始化:
2)HTTPS GET請求及時間獲取
然后隨手把HTTPS請求天氣的邏輯實現(xiàn)一下,大概就是寫一個HTTPS的客戶端,然后發(fā)送請求,時間可以在響應(yīng)頭中獲取,Date參數(shù)中獲取,北京時間只要把小時+8就OK,比如:
?
天氣情況獲取,這里使用的是天氣API的免費的未來七天天氣接口
請求數(shù)據(jù)如下:
天氣站最高可以顯示未來七天的天氣情況,我們這里只顯示未來三天的數(shù)據(jù)。 3)WiFi 連接功能 天氣站使用的屏幕是電容觸摸屏,所以可以通過觸摸輸入WiFi 名稱及密碼連接WiFi。輸入完成后,點擊確定按鈕即可觸發(fā)WiFi連接,天氣站在連接成功WiFi之后,會保存當(dāng)前的路由信息,下次重啟時可以自動連接這次的WiFi。按鈕的點擊事件及讀取輸入的WiFi名稱及密碼代碼:
審核編輯:湯梓紅
-
移植
+關(guān)注
關(guān)注
1文章
379瀏覽量
28130 -
開源硬件
+關(guān)注
關(guān)注
8文章
208瀏覽量
29815 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97456 -
上位機
+關(guān)注
關(guān)注
27文章
942瀏覽量
54810 -
安信可
+關(guān)注
關(guān)注
0文章
152瀏覽量
3984
原文標(biāo)題:用小安派開源硬件制作一個桌面天氣站
文章出處:【微信號:安信可科技,微信公眾號:安信可科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論