想要擴(kuò)展性強(qiáng),易用易開發(fā),功能全且成本低的墨水屏天氣時(shí)鐘……尋尋覓覓難合意,那就自己做一個(gè)!
LiClock多功能墨水屏天氣時(shí)鐘
- 開源分享 -
今天特別分享@小李電子實(shí)驗(yàn)室大佬的開源佳作——LiClock多功能墨水屏天氣時(shí)鐘,一款DIY過程對(duì)新手友好,功能全且成本低的墨水屏天氣時(shí)鐘。
基于ESP32的2.9寸墨水屏天氣時(shí)鐘,使用PlatformIO/Arduino開發(fā),內(nèi)嵌圖形化編程環(huán)境(Lua語言解釋器和Google Blockly開發(fā)環(huán)境),兼具易用性與擴(kuò)展性。
1
當(dāng)前主要功能
主要設(shè)計(jì)功能如下:
通過彩云天氣API獲取本地天氣并顯示;
使用ESP32內(nèi)部RTC提供時(shí)鐘信號(hào),經(jīng)過兩次NTP同步進(jìn)行線性偏移補(bǔ)償,可做到日誤差小于2秒;
內(nèi)置Web服務(wù)器用于配置天氣位置,管理內(nèi)部文件等;
內(nèi)置GUI框架,包括對(duì)話框、菜單等;
簡易電子書功能;
Bilibili粉絲顯示器;
完善的設(shè)置菜單;
通過蜂鳴器播放經(jīng)過轉(zhuǎn)碼的Midi音樂;
簡易的鬧鐘;
內(nèi)置Blocky圖形化開發(fā)環(huán)境,只要有瀏覽器就能為它添加功能。
2
項(xiàng)目特色要點(diǎn)
此項(xiàng)目以易用性和可二次開發(fā)為核心目標(biāo),兼顧節(jié)能高效等應(yīng)用特性。
2.1自動(dòng)識(shí)別
系統(tǒng)框架與APP解耦,每個(gè)“APP”源碼為單個(gè)CPP文件,復(fù)制到APP目錄后自動(dòng)識(shí)別編譯并添加到APP列表,無需其它修改操作。
TF卡、傳感器等外設(shè)在第一次開機(jī)時(shí)自動(dòng)識(shí)別,由系統(tǒng)統(tǒng)一管理,不使用時(shí)自動(dòng)斷電(傳感器進(jìn)入省電模式)。
2.2易用節(jié)能
APP為事件驅(qū)動(dòng),有較為完善的GUI框架,可以快速實(shí)現(xiàn)想要的功能。另外,電子書等內(nèi)置APP在不刷新屏幕時(shí)和關(guān)機(jī)狀態(tài)耗電量相同(注意:GUI框架在等待用戶輸入時(shí),不會(huì)進(jìn)入休眠模式)。
2.3便捷設(shè)置
無需配置API KEY,無需手動(dòng)設(shè)置時(shí)鐘誤差修正,無需手動(dòng)配置Bilibili UID(手機(jī)掃碼登錄),只需填寫天氣GPS坐標(biāo)(GCJ-02)和WiFi密碼。
2.4快速上手
對(duì)于不會(huì)配置環(huán)境的小伙伴,提供全功能二進(jìn)制文件,直接燒錄運(yùn)行也可體驗(yàn)所有功能。
2.5高效開發(fā)
內(nèi)置Lua語言解釋器和Google Blockly開發(fā)環(huán)境,可通過Lua語言編寫APP,網(wǎng)頁端上傳后直接運(yùn)行,同時(shí)可以無縫添加到APP列表,設(shè)置為主屏幕APP等。
3
Blockly IDE簡介
開發(fā)這個(gè)功能也是為了解決自定義表盤的問題:
可以隨時(shí)修改代碼、互相分享工程、減少調(diào)試所需的編譯上傳時(shí)間;網(wǎng)頁端(可以在左邊使用“積木”編程,或者直接編輯Lua代碼,但不支持Lua反向轉(zhuǎn)化為Blockly);使用WebSocket實(shí)現(xiàn)終端功能,Lua的輸出和報(bào)錯(cuò)將被重定向到這里。
3.1 Lua運(yùn)行結(jié)果:
3.2 APP創(chuàng)建:
創(chuàng)建的APP,除了能卸載或從TF卡安裝,用起來和內(nèi)置APP完全沒有區(qū)別(內(nèi)置APP是基于C++的)。
詳細(xì)程序編寫說明請(qǐng)看Github Readme:
3.3 文件管理:
預(yù)覽“l(fā)bm”圖像文件(實(shí)質(zhì)上是xbm二進(jìn)制版,可用GIMP保存為xbm格式,然后使用GitHub倉庫tools目錄下xbm轉(zhuǎn)lbm工具)。
3.4其他功能
Lua已實(shí)現(xiàn)相對(duì)目錄(如果需要訪問資源文件,請(qǐng)將其放在webtmp文件夾下,創(chuàng)建APP時(shí)會(huì)一并復(fù)制,支持.表示當(dāng)前目錄,不支持..文件夾);SD卡掛載到/sd/,內(nèi)置littlefs掛載到/littlefs;蜂鳴器支持播放.buz文件(midi轉(zhuǎn)buz的python程序同樣放在GitHub的tools目錄下)。
-
編程
+關(guān)注
關(guān)注
88文章
3689瀏覽量
95247 -
開源
+關(guān)注
關(guān)注
3文章
3688瀏覽量
43827 -
電墨水屏
+關(guān)注
關(guān)注
0文章
10瀏覽量
4250
發(fā)布評(píng)論請(qǐng)先 登錄
千方科技推出多功能交通調(diào)查站解決方案
PPEC新品發(fā)布丨圖形化編程數(shù)字電源專用 ARM Cortex-M4 MCU

一場圖形化編程與樹莓派的“跨界聯(lián)姻”?

如何基于Kahn處理網(wǎng)絡(luò)定義AI引擎圖形編程模型

用AI人臉識(shí)別開發(fā)板BW21-CBV-Kit驅(qū)動(dòng)墨水屏

Oracle數(shù)據(jù)庫的多功能集成開發(fā)環(huán)境

什么是大屏數(shù)據(jù)可視化?特點(diǎn)有哪些?
串口屏支持哪些編程語言和開發(fā)環(huán)境?

云里物里推出全新RS133電子墨水屏標(biāo)簽
低功耗SOC 5.2藍(lán)牙芯片PHY6222 應(yīng)用領(lǐng)域電子紙的功能和用途
labview是什么編程語言寫的
單片機(jī)圖形化編程軟件有哪些
rk3566驅(qū)動(dòng)8位墨水屏
繪王多功能簽批屏:打造高效安全的辦公新體驗(yàn)

評(píng)論