HoloCubic_AIO PC模拟器开发教程:用lv_simulater_platformio快速预览UI的5个实用技巧
发布时间:2026/10/3 17:12:57 作者:尧图编辑部 阅读量:1,286

HoloCubic_AIO PC模拟器开发教程用lv_simulater_platformio快速预览UI的5个实用技巧【免费下载链接】HoloCubic_AIOHoloCubic超多功能AIO固件 基于esp32-arduino的天气时钟、相册、视频播放、桌面投屏、web服务、bilibili粉丝等项目地址: https://gitcode.com/GitHub_Trending/ho/HoloCubic_AIOHoloCubic_AIO 是一款基于 ESP32 的超多功能 AIO 固件内置天气时钟、相册、视频播放、桌面投屏、Web 服务和 Bilibili 粉丝等应用。而lv_simulater_platformio正是为它打造的PC 模拟器工程——不用刷机、不用硬件直接在电脑上编译运行快速预览每一帧 UI 效果 ️HoloCubic小电视设备HoloCubic_AIO PC模拟器要复刻的240x240屏幕终端为什么需要这个 PC 模拟器HoloCubic 小电视的屏幕只有 240×240每次改完 UI 代码都要走一遍「编译 → 烧录 → 等陀螺仪初始化 → 摇晃切换应用」的流程非常拖慢节奏。lv_simulater_platformio/目录解决的就是这个问题它用SDL2 窗口 LVGL v8.3在 PC 上模拟出和小电视完全一致的显示环境鼠标还能当触摸输入用。整个工程基于 PlatformIO 管理打开文件夹即可一键构建运行官方说明见 lv_simulater_platformio/README.md。模拟器工程结构一览 lv_simulater_platformio/ ├── hal/sdl2/ # PC端 HALSDL2 窗口显示 鼠标输入 ├── src/ │ ├── main.cpp # 模拟器入口构造伪数据预览应用 │ ├── app/ # 天气、示例等可预览的 LVGL 应用 │ └── font/ch_font_20.c# 微软雅黑粗体中文字库字形高20 ├── support/sdl2_build_extra.py # 自定义 execute 构建目标 └── platformio.ini # 环境配置分辨率、内存、LVGL 参数几个核心文件值得留意入口逻辑lv_simulater_platformio/src/main.cppSDL2 显示/输入驱动hal/sdl2/app_hal.c构建脚本把upload变成编译并运行support/sdl2_build_extra.py三步跑起模拟器安装依赖安装 VSCode PlatformIO 插件并按系统安装 SDL2 开发库Linux 用apt install libsdl2-devmacOS 用brew install sdl2Windows 用 MSYS2 的 SDL2。克隆仓库git clone https://gitcode.com/GitHub_Trending/ho/HoloCubic_AIO一键运行用 VSCode 打开lv_simulater_platformio文件夹等待 PlatformIO 自动安装依赖后在左侧资源管理器展开默认环境AIO_emulator_64bits点击execute或 upload模拟器环境下两者都会编译并直接运行。 环境名AIO_emulator_64bits已在 platformio.ini 中设为default_envs无需手动切换。5 个快速预览 UI 的实用技巧 技巧 1分辨率与实机 1:1所见即所得platformio.ini 中把窗口设为SDL_HOR_RES240、SDL_VER_RES240并默认关闭缩放SDL_ZOOM1。这样 PC 上预览的每一像素布局都与小电视屏幕一致不需要再做任何移植适配。技巧 2用伪数据秒开天气界面模拟器入口 main.cpp 里的weather_app_simulation()会构造一套北京 20°C 的伪天气数据先显示应用图标、延时 1 秒后直接进入天气界面。想预览自己的 App仿照它写一个xxx_app_simulation()构造伪数据再调用xxx_gui_init()即可。技巧 3鼠标模拟触摸操作app_hal.c 把 SDL 鼠标注册为 LVGL 的LV_INDEV_TYPE_POINTER输入设备。模拟器窗口里的点击、拖动就是小电视上的触摸按钮、列表、滑块都可以真实交互测试。技巧 4中文字体开箱即用工程内置了 ch_font_20.c微软雅黑粗体、字形高 20覆盖常用汉字说明见 src/font/README.md。需要自定义字库时可用仓库里的 Script/get_font.py 脚本从字模文件提取字符集。技巧 5限制内存提前暴露 OOM模拟器默认只给 LVGL 分配 128K 内存platformio.ini 中LV_MEM_SIZE(128U * 1024U)刻意贴近嵌入式约束。这样在 PC 上就能提前发现界面内存超限、分配失败的问题避免电脑上好好的、刷进设备就崩的尴尬。模拟器 vs 实机效果对比LVGL 的官方 demo如 benchmark、widgets 等同样被编译进模拟器工程见 platformio.ini 的build_src_filter方便随时对照渲染效果开发完 UI 后可对照实机与模拟器的显示差异做最终确认HoloCubic_AIO PC模拟器与实机屏幕的UI预览效果对比小结 免硬件、免刷机VSCode 打开lv_simulater_platformio文件夹点击 execute 即可预览 UI所见即所得240×240 分辨率与实机一致鼠标直接模拟触摸贴近真机约束128K LVGL 内存限制提前暴露资源问题中文友好内置中文字库配套字体提取脚本 Script/get_font.py对于想给 HoloCubic_AIO 开发新 App 或美化界面的同学养成「先在 PC 模拟器里预览、再上实机验证」的习惯能让开发效率提升一个量级。【免费下载链接】HoloCubic_AIOHoloCubic超多功能AIO固件 基于esp32-arduino的天气时钟、相册、视频播放、桌面投屏、web服务、bilibili粉丝等项目地址: https://gitcode.com/GitHub_Trending/ho/HoloCubic_AIO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考