

想要扩展性强,易用易开发,功能全且成本低的墨水屏天气时钟……寻寻觅觅难合意,那就自己做一个!

LiClock多功能墨水屏天气时钟
- 开源分享 -
今天特别分享@小李电子实验室大佬的开源佳作——LiClock多功能墨水屏天气时钟,一款DIY过程对新手友好,功能全且成本低的墨水屏天气时钟。
基于ESP32的2.9寸墨水屏天气时钟,使用PlatformIO/Arduino开发,内嵌图形化编程环境(Lua语言解释器和Google Blockly开发环境),兼具易用性与扩展性。
1
当前主要功能
主要设计功能如下:
通过彩云天气API获取本地天气并显示;
使用ESP32内部RTC提供时钟信号,经过两次NTP同步进行线性偏移补偿,可做到日误差小于2秒;
内置Web服务器用于配置天气位置,管理内部文件等;
内置GUI框架,包括对话框、菜单等;
简易电子书功能;
Bilibili粉丝显示器;
完善的设置菜单;
通过蜂鸣器播放经过转码的Midi音乐;
简易的闹钟;
内置Blocky图形化开发环境,只要有浏览器就能为它添加功能。
2
项目特色要点
此项目以易用性和可二次开发为核心目标,兼顾节能高效等应用特性。
2.1自动识别
系统框架与APP解耦,每个“APP”源码为单个CPP文件,复制到APP目录后自动识别编译并添加到APP列表,无需其它修改操作。

TF卡、传感器等外设在第一次开机时自动识别,由系统统一管理,不使用时自动断电(传感器进入省电模式)。

2.2易用节能
APP为事件驱动,有较为完善的GUI框架,可以快速实现想要的功能。另外,电子书等内置APP在不刷新屏幕时和关机状态耗电量相同(注意:GUI框架在等待用户输入时,不会进入休眠模式)。

2.3便捷设置
无需配置API KEY,无需手动设置时钟误差修正,无需手动配置Bilibili UID(手机扫码登录),只需填写天气GPS坐标(GCJ-02)和WiFi密码。

2.4快速上手
对于不会配置环境的小伙伴,提供全功能二进制文件,直接烧录运行也可体验所有功能。
2.5高效开发
内置Lua语言解释器和Google Blockly开发环境,可通过Lua语言编写APP,网页端上传后直接运行,同时可以无缝添加到APP列表,设置为主屏幕APP等。
3
Blockly IDE简介



开发这个功能也是为了解决自定义表盘的问题:
可以随时修改代码、互相分享工程、减少调试所需的编译上传时间;网页端(可以在左边使用“积木”编程,或者直接编辑Lua代码,但不支持Lua反向转化为Blockly);使用WebSocket实现终端功能,Lua的输出和报错将被重定向到这里。
3.1 Lua运行结果:

3.2 APP创建:
创建的APP,除了能卸载或从TF卡安装,用起来和内置APP完全没有区别(内置APP是基于C++的)。
详细程序编写说明请看Github Readme:

3.3 文件管理:

预览“lbm”图像文件(实质上是xbm二进制版,可用GIMP保存为xbm格式,然后使用GitHub仓库tools目录下xbm转lbm工具)。
3.4其他功能
Lua已实现相对目录(如果需要访问资源文件,请将其放在webtmp文件夹下,创建APP时会一并复制,支持.表示当前目录,不支持..文件夹);SD卡挂载到/sd/,内置littlefs挂载到/littlefs;蜂鸣器支持播放.buz文件(midi转buz的python程序同样放在GitHub的tools目录下)。
-
编程
+关注
关注
90文章
3723浏览量
97434 -
开源
+关注
关注
3文章
4345浏览量
46442 -
电墨水屏
+关注
关注
0文章
11浏览量
4356
发布评论请先 登录
必易微KPM32R24T系列图形化配置工具正式发布
天弘激光诱导化学图形化沉积设备:重塑高端电子制造新范式
探索ADV7181D:多功能视频解码与图形数字化芯片的卓越性能
东软载波微电子ES-CodeMaker图形化代码自动生成工具发布
我们在做一个支持多厂商 MCU 的图形化配置工具,难点却不在工具本身
eink墨水屏高效开发秘籍:开源库与演示系统全揭秘
这款开源驱动控制器让你的墨水屏直接打破刻板印象
[工具讨论] 如果有一款国产图形化配置工具STM32Cube,支持所有内核和厂商MCU,你会用吗?
定义光刻精度标准——华林科纳显影湿法设备:纳米级图形化解决方案
RUI Builder 图形化UI设计工具
突破传统桎梏,PPEC Workbench 开启电源智能化设计新路径
PPEC电源DIY套件:图形化算法编程,解锁电力电子底层算法实践
PPEC新品发布丨图形化编程数字电源专用 ARM Cortex-M4 MCU
内嵌图形化编程环境,LiClock多功能墨水屏
评论