0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

内嵌图形化编程环境,LiClock多功能墨水屏

合宙LuatOS 2023-11-18 08:04 次阅读

15eabf4c-85a6-11ee-9788-92fbcf53809c.png

15f797a8-85a6-11ee-9788-92fbcf53809c.gif

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

15fef49e-85a6-11ee-9788-92fbcf53809c.gif

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列表,无需其它修改操作。

1641ed62-85a6-11ee-9788-92fbcf53809c.png

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

164ea304-85a6-11ee-9788-92fbcf53809c.gif

2.2易用节能

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

165ba6e4-85a6-11ee-9788-92fbcf53809c.gif

2.3便捷设置

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

166b2fce-85a6-11ee-9788-92fbcf53809c.png

2.4快速上手

对于不会配置环境的小伙伴,提供全功能二进制文件,直接烧录运行也可体验所有功能。


2.5高效开发

内置Lua语言解释器和Google Blockly开发环境,可通过Lua语言编写APP,网页端上传后直接运行,同时可以无缝添加到APP列表,设置为主屏幕APP等。

3

Blockly IDE简介

167a0210-85a6-11ee-9788-92fbcf53809c.png

1680ec1a-85a6-11ee-9788-92fbcf53809c.gif

1684addc-85a6-11ee-9788-92fbcf53809c.gif

开发这个功能也是为了解决自定义表盘的问题:

可以随时修改代码、互相分享工程、减少调试所需的编译上传时间;网页端(可以在左边使用“积木”编程,或者直接编辑Lua代码,但不支持Lua反向转化为Blockly);使用WebSocket实现终端功能,Lua的输出和报错将被重定向到这里。

3.1 Lua运行结果:

1693bc50-85a6-11ee-9788-92fbcf53809c.png

3.2 APP创建:

创建的APP,除了能卸载或从TF卡安装,用起来和内置APP完全没有区别(内置APP是基于C++的)。

详细程序编写说明请看Github Readme:

16eb627a-85a6-11ee-9788-92fbcf53809c.png

3.3 文件管理:

16f331d0-85a6-11ee-9788-92fbcf53809c.png

预览“lbm”图像文件(实质上是xbm二进制版,可用GIMP保存为xbm格式,然后使用GitHub仓库tools目录下xbm转lbm工具)。

3.4其他功能

Lua已实现相对目录(如果需要访问资源文件,请将其放在webtmp文件夹下,创建APP时会一并复制,支持.表示当前目录,不支持..文件夹);SD卡挂载到/sd/,内置littlefs挂载到/littlefs;蜂鸣器支持播放.buz文件(midi转buz的python程序同样放在GitHub的tools目录下)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3598

    浏览量

    93625
  • 开源
    +关注

    关注

    3

    文章

    3260

    浏览量

    42433
  • 电墨水屏
    +关注

    关注

    0

    文章

    7

    浏览量

    4105
收藏 人收藏

    评论

    相关推荐

    串口支持哪些编程语言和开发环境

    串口作为一种常用的显示和交互设备,支持多种编程语言和开发环境。以下是对串口支持的编程语言和开发环境
    的头像 发表于 11-13 11:45 182次阅读
    串口<b class='flag-5'>屏</b>支持哪些<b class='flag-5'>编程</b>语言和开发<b class='flag-5'>环境</b>?

    labview是什么编程语言写的

    的一种图形化编程语言。它并不是用传统的文本编程语言(如C++、Python等)编写的,而是采用了一种独特的图形化编程语言,通常被称为G语言(
    的头像 发表于 09-04 16:00 728次阅读

    单片机图形化编程软件有哪些

    单片机图形化编程软件为开发者提供了一种更加直观、易于上手的编程方式,尤其适合初学者和教育领域。以下是一些常见的单片机图形化编程软件: Ard
    的头像 发表于 09-02 10:14 1033次阅读

    RFID墨水标签针对工业智能识别领域的无纸化应用

    墨水采用反射式显示技术,其功耗极低,即使在长时间显示静态图像的情况下,也能保持较低的能耗。这使得墨水在需要长时间运行的工业设备上具有显著的优势,如工业仪表、控制面板等。
    的头像 发表于 06-06 15:02 323次阅读

    微软将优化Windows Subsystem for Linux并加入图形用户界面设置

    微软宣布提升Windows Subsystem for Linux(WSL)性能,推出全新设置应用提供图形化配置环境
    的头像 发表于 05-31 11:26 513次阅读

    万象,场景无限: 蓝牙墨水标签多功能多场景应用带您领略未来

    研发的智能蓝牙墨水显示标签有多规格,多应用场景,超低功耗,设备联动,提供二次开发定制,API对接,SDK云云对接等特色,满足不同行业客户不断拓展的多元需求。
    的头像 发表于 05-27 11:11 400次阅读
    一<b class='flag-5'>屏</b>万象,场景无限: 蓝牙<b class='flag-5'>墨水</b><b class='flag-5'>屏</b>标签<b class='flag-5'>多功能</b>多场景应用带您领略未来

    手搓了一个ESP32墨水阅读器,蛮简单的

    工程名称:3.7寸墨水阅读器时钟温湿度TXT/Epub前言帅小伙手搓ESP32墨水阅读器!可轻松续航100天!01阅读器功能/亮点?1.
    的头像 发表于 05-27 08:04 331次阅读
    手搓了一个ESP32<b class='flag-5'>墨水</b><b class='flag-5'>屏</b>阅读器,蛮简单的

    rfid电子纸墨水引领基板工艺MSAP贴膜阶段迈向无纸化高端制造

    晨控智能推出的可视墨水标签同时支持多种工作频率,可供用户多种方式编辑墨水显示内容,可视
    的头像 发表于 05-23 14:14 380次阅读

    stm的例程没有ioc文件,请问怎样图形化编辑引脚?

    为什么stm的例程 没有ioc文件,那请问咋样图形化编辑引脚
    发表于 03-28 08:29

    STMCubeIDE使用CubeMX图形化配置USB后没有自动添加头文件路径是什么原因导致的?

    STM32CubeIDE 1.10版本,使用内置的CubeMX图形化配置外设USB,配置完成后自动生成代码,发现没有自动添加Include相关路径(USB的头文件路径),编译也是报错。 我在另外一台
    发表于 03-20 06:15

    可视RFID电子纸/墨水标签在生产车间的无纸化应用示例

    通过引入RFID电子纸墨水标签系统,该企业成功实现了生产车间的智能管理,提高了生产效率和产品质量追溯能力。这一应用案例展示了物联网技术在制造业领域的广阔应用前景和巨大潜力。
    的头像 发表于 02-27 14:42 807次阅读

    颠覆传统音视频应用,多功能厅迎来可视智能控制时代

    走向多功能的趋势。许多酒店、会议展览中心、大剧院、图书馆、博览中心,甚至企业、学校、医院都设立了多功能厅。 图1.led显示 近日,讯维为一家大型化工企业的多功能厅进行了现代
    的头像 发表于 02-20 14:57 369次阅读
    颠覆传统音视频应用,<b class='flag-5'>多功能</b>厅迎来可视<b class='flag-5'>化</b>智能控制时代

    Qt For OpenHarmony图形化的进展突破

    Qt 适配 OpenHarmony 意义 Qt 是一个 C++ 跨平台开发框架,主要用于开发图形用户界面(Graphical User Interface,GUI)程序,具有跨平台类库(支持目前
    的头像 发表于 02-02 14:29 1403次阅读
    Qt For OpenHarmony<b class='flag-5'>图形化</b>的进展突破

    无源RFID电子纸墨水标签在工业流转箱中的应用案例

    无源RFID电子纸墨水标签是一种结合了RFID技术和电子纸墨水技术的标签。这种标签具有低功耗、可重复使用、环境友好等特点。我们将这种标签
    的头像 发表于 12-25 14:00 561次阅读

    图形化编程】创客新手村,ESP32从零开始(1)水果小夜灯

    什么是创客新手村-图形化编程版本 创客新手快速自评 • 想要学编程,但看到英文代码就害怕? • 想要电子DIY,但不知道从哪里开始学? • 学过一些基础操作,但不知怎么应用? • 想做好玩项目,但
    的头像 发表于 12-20 08:40 1283次阅读
    【<b class='flag-5'>图形化</b><b class='flag-5'>编程</b>】创客新手村,ESP32从零开始(1)水果小夜灯