AI 运动闹钟 / WakeQuest
把起床变成必须完成的运动任务:闹钟响起后完成 5 次深蹲,系统才会解除提醒。
微信小程序Android / JavaCameraXML Kit PoseMediaPipe PoseTensorFlow.js / MoveNet
产品介绍
AI 运动闹钟 / WakeQuest 是一款面向早起困难、容易赖床和想培养运动习惯人群的运动闹钟。它要求用户完成规定数量的运动后才能真正关闭闹钟,让“醒来”变成一个可验证、可完成的行动。
核心机制
让“起床”和“完成一段运动”绑定:没有完成任务,闹钟就不会被普通点击关闭。
当前项目是多端交互原型与技术验证。小程序动作识别插件还受 AppID 权限限制,Android APK 尚未在当前电脑生成,H5 也无法保证锁屏后台响铃;正式使用前需要在真实设备上测试摄像头、权限、后台调度和误判情况。
解决方案
| 问题 | 当前解决方案 |
|---|---|
| 传统闹钟可以直接关闭 | 把关闭条件改为完成运动任务,默认完成 5 次深蹲后才能解除提醒。 |
| 无法确认用户真的起床 | 通过摄像头获取姿态关键点,依据髋部、膝盖和脚踝角度判断下蹲与站立状态。 |
| 不同平台的能力和权限不同 | 小程序用于交互原型,Android 用于系统级闹钟和本地识别,H5 用于快速验证识别算法。 |
| 摄像头数据存在隐私顾虑 | 运动识别尽量在设备端完成,不上传用户摄像头画面,并在页面中明确摄像头使用时机。 |
| 极端情况下需要安全退出 | 保留长按约 3 秒的紧急关闭方式,避免用户在身体不适或异常情况下无法停止铃声。 |
设置闹钟时间与重复日期→本地铃声与震动提醒→进入运动任务→摄像头姿态识别或测试计数→完成 5 次深蹲→解除闹钟并进入完成页
产品功能
01 · 闹钟管理
- 新建、编辑和删除闹钟
- 设置时间、重复日期和标签
- 开启或关闭闹钟
- 查看下一个闹钟与本地提醒状态
02 · 响铃与安全
- 使用本地 alarm.mp3 循环播放
- 响铃时配合手机震动
- 从响铃页进入任务页后不会自动停止
- 完成任务后停止铃声,保留长按紧急关闭
03 · 运动任务
- 默认任务为深蹲 5 次
- 要求全身尽量进入摄像头画面
- 显示当前完成次数和目标次数
- 后续可扩展开合跳、俯卧撑、高抬腿、平板支撑和自定义数量
04 · 三端实现
- 微信小程序已完成主要交互,当前动作计数为手动测试模式
- Android 已接入 CameraX、ML Kit Pose 和本地深蹲计数
- H5 使用 MediaPipe Pose Landmarker 验证浏览器端识别
- 小程序 TensorFlow.js / MoveNet 插件方案等待正式 AppID 权限
05 · 隐私与数据
- 摄像头只在运动任务阶段启用
- 姿态计算优先在本地设备执行
- 不上传用户摄像头视频画面
- 正式版仍需补充权限说明、误判处理和运动历史记录
使用方法
当前项目包含微信小程序、Android 原生和 H5 三种版本。小程序适合展示交互流程,Android 适合验证稳定的系统级闹钟,H5 适合快速测试姿态识别算法。
示例指令
小程序导入 E:\Ai运动闹钟\wakequest-miniprogram;H5 通过 localhost 或 HTTPS 打开 E:\Ai运动闹钟\wakequest-web;Android 使用 Android Studio 打开对应工程。
- 在微信开发者工具中导入 wakequest-miniprogram,使用自己的小程序 AppID 并点击编译。
- 首页设置或预览一个测试闹钟,进入响铃页后点击“我醒了,开始任务”。
- 小程序当前可在测试模式下点击按钮模拟完成 5 次;H5 需要允许摄像头并让全身进入画面;Android 需要在真实手机上完成深蹲。
- 完成目标次数后,系统停止铃声并进入完成页;未完成时保持提醒。
- 测试时检查摄像头、通知、震动、精确闹钟和锁屏权限,并确认紧急关闭方式可用。
其他使用方式
- 微信小程序:用于界面原型、产品演示和后续插件接入;当前自动识别插件尚未授权成功。
- Android:用于实现稳定的系统级闹钟、锁屏唤醒和本地姿态识别,需要 Android Studio、JDK 和真实 Android 手机。
- H5:用于快速验证 MediaPipe 姿态识别,必须在 localhost 或 HTTPS 下打开,不能替代系统级后台闹钟。
当前开发状态
项目已完成交互原型和多端技术验证,正在从“演示版”向“可用产品”过渡。当前最成熟的是小程序闹钟流程、Android 本地姿态识别方案和 H5 算法验证。
| 模块 | 当前状态 |
|---|---|
| 产品定位与核心流程 | 已完成:闹钟—运动任务—解除闹钟的主链路已明确 |
| 微信小程序 | 已完成原型:首页、响铃、任务、运动和完成页;当前动作计数为手动测试 |
| 小程序姿态识别插件 | 未完成:TensorFlow.js / MoveNet 方案受 AppID 插件权限限制,曾出现 80082 permission denied |
| Android 原生版本 | 核心方案已接入:CameraX、ML Kit Pose、SquatCounter;当前电脑尚未生成 APK |
| 网页 H5 版本 | 验证版已完成:MediaPipe Pose Landmarker 浏览器本地识别深蹲 |
| 后台、锁屏与系统通知 | 未完成:小程序和 H5 无法保证系统级后台响铃;Android 需要真机验证 |
| 运动历史与数据统计 | 未完成:尚未接入完整运动记录、趋势统计和账号同步 |