Skip to content

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