update
<<<<<<< HEAD
smart_band 是一个基于 OpenVela (NuttX) + LVGL + libuv 的智能手表演示应用,模拟小米手环的核心 UI 交互。
核心特性:
更多功能页面展示,请查看 docs/demo_gallery.docx。
本项目采用脚本化工程管理,通过工具链实现“更新(拉取)-配置-编译-部署”的一键闭环。
git clone https://gitlink.org.cn/yiii/openvela.git cd openvela
我们提供了一个集成脚本,它会自动执行以下任务:
执行以下命令即可一键完成准备工作:
# 赋予脚本执行权限 chmod +x scripts/sync_and_config.sh # 运行脚本 ./scripts/sync_and_config.sh
# 推送资源文件(模拟器启动后执行) adb push packages/demos/smart_band/resource/font/assets/* /data/font/ adb push packages/demos/smart_band/resource/image/assets/* /data/image/ # 运行应用,启动智能手环程序(在模拟器中执行) smart_band &
smart_band/ ├── setup.sh # 环境配置脚本 ├── bandx_demo_main.c # main() 入口 → lv_init → uv_loop ├── bandx_demo.c # 自适应分辨率 + page_init + resource_init ├── Makefile # CSRCS = find *.c 全量编译 ├── page/ # 22 个 LVGL Fragment 页面 │ ├── page.h/c # 页面管理器 (push/pop/switch) │ ├── page.inc # 页面注册表 │ ├── dialplate.c # 主表盘 │ ├── heart_rate.c # 心率监测 + 折线图 │ ├── launcher.c # 9 宫格启动器 (flex 可滚动) │ ├── sport.c # 运动入口 │ ├── running.c # 跑步 (计时+配速+距离) │ ├── ... (共 22 页) # 详见页面列表 │ └── _template.c # 页面开发模板 ├── hal/ # 硬件抽象层 (模拟传感器) ├── resource/ # 字体/图片/样式 → .inc 展开为静态查找表 ├── utils/ # 动画标签 / 自动演示 / 运动数据环形缓冲 └── notification/ # 全局通知浮层 (lv_layer_top)
smart_band 采用了 “页面导航栈” 与 “静态内存模型” 设计,核心设计要点如下:
push/pop
page.inc
PAGE_SCALE
更多详细设计决策与架构图,请查看 docs/design_modules.docx。
应用启动后进入主表盘界面,显示当前时间、日期、步数、心率和电池电量。
心率折线图数据存储在全局数组中,退出页面后重新进入数据依然保留。
**运动入口页 (Sport)**:显示 9 种运动类型列表,点击进入对应运动。
运动页面通用操作:
运动结束后计时 > 0 秒即可保存到 Activity Log。保存的记录包括运动类型、时长、卡路里。
最多保存 20 条记录,超出后自动淘汰最旧的。
动作播放期间点击无效,播放结束后自动恢复 idle 状态。
本项目详细的架构设计以及模块说明,请参考 docs/ 目录:
docs/
docs/project_structure.docx
docs/design_modules.docx
docs/api_reference.docx
Apache License 2.0
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
<<<<<<< HEAD
smart_band
简介
smart_band 是一个基于 OpenVela (NuttX) + LVGL + libuv 的智能手表演示应用,模拟小米手环的核心 UI 交互。
核心特性:
演示效果 (Demo Showcase)
更多功能页面展示,请查看 docs/demo_gallery.docx。
环境构建
本项目采用脚本化工程管理,通过工具链实现“更新(拉取)-配置-编译-部署”的一键闭环。
第一步:克隆本项目
第二步:一键同步与配置
我们提供了一个集成脚本,它会自动执行以下任务:
执行以下命令即可一键完成准备工作:
第三步:运行
项目结构
核心设计概览 (Architecture Overview)
smart_band 采用了 “页面导航栈” 与 “静态内存模型” 设计,核心设计要点如下:
push/pop机制,通过page.inc实现页面注册与路由解耦。PAGE_SCALE缩放宏,支持一套代码适配多分辨率屏幕。更多详细设计决策与架构图,请查看 docs/design_modules.docx。
操作手册
启动与桌面导航
应用启动后进入主表盘界面,显示当前时间、日期、步数、心率和电池电量。
表盘 (Dialplate)
心率 (Heart Rate)
计步器 (Step Counter)
启动器 (Launcher)
运动模式 (Sport / Running / 及其他)
**运动入口页 (Sport)**:显示 9 种运动类型列表,点击进入对应运动。
运动页面通用操作:
运动记录 (Activity Log)
虚拟宠物 (Pet Cat)
“ / “Purr“秒表 (Stop Watch)
音乐控制 (Music)
手电筒 (Flashlight)
睡眠追踪 (Sleep)
设置 (Settings)
通知提醒
文档中心 (Documentation)
本项目详细的架构设计以及模块说明,请参考
docs/目录:docs/project_structure.docx:项目目录结构详细说明与组件职责分析。docs/design_modules.docx:核心设计模块详解(含页面导航、内存优化策略及适配方案)。docs/api_reference.docx:核心 UI 管理接口与驱动 API 说明。许可证
Apache License 2.0