我试着用nrf连接应用程序从脉搏血氧计设备中解码数据。
来自脉冲氧表(0X 1822)。PLX抽查测量服务我得到以下回应:
现场测量:
(0x) 17-61-00-60-00-E1-07-01-01-01-22-13-20-00-20-00-00
连续测量:(0x) 0c-62-00-4E-00-20-00-00-00-00
PROFILE说它的SFLOAT值,但我坚持把它转换成可读的值。
期望值:来自上述反应的Spo2和心率
我还查看了蓝牙页面中的脉搏血氧计配置文件,但似乎令人困惑。
配置文件

NRF连接应用程序截图:

脉搏血氧计详细信息:http://www.choicemmed.eu/product_center/253
请帮助我获得可读的数据
发布于 2022-02-28 10:48:19
这个页面帮了我很多:https://thejeshgn.com/2020/08/05/reverse-engineering-a-bluetooth-low-energy-oximeter/
从这个抽查值:17-61-00-60-00-E1-07-01-01-01-22-13-20-00-20-00-00
Byte1指的是spo2率
Byte3指的是脉冲速率
int spo2 = packet[1];
int pulseRate = packet[3] | ((packet[2] & 64) << 1);
System.out.println(spo2);
System.out.println(pulseRate);Spo2 2:97脉冲速率:98
对于连续检查值:(0x) 0c-62-00-4E-00-20-00-00-00-00,此方案相同
在dart中将十六进制代码值转换为int
int val=0X62;
print(val);https://stackoverflow.com/questions/71264072
复制相似问题