想要擴展性強,易用易開發(fā),功能全且成本低的墨水屏天氣時鐘……尋尋覓覓難合意,那就自己做一個!
LiClock多功能墨水屏天氣時鐘
- 開源分享 -
今天特別分享@小李電子實驗室大佬的開源佳作——LiClock多功能墨水屏天氣時鐘,一款DIY過程對新手友好,功能全且成本低的墨水屏天氣時鐘。
基于ESP32的2.9寸墨水屏天氣時鐘,使用PlatformIO/Arduino開發(fā),內(nèi)嵌圖形化編程環(huán)境(Lua語言解釋器和Google Blockly開發(fā)環(huán)境),兼具易用性與擴展性。
1
當(dāng)前主要功能
演示視頻鏈接
https://www.bilibili.com/video/BV1Ey4y1P7jp
主要設(shè)計功能如下:
-
通過彩云天氣API獲取本地天氣并顯示;
-
使用ESP32內(nèi)部RTC提供時鐘信號,經(jīng)過兩次NTP同步進行線性偏移補償,可做到日誤差小于2秒;
-
內(nèi)置Web服務(wù)器用于配置天氣位置,管理內(nèi)部文件等;
-
內(nèi)置GUI框架,包括對話框、菜單等;
-
簡易電子書功能;
-
Bilibili粉絲顯示器;
-
完善的設(shè)置菜單;
-
通過蜂鳴器播放經(jīng)過轉(zhuǎn)碼的Midi音樂;
-
簡易的鬧鐘;
-
內(nèi)置Blocky圖形化開發(fā)環(huán)境,只要有瀏覽器就能為它添加功能。
2
項目特色要點
此項目以易用性和可二次開發(fā)為核心目標(biāo),兼顧節(jié)能高效等應(yīng)用特性。
2.1自動識別
系統(tǒng)框架與APP解耦,每個“APP”源碼為單個CPP文件,復(fù)制到APP目錄后自動識別編譯并添加到APP列表,無需其它修改操作。
TF卡、傳感器等外設(shè)在第一次開機時自動識別,由系統(tǒng)統(tǒng)一管理,不使用時自動斷電(傳感器進入省電模式)。
2.2易用節(jié)能
APP為事件驅(qū)動,有較為完善的GUI框架,可以快速實現(xiàn)想要的功能。另外,電子書等內(nèi)置APP在不刷新屏幕時和關(guān)機狀態(tài)耗電量相同(注意:GUI框架在等待用戶輸入時,不會進入休眠模式)。
2.3便捷設(shè)置
無需配置API KEY,無需手動設(shè)置時鐘誤差修正,無需手動配置Bilibili UID(手機掃碼登錄),只需填寫天氣GPS坐標(biāo)(GCJ-02)和WiFi密碼。
2.4快速上手
對于不會配置環(huán)境的小伙伴,提供全功能二進制文件,直接燒錄運行也可體驗所有功能。
固件燒錄/更新
https://diylxy.github.io/LiClockWebFlash/
2.5高效開發(fā)
內(nèi)置Lua語言解釋器和Google Blockly開發(fā)環(huán)境,可通過Lua語言編寫APP,網(wǎng)頁端上傳后直接運行,同時可以無縫添加到APP列表,設(shè)置為主屏幕APP等。
3
Blockly IDE簡介
開發(fā)這個功能也是為了解決自定義表盤的問題:
可以隨時修改代碼、互相分享工程、減少調(diào)試所需的編譯上傳時間;網(wǎng)頁端(可以在左邊使用“積木”編程,或者直接編輯Lua代碼,但不支持Lua反向轉(zhuǎn)化為Blockly);使用WebSocket實現(xiàn)終端功能,Lua的輸出和報錯將被重定向到這里。
3.1 Lua運行結(jié)果:
3.2 APP創(chuàng)建:
創(chuàng)建的APP,除了能卸載或從TF卡安裝,用起來和內(nèi)置APP完全沒有區(qū)別(內(nèi)置APP是基于C++的)。
詳細(xì)程序編寫說明請看Github Readme:
3.3 文件管理:
預(yù)覽“l(fā)bm”圖像文件(實質(zhì)上是xbm二進制版,可用GIMP保存為xbm格式,然后使用GitHub倉庫tools目錄下xbm轉(zhuǎn)lbm工具)。
3.4其他功能
Lua已實現(xiàn)相對目錄(如果需要訪問資源文件,請將其放在webtmp文件夾下,創(chuàng)建APP時會一并復(fù)制,支持.表示當(dāng)前目錄,不支持..文件夾);SD卡掛載到/sd/,內(nèi)置littlefs掛載到/littlefs;蜂鳴器支持播放.buz文件(midi轉(zhuǎn)buz的python程序同樣放在GitHub的tools目錄下)。
更多Lua函數(shù)添加中,也歡迎大家貢獻(xiàn)自己的代碼或工程文件。
4
最新開源資料
開源協(xié)議:CC BY-SA 3.0(未經(jīng)作者授權(quán),本文禁止轉(zhuǎn)載)
目前成本最低可以做到40到41元(tb購物車無優(yōu)惠價格,不含電池和外殼),本文演示墨水屏型號為E029A01;ESP32買esp32-wroom-32(flash4mb就夠,更大容量暫時用不到),相關(guān)配件具體購買教程和3D模型等資料都在Github倉庫里。
后續(xù)項目相關(guān)最新信息也會在Github發(fā)布,需要的朋友可關(guān)注。
開源倉庫
https://github.com/diylxy/LiClock
工程鏈接
https://oshwhub.com/lxu0423/ESP32-duo-gong-neng-mo-shui-ping
相關(guān)DIY注意事項,詳見工程鏈接最新說明。
特別感謝@小李電子實驗室
期待更多精彩作品
- 往期推薦 -
開源 | ESP32開發(fā)板+墨水屏DIY創(chuàng)意小擺件
開源 | ESP32自制創(chuàng)意"像素盒子"
開源 | ESP32自制像素時鐘&音樂頻譜
開源 | MicroPython開發(fā),自制ESP32藍(lán)牙遙控車
開源 | 9.9元自制樹莓派邏輯分析儀
開源 | 合宙Air001自制炫酷“地球名片”
原文標(biāo)題:開源 | 內(nèi)嵌圖形化編程環(huán)境,LiClock多功能墨水屏【天氣+時鐘+電子書…】
文章出處:【微信公眾號:合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
合宙通信
+關(guān)注
關(guān)注
0文章
147瀏覽量
1747
原文標(biāo)題:開源 | 內(nèi)嵌圖形化編程環(huán)境,LiClock多功能墨水屏【天氣+時鐘+電子書…】
文章出處:【微信號:HelloLuatOS,微信公眾號:合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論