linux下通过蓝牙串口模式从非脉冲血氧仪设备读取数据的C代码

linux下通过蓝牙串口模式从非脉冲血氧仪设备读取数据的C代码,c,linux,bluetooth,spp,C,Linux,Bluetooth,Spp,我正在尝试通过蓝牙与Noni脉搏血氧仪设备通信,以读取数据(脉搏率和SPO2水平)。NONI设备支持SPP和HDP配置文件。我想通过SPP配置文件进行通信。我能够通过Bluez中提供的示例代码扫描设备并与之配对。 请告诉我下一步如何发送命令并从设备读取数据。在这一点上,我感到震惊。我意识到这是一个迟来的响应,但我最近设置了从Noni PalmSAT 2500A VET装置进行数据采集。我正在使用RTC-1000电缆和RS232到USB转换器 这直接来自手册: “在实时模式下,来自设备的信息以96

我正在尝试通过蓝牙与Noni脉搏血氧仪设备通信,以读取数据(脉搏率和SPO2水平)。NONI设备支持SPP和HDP配置文件。我想通过SPP配置文件进行通信。我能够通过Bluez中提供的示例代码扫描设备并与之配对。
请告诉我下一步如何发送命令并从设备读取数据。在这一点上,我感到震惊。

我意识到这是一个迟来的响应,但我最近设置了从Noni PalmSAT 2500A VET装置进行数据采集。我正在使用RTC-1000电缆和RS232到USB转换器

这直接来自手册:

“在实时模式下,来自设备的信息以9600波特的ASCII串行格式发送,包含9个数据位、1个起始位和1个停止位。数据以每秒一次的速率输出

注:第9个数据位用于内存播放模式中的奇偶校验。在实时模式中,它始终设置为标记条件。因此,实时数据可以读取为8个数据位,无奇偶校验

实时数据可由脉搏血氧仪以外的设备打印或显示。通电时,发送一个标题,标识格式、时间和日期。此后,数据以以下格式每秒发送一次:

SPO2=XXX HR=YYY
其中,“XXX”表示SpO2值,“YYY”表示脉搏率。如果没有可用于数据读取的数据,则SpO2和脉搏率将显示为“---”

链接到手册:


您使用的是哪种型号的血氧计?

您是Noni的注册OEM还是合作伙伴?也就是说,您是否签署了他们的保密协议或获得了访问他们技术规范的许可?除非您有,否则我无法与您分享读取和解释其数据的确切步骤。Noni-PO设备数据表可在网上获得。我们已经购买了PO设备。数据表本身给出了发送什么命令以及如何解析接收到的数据。但我只是想知道如何在C代码中实现它。既然你说你知道要发送的命令,那么你的问题就是如何读/写gatt特性。请看一看这个讨论以下内容的帖子: