安信可推出了小安派的2款開源硬件——AiPi-Eyes-S1、AiPi-Eyes-S2,近期應(yīng)用開發(fā)團隊用小安派開源硬件制作了一款桌面天氣站,為出行做好參考~
01
功能分析
02
Gui Guider模擬運行結(jié)果
這里使用的UI上位機是NXP的GUI Guider軟件,有需要的伙伴可去搜索官方下載
完成效果如下:
03
UI 代碼移植
1、文件移植
因為此前已經(jīng)把屏幕和觸摸的驅(qū)動寫好了,并且在Lvgl 下測試成功,所以本文不會介紹Lvgl 的移植。GUI Guider 在成功運行之后,才會生成最新的UI代碼。需要移植的程序代碼如下:
以上文件夾復(fù)制到工程的UI位置:Ai-Pi_Eeys/demos/240X320_ui。因為M6X_SDK中的Lvgl沒有dclock 時鐘組件,所以也要把dclock 移植到SDK當中。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ù)進行初始化:
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之后,會保存當前的路由信息,下次重啟時可以自動連接這次的WiFi。按鈕的點擊事件及讀取輸入的WiFi名稱及密碼代碼:
備注:此截圖代碼不全,可去安信可官方平臺搜索
04
實際運行
審核編輯 黃宇
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2903文章
44269瀏覽量
371231 -
開源硬件
+關(guān)注
關(guān)注
8文章
205瀏覽量
29748
發(fā)布評論請先 登錄
相關(guān)推薦
評論