嵌入式 UI 方向 · 求职作品集 · 全流程单人交付
鹿人智能面板 Lumo Panel C4 —— 480×480 智能家居中控屏。从竞品拆解、22 屏工业级设计稿,到 LVGL 9.2 逐屏代码还原,再到 RV1106 开发板真机运行,每一层都是自己动手做的。
最终交付物是一块开机自启、触摸可用的真实智能中控面板:Luckfox RV1106(Cortex-A7 @1.2GHz / 64MB 内存)+ 4 寸触摸屏,Linux + BusyBox 环境,LCD 帧缓冲直写。
覆盖页面切换、空调调节、灯光、窗帘安防等全部核心交互,一镜到底不做剪辑。
图像解码缓存、fbdev 双全屏缓冲直出、转场动画按算力裁剪——默认配置在这颗单核 A7 上切屏只有 3~5 fps,逐项实测修到可用水准。
init.d 脚本拉起,mkdir 原子目录锁保证单例运行,服务崩溃自动重启——上电即用,和量产面板行为一致。
全部界面由 LVGL C 代码逐屏还原,以下为 PC 模拟器实机截图,不是设计稿渲染图。








三站循环 1.9s,表达「正在进行」· 落地:场景页执行卡
旧字滑出、新字反侧滑入 320ms · 落地:空调温度 ±
段控逐个变色、间隔递进 · 落地:空调风速五档
每一处颜色都绑定数据语义:装饰性光效零容忍。对标拆解欧瑞博 MixPad 4、萤石 SP4、小米中控屏三个量产产品后确立视觉方向。Lumo = 鹿(IP 形象「鹿人」)+ 流明(lumen),品牌名与设计哲学同源。


浅色主题不是另画一套屏:双色板结构体 + 同一构建函数重建,支持手动切换与 19:00–07:00 自动深色。
LVGL 无 GPU 合成,毛玻璃与真 3D 在目标硬件上跑不动。设计必须尊重硬件约束——这是全项目最重要的设计决策。
按实际文案提取 585 字裁剪 CJK 字库;时钟与日期字形用 PIL 2x 超采样预烘焙金属渐变,运行时零开销。
UI 层代码在 PC 模拟器与开发板之间完全共享,换平台只更换显示与输入驱动对接层。
Ubuntu 虚拟机中用 Rockchip 工具链编译 LVGL 9.2 + UI 层,UI 代码与 PC 模拟器完全共享,只替换 fbdev/evdev 对接层。
通过 SSH(USB RNDIS 网络)将二进制与资产推送到板端 /oem/usr/aura/;BusyBox 环境下打包用纯 tar,板端 tar 不支持 gzip 解压。
init.d 脚本拉起 wrapper,wrapper 以 mkdir 原子目录锁保证单例运行,判活比对 /proc/<pid>/cmdline 而非依赖陈旧 pid 文件。
GT911 触摸为 Type-B 协议,事件含 TRACKING_ID + BTN_TOUCH,LVGL evdev 适配后读取周期设为 15ms 保证跟手性。
模拟器内置 1~9 快捷键直达各屏,便于逐屏比对截图与设计稿;字体用 Noto Sans CJK SC 三合一字库按 585 字裁剪,编译工具链自建(Python 串行 + mtime 增量,348 文件全量约 80s,交付零警告)。
设计稿每一轮迭代都由一个具体的否决理由驱动,不是「越改越好看」,而是「越改越站得住」。
3D 等距空间被否决:AI 味重,脱离 LVGL 渲染能力
评审指出硬伤:无 GPU,毛玻璃做不了
对标 MixPad 4 / 萤石 SP4 / 小米量产件
实色卡 + 细描边 + 大时钟直达键
浅色补齐 9 屏,21 处硬编码色全部 token 化
逐屏一比一还原 + 动效落地审计
交叉编译上板 · 触摸打通 · 性能三件套