🪥 牙刷数据采集·App交互
30章 从固件到云
📚 完整目录 · 点击卡片跳转
01
课程导论
智能牙刷市场
数据采集价值
App交互原则
学习路径
➔
02
硬件基础
NRF52832/ESP32
加速度计
陀螺仪
压力传感器
架构框图
➔
03
固件开发环境搭建
Keil/IAR/ESP-IDF
SDK导入
蓝牙广播程序
➔
04
蓝牙协议栈基础
GAP与GATT
Service/Characteristic
UUID分配
➔
05
数据采集协议设计
欧拉角/四元数
刷牙时长
压力等级
数据包结构
➔
06
固件-传感器驱动
I2C/SPI读取MPU6050
卡尔曼滤波
互补滤波
➔
07
固件-蓝牙数据传输
Notification/Write
MTU协商
分包发送
CRC校验
➔
08
固件-低功耗设计
睡眠管理
广播间隔优化
连接参数更新
电量采集
➔
09
固件-OTA升级
分区设计
Bootloader
App升级流程
断点续传
➔
10
固件调试与测试
串口日志
蓝牙抓包(Sniffer)
功耗测量
稳定性测试
➔
11
App开发环境搭建
Android Studio / Xcode
Flutter框架
项目结构
➔
12
App-蓝牙扫描与连接
扫描过滤器
设备列表
连接状态管理
重连机制
➔
13
App-服务发现与读写
发现Service
使能Notification
写入控制指令
➔
14
App-数据解析与展示
解析姿态/时长/压力
实时图表
MPAndroidChart
➔
15
App-刷牙引导界面
口腔分区模型(16/32区)
引导动画
实时反馈UI
➔
16
App-刷牙报告生成
单次报告(覆盖率/时长)
历史记录
周/月趋势
➔
17
App-用户系统
注册登录
设备绑定
多设备管理
数据云同步
➔
18
App-设置页面
刷牙模式(清洁/敏感/美白)
提醒设置
固件版本与OTA
➔
19
App-本地数据库
Room/CoreData
数据缓存策略
离线模式
➔
20
App-状态管理
Provider/Bloc/Riverpod
连接状态
刷牙状态
➔
21
App-单元测试与UI测试
JUnit/XCTest
Widget测试
Mock蓝牙设备
➔
22
云服务架构
数据接收API
数据库选型(MySQL/时序)
数据清洗
➔
23
云服务-用户与设备管理
RESTful API
JWT认证
设备注册/解绑
➔
24
云服务-数据分析
刷牙习惯分析算法
异常检测
报告生成服务
➔
25
云服务-推送通知
FCM/APNs集成
刷牙提醒
报告通知
➔
26
数据安全与隐私
蓝牙传输加密
App端加密存储
云端脱敏
GDPR合规
➔
27
系统联调
固件+App+云全链路
数据一致性
延迟与吞吐量
➔
28
用户体验优化
连接成功率
数据同步速度
界面帧率优化
➔
29
发布与运维
固件发布
App上架(App Store/各大市场)
云端监控与日志
➔
30
课程总结与展望
项目复盘
常见FAQ
AI刷牙指导
口腔健康预测
➔