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