如何将脉搏血氧计输出解码为可读的

发布于 2025-01-09 19:01:55 字数 806 浏览 0 评论 0原文

我正在尝试使用 nrf Connect 应用程序解码来自脉搏血氧计设备的数据。

来自脉搏血氧计 (0X1822)。 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

配置文件显示其 SFLOAT 值,但我坚持将其转换为可读值。

预期值:来自上述响应的 Spo2 和心率

我还查看了蓝牙页面中的脉搏血氧计配置文件,但它似乎令人困惑

配置文件 Service

NRF CONNECT 应用程序屏幕截图:

nrf Connect 应用程序屏幕截图:

脉搏血氧计详细信息:http://www.choicemmed.eu/product_center/253

请帮助我获取可读数据

Im trying to decode data from pulse oximeter device using the nrf Connect App.

From the Pulse Oximeter(0X1822). PLX Spot-Check Measurement service I got the below response:

SPOT MEASUREMENT:

(0x) 17-61-00-60-00-E1-07-01-01-01-22-13-20-00-20-00-00

CONTINOUS MEASUREMENT:
(0x) 0c-62-00-4E-00-20-00-00-00-00

PROFILE SAYS its SFLOAT value, But I'm stuck to converting this to readable value.

Expected value: Spo2 and heart rate from the above response

I also looked in the pulse oximeter profile in the Bluetooth page but it seems confusing

Profile Service

NRF CONNECT APP SCREENSHOT:

nrf Connect App screenshot:

pulse oximeter details:http://www.choicemmed.eu/product_center/253

Please help me to get readable data

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜夜流光相皎洁 2025-01-16 19:01:55

此页面对我帮助很大: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

Byte[1] 指 spo2 率

Byte[3] 指脉搏率

int spo2 = packet[1]; 
int pulseRate = packet[3] | ((packet[2] & 64) << 1);

System.out.println(spo2);
System.out.println(pulseRate);

血氧饱和度2:97
脉冲率:98

此场景与连续检查值相同:(0x) 0c-62-00-4E-00-20-00-00- 00-00

在 dart 中将十六进制代码值转换为 int

int val=0X62;
print(val);

This page helps me lot: https://thejeshgn.com/2020/08/05/reverse-engineering-a-bluetooth-low-energy-oximeter/

From this Spot check value :17-61-00-60-00-E1-07-01-01-01-22-13-20-00-20-00-00

Byte[1] refers to spo2 rate

Byte[3] refers to pulse rate

int spo2 = packet[1]; 
int pulseRate = packet[3] | ((packet[2] & 64) << 1);

System.out.println(spo2);
System.out.println(pulseRate);

Spo2:97
pulse rate:98

This scenarios is same for continuous check value:(0x) 0c-62-00-4E-00-20-00-00-00-00

To convert hex code value into int in dart

int val=0X62;
print(val);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文