NeckAngle — 颈椎健康提醒¶
Android 应用,基于手机姿态实时监测脖子前倾角度,提醒用户保持正确姿势。
概述¶
NeckAngle 利用手机内置的 IMU(陀螺仪 + 加速度计),在用户看手机时实时采集手机姿态数据,推算用户的脖子前倾角度。角度超标时发出提醒。
技术栈¶
- 语言: Kotlin
- UI框架: Jetpack Compose
- 平台: Android
- 核心传感器: 手机 IMU(加速度计 + 陀螺仪)
- CI: GitHub Actions(Kotlin 编译)
架构决策¶
| 决策 | 方案 | 理由 |
|---|---|---|
| 姿态算法 | 互补滤波器(Complementary Filter) | 比卡尔曼滤波轻量,手机端实时处理够用 |
| 传感器采样 | SensorManager + 自定义回调 | 直接使用 Android SDK,无第三方依赖 |
| 提醒方式 | 振动 + 通知 | 不打扰用户但足够引起注意 |
| 数据持久化 | Room(本地 SQLite) | 轻量、稳定、够用 |
姿态计算原理¶
手机贴在胸前 → 获取躯干倾斜角(pitch) 手机在手上看 → 获取头部相对姿态
两种模式的校准方法不同。具体实现见代码库。
当前状态¶
- ✅ GitHub 仓库已创建:
github.com/tuxknight/neckangle - ✅ 基础 Kotlin + Compose 项目骨架已推送
- ✅ GitHub Actions CI 配置完成(编译通过)
- ⏳ 等待 Fuyuan 捡起开发
相关链接¶
- 仓库:https://github.com/tuxknight/neckangle
- CI:https://github.com/tuxknight/neckangle/actions