Skip to content

Latest commit

 

History

History
162 lines (116 loc) · 7.03 KB

README.md

File metadata and controls

162 lines (116 loc) · 7.03 KB

EFont Demo

目录

关于此工程

此工程包含的是 EPD_mpy_efont 的几个有用的实例(目前不断完善中)。可以在 micropython 的模拟器以及 ESP32-S3 的硬件上测试使用。

推荐在 VSCode 中打开本工程目录。同时,需要安装一下 python3 环境,工具脚本、代码提示之类的需要。如果只看脚本运行效果,或者简单改改 py 的文本、布局,不用 python 环境亦可。

参考 中给出了此工程所参考的相关资源。

快速使用

在 tools/win-cygwin 中提供了一个 micropython.exe 供 Windows 用户在 Windows 平台上快速预览 Demo。对于 unix,可以直接编译 EPD_mpy_efont 的 Unix Port。

比如修改了 10.2 寸三色屏的 Demo,开一个控制台 CTRL+` 在命令行中执行如下命令即可立即预览修改结果:

tools\win-cygwin\efore-demo.cmd

如需放到 ESP32-S3 开发板上去运行,那就可以

  • 使用 thonny
  • 将 code 打包为 vfs,然后使用工具下载到目标板上

打包 vfs,可以参考这个方法。下载的方法比较多,这里有一个 mpy_efont_tool (位于 .\tools\esp32_tool\mpy_efont_tool.py),运行时需要脱离 mpy stubs 的 venv,并在 python 中安装其依赖包:

EPD_mpy_efont_demo\tools\esp32_tool> pip install -r requirements txt

VSCode 中编辑代码

首先需要安装 python 相关扩展,以及 'MicroPython stubs',并建立 venv,请参考 Using the MicroPython stubs, 以支持代码智能提示。

仓库中已经携带了 mpy stubs 的配置,见 .vscode/settings.json

对于 efont 的特定 stub,存放于 .efont 目录中。

附加说明

1. 国家重大节日放假安排[休/班]

一般国务院假日办会在 11 月份左右公布次年安排。

拿到这个安排后,手动编写 tools/util_genArrangementHolidays.py 年份函数去生成次年的数据,然后贴到 lib/holidays.py 的 nation_arrangements 变量中即可。

2. 家人生日显示

我们一般按农历过生日,可以把大家的姓名和农历生日放到 excel 表格中的两列,然后复制到 tools/util_lunar2MonDay.py 的 days 变量中,注意分隔符是制表符 '\t'。

这个脚本就会生成程序所需的数据,粘贴到 lib/birthdays.py 的 familyBirthdays 变量即可。

3. 本工程的图标资源

字体、图标资源一般使用 font 目录下的。对于天气图标,使用的是 qweather-icons.ttf 基于和风天气图标,新增而来。如需查看完整列表,请打开

tools/qweather-icons/qweather-icons-demo.html

页面展示

临时切换页面

  • 在启动/复位的过程中,按住用户按键不放即可进入。
  • 通过用户按键(模拟器中为 A) 上翻,通过 IO0 键(模拟器中为 D) 下翻切换页面。
  • 长按任意键即可实施切换。

设置

  • 这个页面开启了 ble 和 热点
  • 连接热点可以用手机扫第一个二维码或者手工连接。
  • 连上热点后,可以通过浏览器访问配置页面进行系统配置。
  • 如果安装了 ble app,则可以通过蓝牙,进行系统配置。

天气

显示当天、未来五天的天气情况,以及室内的温度、湿度情况。 其左侧显示了当天的温度、湿度变化情况

日历

支持家人的生日显示、国家节假日安排信息

注意:

按键 A - 模拟 用户按键,可做左翻(月份 -1)
按键 D - 模拟 IO0,可做右翻(月份 +1)

天气数据源

代码中采用了和风天气开发服务,使用的时候,需要注册得到一个 api key,请放到 settings.py 中。

另外,为减少开发阶段的数据请求,我们可以把需要的数据通过浏览器获取到以后,放到 qweather_test.py 中。

比如:

7天天气预报
   https://devapi.qweather.com/v7/weather/7d?location=101010100&key=APIKEY
实时天气
   https://devapi.qweather.com/v7/weather/now?location=101010100&key=APIKEY
逐小时天气预报 
   https://devapi.qweather.com/v7/weather/24h?location=101010100&key=APIKEY
空气质量5天预报
   https://devapi.qweather.com/v7/air/5d?location=101010100&key=APIKEY
以及一言地址
   https://v1.hitokoto.cn/?encode=json&min_length=1&max_length=21

WEB配置

使用热点网络配置设备的相关信息,比如 要连接的热点,天气 API_KEY,城市;首页信息等。先上图:

连接配置

启动页配置

设备信息

BLE 配置 APP

使用 Flutter 开发,支持 Windows (需要有 BLE 硬件) 和 Android。可以从123网盘 下载使用。

关于时钟

目前系统在开机/复位时,app.py 中会检测芯片的 RTC 时钟是否合理,不合理会从板载的 RX8025T 中读取时间,并更新到 RTC 中,供应用使用。 如果 RX8025T 中的时间不正确,可能需要手工校准一下,这个过程,目前不是自动的。

参考