Files
akbleserver/ed.md
2026-03-16 10:37:46 +08:00

74 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
直接帮我修改一个多个蓝牙设备的连接管理插件,支持以下功能:
1. 扫描设备
2. 连接设备
3. 断开连接
4. 发送数据
5. 接收数据
6. 处理连接状态变化
7. 处理数据接收
8. 处理数据发送
9. 处理错误
10. 处理设备连接状态变化
11. 处理数据发送状态变化
12. 处理数据接收状态变化
这个连接服务需要对接多个蓝牙设备支持多种蓝牙协议如SLEBLE、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. 红色PPGRed PPG与红外PPGIR PPG
- **PPG光电容积描记**信号是通过光照射皮肤,检测血液流动引起的光吸收变化,反映脉搏波动。
- **红色PPG**一般波长660nm和**红外PPG**一般波长940nm分别对血红蛋白和氧合血红蛋白有不同吸收特性。
- **血氧饱和度SpO₂**的计算,正是基于红光和红外光的吸收比值。
- 红光/红外光的比值变化 → 反映血液中氧合/还原血红蛋白比例 → 计算出血氧。
- **异常波形**(如幅度异常、形态畸变、无脉搏波)可能提示:
- 血流灌注差(如休克、低温、外周循环障碍)
- 心律失常(如心跳不齐、心搏骤停)
- 佩戴不良或运动伪影
---
### 2. XYZ加速度
- **XYZ加速度**反映手指/手腕/设备的三维运动状态。
- 主要作用:
- **运动伪影识别**运动时PPG信号易受干扰通过加速度信号可辅助算法识别并滤除运动伪影提高血氧和心率测量准确性。
- **佩戴状态判断**:静止时加速度变化小,剧烈运动或脱落时加速度变化大。
- **辅助健康分析**:可用于分析活动量、睡眠、跌倒等。
---
### 3. 能否发现身体状况?
- **血氧异常**持续低血氧如SpO₂<90%)提示呼吸系统、心血管系统疾病风险,如慢阻肺、睡眠呼吸暂停、心衰等。
- **脉搏波异常**PPG波形异常可提示心律失常、外周循环障碍等。
- **运动/静止状态**加速度结合PPG可区分真实生理异常和运动伪影辅助医生或AI判断异常原因。
- **AI分析**结合大量PPG和加速度数据AI可进一步识别心律失常、血管硬化、微循环障碍等风险。
---
**总结:**
- 红色PPG和红外PPG用于计算血氧和心率是血氧仪的核心信号。
- XYZ加速度用于识别运动伪影、判断佩戴状态、辅助健康分析。
- 这些指标结合,可更准确地反映身体状况,发现异常信号时建议进一步医学检查。