想要擴(kuò)展性強(qiáng),易用易開(kāi)發(fā),功能全且成本低的墨水屏天氣時(shí)鐘……尋尋覓覓難合意,那就自己做一個(gè)!
LiClock多功能墨水屏天氣時(shí)鐘
- 開(kāi)源分享 -
今天特別分享@小李電子實(shí)驗(yàn)室大佬的開(kāi)源佳作——LiClock多功能墨水屏天氣時(shí)鐘,一款DIY過(guò)程對(duì)新手友好,功能全且成本低的墨水屏天氣時(shí)鐘。
基于ESP32的2.9寸墨水屏天氣時(shí)鐘,使用PlatformIO/Arduino開(kāi)發(fā),內(nèi)嵌圖形化編程環(huán)境(Lua語(yǔ)言解釋器和Google Blockly開(kāi)發(fā)環(huán)境),兼具易用性與擴(kuò)展性。
1
當(dāng)前主要功能
演示視頻鏈接
https://www.bilibili.com/video/BV1Ey4y1P7jp
主要設(shè)計(jì)功能如下:
-
通過(guò)彩云天氣API獲取本地天氣并顯示;
-
使用ESP32內(nèi)部RTC提供時(shí)鐘信號(hào),經(jīng)過(guò)兩次NTP同步進(jìn)行線性偏移補(bǔ)償,可做到日誤差小于2秒;
-
內(nèi)置Web服務(wù)器用于配置天氣位置,管理內(nèi)部文件等;
-
內(nèi)置GUI框架,包括對(duì)話框、菜單等;
-
簡(jiǎn)易電子書(shū)功能;
-
Bilibili粉絲顯示器;
-
完善的設(shè)置菜單;
-
通過(guò)蜂鳴器播放經(jīng)過(guò)轉(zhuǎn)碼的Midi音樂(lè);
-
簡(jiǎn)易的鬧鐘;
-
內(nèi)置Blocky圖形化開(kāi)發(fā)環(huán)境,只要有瀏覽器就能為它添加功能。
2
項(xiàng)目特色要點(diǎn)
此項(xiàng)目以易用性和可二次開(kāi)發(fā)為核心目標(biāo),兼顧節(jié)能高效等應(yīng)用特性。
2.1自動(dòng)識(shí)別
系統(tǒng)框架與APP解耦,每個(gè)“APP”源碼為單個(gè)CPP文件,復(fù)制到APP目錄后自動(dòng)識(shí)別編譯并添加到APP列表,無(wú)需其它修改操作。
TF卡、傳感器等外設(shè)在第一次開(kāi)機(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)想要的功能。另外,電子書(shū)等內(nèi)置APP在不刷新屏幕時(shí)和關(guān)機(jī)狀態(tài)耗電量相同(注意:GUI框架在等待用戶輸入時(shí),不會(huì)進(jìn)入休眠模式)。
2.3便捷設(shè)置
無(wú)需配置API KEY,無(wú)需手動(dòng)設(shè)置時(shí)鐘誤差修正,無(wú)需手動(dòng)配置Bilibili UID(手機(jī)掃碼登錄),只需填寫(xiě)天氣GPS坐標(biāo)(GCJ-02)和WiFi密碼。
2.4快速上手
對(duì)于不會(huì)配置環(huán)境的小伙伴,提供全功能二進(jìn)制文件,直接燒錄運(yùn)行也可體驗(yàn)所有功能。
固件燒錄/更新
https://diylxy.github.io/LiClockWebFlash/
2.5高效開(kāi)發(fā)
內(nèi)置Lua語(yǔ)言解釋器和Google Blockly開(kāi)發(fā)環(huán)境,可通過(guò)Lua語(yǔ)言編寫(xiě)APP,網(wǎng)頁(yè)端上傳后直接運(yùn)行,同時(shí)可以無(wú)縫添加到APP列表,設(shè)置為主屏幕APP等。
3
Blockly IDE簡(jiǎn)介

開(kāi)發(fā)這個(gè)功能也是為了解決自定義表盤(pán)的問(wèn)題:
可以隨時(shí)修改代碼、互相分享工程、減少調(diào)試所需的編譯上傳時(shí)間;網(wǎng)頁(yè)端(可以在左邊使用“積木”編程,或者直接編輯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卡安裝,用起來(lái)和內(nèi)置APP完全沒(méi)有區(qū)別(內(nèi)置APP是基于C++的)。
詳細(xì)程序編寫(xiě)說(shuō)明請(qǐng)看Github Readme:
3.3 文件管理:
預(yù)覽“l(fā)bm”圖像文件(實(shí)質(zhì)上是xbm二進(jìn)制版,可用GIMP保存為xbm格式,然后使用GitHub倉(cāng)庫(kù)tools目錄下xbm轉(zhuǎn)lbm工具)。

Lua已實(shí)現(xiàn)相對(duì)目錄(如果需要訪問(wèn)資源文件,請(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目錄下)。
更多Lua函數(shù)添加中,也歡迎大家貢獻(xiàn)自己的代碼或工程文件。
4
最新開(kāi)源資料
開(kāi)源協(xié)議:CC BY-SA 3.0(未經(jīng)作者授權(quán),本文禁止轉(zhuǎn)載)
目前成本最低可以做到40到41元(tb購(gòu)物車(chē)無(wú)優(yōu)惠價(jià)格,不含電池和外殼),本文演示墨水屏型號(hào)為E029A01;ESP32買(mǎi)esp32-wroom-32(flash4mb就夠,更大容量暫時(shí)用不到),相關(guān)配件具體購(gòu)買(mǎi)教程和3D模型等資料都在Github倉(cāng)庫(kù)里。
后續(xù)項(xiàng)目相關(guān)最新信息也會(huì)在Github發(fā)布,需要的朋友可關(guān)注。
開(kāi)源倉(cāng)庫(kù)
https://github.com/diylxy/LiClock
工程鏈接
https://oshwhub.com/lxu0423/ESP32-duo-gong-neng-mo-shui-ping
相關(guān)DIY注意事項(xiàng),詳見(jiàn)工程鏈接最新說(shuō)明。
特別感謝@小李電子實(shí)驗(yàn)室
期待更多精彩作品
- 往期推薦 -
開(kāi)源 | ESP32開(kāi)發(fā)板+墨水屏DIY創(chuàng)意小擺件
開(kāi)源 | ESP32自制創(chuàng)意"像素盒子"
開(kāi)源 | ESP32自制像素時(shí)鐘&音樂(lè)頻譜
開(kāi)源 | MicroPython開(kāi)發(fā),自制ESP32藍(lán)牙遙控車(chē)
開(kāi)源 | 9.9元自制樹(shù)莓派邏輯分析儀
開(kāi)源 | 合宙Air001自制炫酷“地球名片”

原文標(biāo)題:開(kāi)源 | 內(nèi)嵌圖形化編程環(huán)境,LiClock多功能墨水屏【天氣+時(shí)鐘+電子書(shū)…】
文章出處:【微信公眾號(hào):合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
合宙通信
+關(guān)注
關(guān)注
0文章
148瀏覽量
2126
原文標(biāo)題:開(kāi)源 | 內(nèi)嵌圖形化編程環(huán)境,LiClock多功能墨水屏【天氣+時(shí)鐘+電子書(shū)…】
文章出處:【微信號(hào):HelloLuatOS,微信公眾號(hào):合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
零知開(kāi)源——STM32F4實(shí)現(xiàn)ILI9486顯示屏UI界面系列教程(一):電子書(shū)閱讀器功能
PPEC新品發(fā)布丨圖形化編程數(shù)字電源專(zhuān)用 ARM Cortex-M4 MCU

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

python入門(mén)圣經(jīng)-高清電子書(shū)(建議下載)
《工程師指南之 USB Type-C》電子書(shū)免費(fèi)下載!

評(píng)論