CrossMux:给小型墨水屏阅读器增加中文、同步与智能待机
本文最后更新于 2026年8月28日 凌晨
CrossMux 是基于 CrossPoint Reader 演进的社区固件,面向 ESP32-C3 的 Xteink X3/X4。项目目标不是简单增加几个菜单,而是在有限内存、存储、刷新速度和电量预算下,让设备具备更完整的中文阅读与联网能力。
中文支持不是替换几段文案
电子书中的中文涉及字体体积、字形缓存、换行规则和渲染速度。固件需要在 Flash、内存和排版质量之间取舍:字体不能无限增大,文本布局不能假设以空格断词,刷新区域也要尽量稳定。
因此中文化的核心是把 CJK 当作排版能力,而不是只把 UI 字符串翻译为中文。
文件同步要避免留下半文件
1.5.8 引入自托管同步服务。设备根据 SHA-256 跳过未变化文件,并使用临时文件和备份文件完成替换。这个设计解决的不是“怎样下载”,而是弱网络和断电条件下怎样保证文件系统仍然一致。
服务端使用 .NET 提供上传、清单和下载能力;固件端负责增量判断、安全落盘和目录约束。职责边界清晰后,两端都更容易测试。
MQTT 智能待机的正确边界
1.5.9 的智能待机由服务端生成天气、行情、歌词或自定义数据面板,设备通过 MQTT 接收更新。选择服务端渲染而不是让固件解释复杂模板,有三个原因:
- 固件内存有限,不适合承载完整排版引擎;
- 模板和数据源变化频繁,服务端升级成本更低;
- 最终位图可在推送前预览和校验,降低设备端失败概率。
设备端仍需处理断线重连、消息去重、图片校验和睡眠策略。网络功能不能无限阻止自动休眠,持续连接失败也必须主动让出资源。
桌面模拟器的价值
墨水屏设备编译、烧录和刷新都比普通 Web 调试慢。桌面模拟器让菜单布局、输入逻辑和部分渲染可以在主机上快速验证,把硬件测试集中到真正依赖设备的环节。这是嵌入式项目提升迭代速度最有效的工程投入之一。