Compare commits

..

14 Commits

Author SHA1 Message Date
Admin
a4777d571c Update .gitignore to exclude git_upload.bat and .trae/ 2026-03-03 14:45:17 +08:00
209fd3c4ab 更新 README.md 2026-03-02 10:20:40 +00:00
Admin
02f4eb9d8b 修复WiFi和BLE相关问题
1. BLE数据接收超时处理改进
   - 当数据接收超时且未被处理时,自动当作接收完成进行处理
   - 避免因JSON提取失败导致数据丢失

2. WiFi重连状态管理修复
   - 修复WiFi重连时状态卡死在WIFI_SCANNING的问题
   - 扫描失败后正确恢复为WIFI_DISCONNECTED状态

3. WiFi扫描前硬件状态重置
   - 在扫描前使用WiFi.disconnect(false)断开连接(保留配置)
   - 增加200ms等待时间,避免硬件状态异常导致扫描失败

4. WiFi连接前扫描结果清理
   - 在连接前调用WiFi.scanDelete()删除扫描结果
   - 增加300ms等待时间,让WiFi硬件完全准备好

5. WiFi扫描冲突防护机制
   - 添加isScanning标志位防止同时进行多个扫描操作
   - 避免蓝牙扫描和重连扫描冲突导致扫描失败
2026-03-02 18:11:11 +08:00
Admin
4a7b9062c0 Clean up test files and update main.cpp 2026-02-28 15:36:04 +08:00
Admin
8f090cbfaa Add Git upload script and guide documentation 2026-02-28 15:36:04 +08:00
ee1da7b574 删除 data_formats_explanation.md 2026-02-28 07:31:12 +00:00
19d344008f 删除 传感器数据.txt 2026-02-28 07:30:46 +00:00
73448d03a0 删除 test_json_chunk_sender.py 2026-02-28 07:30:11 +00:00
bee3d7797e 删除 tcp-output(1).py 2026-02-28 07:30:02 +00:00
86ed0f9191 删除 generate_radar_data.py 2026-02-28 07:29:52 +00:00
51b89698ff 更新 README.md 2026-02-28 07:29:25 +00:00
0f1edab9b9 更新 README.md 2026-02-28 07:28:06 +00:00
Admin
4da6fb525a Add comprehensive README.md documentation 2026-02-28 14:55:00 +08:00
Admin
a19a30470b Update project with radar and wifi manager modules 2026-02-28 14:52:02 +08:00

View File

@@ -0,0 +1,58 @@
# 修改蓝牙发送雷达数据模式
## 1. 需求分析
- 修改蓝牙发送机制,实现基于数据变化的发送
- 当心率、呼吸、存在检测、体动状态、睡眠状态发生变化时才发送
- 根据小程序设定的时间间隔进行定时检测
- 如果检测到变化,立即更新数据
- 按设定间隔检测数据更新,有变化则发送全部数据
## 2. 实现方案
### 2.1 添加数据存储结构
-`radar_manager.h` 中添加 `LastSentData` 结构体,用于存储上一次发送的数据
- 包含需要检测变化的字段:心率、呼吸率、存在状态、运动状态、睡眠状态
### 2.2 修改全局变量
-`radar_manager.cpp` 中添加 `lastSentData` 全局变量
- 添加 `lastCheckTime` 变量用于记录上次检测时间
### 2.3 实现数据变化检测函数
- 添加 `isDataChanged()` 函数,比较当前数据与上次发送数据
- 实现阈值判断,避免微小波动导致频繁发送
### 2.4 重写 BLE 数据发送任务
- 修改 `bleSendTask` 任务,实现以下逻辑:
1. 定时检测数据变化(基于 `continuousSendInterval`
2. 检测到变化时立即发送数据
3. 发送后更新 `lastSentData` 为当前数据
4. 保持与现有命令处理的兼容性
### 2.5 保持命令处理逻辑
- 保留 `processStartContinuousSend``processStopContinuousSend` 函数
- 确保小程序可以正常控制发送模式和间隔
## 3. 代码修改点
### 3.1 radar_manager.h
- 添加 `LastSentData` 结构体定义
- 在全局变量声明中添加 `lastSentData` 和相关变量
### 3.2 radar_manager.cpp
- 初始化 `lastSentData` 变量
- 实现 `isDataChanged()` 函数
- 重写 `bleSendTask` 任务函数
- 确保数据发送格式与现有代码保持一致
## 4. 技术要点
- 使用阈值检测避免微小数据波动导致的频繁发送
- 保持定时检测机制,确保数据及时性
- 维持与现有 BLE API 的兼容性
- 按照现有代码的注释格式编写新代码
- 确保内存使用合理,避免内存泄漏
## 5. 预期效果
- 减少不必要的蓝牙数据传输
- 只在数据发生实际变化时发送
- 保持数据的实时性和准确性
- 与现有小程序控制逻辑完全兼容