Initial commit
This commit is contained in:
73
ed.md
Normal file
73
ed.md
Normal file
@@ -0,0 +1,73 @@
|
||||
直接帮我修改一个多个蓝牙设备的连接管理插件,支持以下功能:
|
||||
1. 扫描设备
|
||||
2. 连接设备
|
||||
3. 断开连接
|
||||
4. 发送数据
|
||||
5. 接收数据
|
||||
6. 处理连接状态变化
|
||||
7. 处理数据接收
|
||||
8. 处理数据发送
|
||||
9. 处理错误
|
||||
10. 处理设备连接状态变化
|
||||
11. 处理数据发送状态变化
|
||||
12. 处理数据接收状态变化
|
||||
|
||||
这个连接服务需要对接多个蓝牙设备,支持多种蓝牙协议(如SLE,BLE、BR/EDR等),并且需要支持多种数据格式(如JSON、XML等)。
|
||||
这个服务在Uni_modules中按插件方式实现,需要支持多种平台(如Android、iOS、H5等)。可以先只实现h5平台的功能,后续再实现其他平台的功能。H5平台需要使用web bluetooth API实现,其他平台可以使用原生蓝牙API实现。
|
||||
这个插件命名ak-sbsrv.使用最严格的 UTS/uni-app-x规范进行开发。参考https://doc.dcloud.net.cn/uni-app-x/uts/
|
||||
上层操控使用interface.uts的插件规范来处理(https://doc.dcloud.net.cn/uni-app-x/plugin/uts-plugin.html)。使用强类型的ts进行开发,使用uni-app-x的ts规范进行开发(https://doc.dcloud.net.cn/uni-app-x/uts/)。特别需要注意的是,uni-app-x的ts规范和typescript的ts规范有很大的区别,特别是在类型定义方面。需要使用uni-app-x的ts规范进行开发。
|
||||
uni-app-x插件的区分平台是在 /utssdk/下。
|
||||
h5为 /utssdk/web下。
|
||||
android为 /utssdk/app-android下。
|
||||
ios为 /utssdk/app-ios下。
|
||||
尽量少用interface,用type 来代替
|
||||
|
||||
从ak-sbsrv的android的代码看,我需要达到的几个目的都没有达到
|
||||
1.希望通过interface.uts管理整个蓝牙服务.
|
||||
2.这个蓝牙服务可以管理多个蓝牙连接,维持状态。
|
||||
3.通过回调函数来获取蓝牙状态及蓝牙的notification
|
||||
4.通过不同的protocol-handler来连接不同协议的设备。
|
||||
|
||||
|
||||
bluetoothService增加一个自动连接的函数,根据deviceid ,从connect开始就自动连接,连接成功后获取service,然后从data-processor中获取私有service id模板,然后执行获取charater, 最后注册可写协议char和notification.后续的业务就围绕可写char和notification展开
|
||||
|
||||
在血氧检测中,**红色PPG、红外PPG、XYZ加速度**各自有重要的生理和信号学意义:
|
||||
|
||||
---
|
||||
|
||||
### 1. 红色PPG(Red PPG)与红外PPG(IR PPG)
|
||||
|
||||
- **PPG(光电容积描记)**信号是通过光照射皮肤,检测血液流动引起的光吸收变化,反映脉搏波动。
|
||||
- **红色PPG**(一般波长660nm)和**红外PPG**(一般波长940nm)分别对血红蛋白和氧合血红蛋白有不同吸收特性。
|
||||
- **血氧饱和度(SpO₂)**的计算,正是基于红光和红外光的吸收比值。
|
||||
- 红光/红外光的比值变化 → 反映血液中氧合/还原血红蛋白比例 → 计算出血氧。
|
||||
- **异常波形**(如幅度异常、形态畸变、无脉搏波)可能提示:
|
||||
- 血流灌注差(如休克、低温、外周循环障碍)
|
||||
- 心律失常(如心跳不齐、心搏骤停)
|
||||
- 佩戴不良或运动伪影
|
||||
|
||||
---
|
||||
|
||||
### 2. XYZ加速度
|
||||
|
||||
- **XYZ加速度**反映手指/手腕/设备的三维运动状态。
|
||||
- 主要作用:
|
||||
- **运动伪影识别**:运动时PPG信号易受干扰,通过加速度信号可辅助算法识别并滤除运动伪影,提高血氧和心率测量准确性。
|
||||
- **佩戴状态判断**:静止时加速度变化小,剧烈运动或脱落时加速度变化大。
|
||||
- **辅助健康分析**:可用于分析活动量、睡眠、跌倒等。
|
||||
|
||||
---
|
||||
|
||||
### 3. 能否发现身体状况?
|
||||
|
||||
- **血氧异常**:持续低血氧(如SpO₂<90%)提示呼吸系统、心血管系统疾病风险,如慢阻肺、睡眠呼吸暂停、心衰等。
|
||||
- **脉搏波异常**:PPG波形异常可提示心律失常、外周循环障碍等。
|
||||
- **运动/静止状态**:加速度结合PPG可区分真实生理异常和运动伪影,辅助医生或AI判断异常原因。
|
||||
- **AI分析**:结合大量PPG和加速度数据,AI可进一步识别心律失常、血管硬化、微循环障碍等风险。
|
||||
|
||||
---
|
||||
|
||||
**总结:**
|
||||
- 红色PPG和红外PPG用于计算血氧和心率,是血氧仪的核心信号。
|
||||
- XYZ加速度用于识别运动伪影、判断佩戴状态、辅助健康分析。
|
||||
- 这些指标结合,可更准确地反映身体状况,发现异常信号时建议进一步医学检查。
|
||||
Reference in New Issue
Block a user