如何解释此蓝牙规范?

问题描述 投票:0回答:1

我正在尝试从低能耗的蓝牙设备(Polar H10)访问数据。他们的协议在下面的链接中指定,但是我不确定是否正确访问它。

https://github.com/polarofficial/polar-ble-sdk/blob/master/technical_documentation/Polar_Measurement_Data_Specification.pdf

我当前正在通过gatttool访问该设备。

$ gatttool -t random --device=DE:38:8F:EE:D0:08 --interactive
[DE:38:8F:EE:D0:08][LE]> connect
Attempting to connect to DE:38:8F:EE:D0:08
Connection successful
[DE:38:8F:EE:D0:08][LE]> char-desc 

[....edited for brevity....]
handle: 0x0047, uuid: fb005c81-02e7-f387-1cad-8acd2d8df0c8
handle: 0x004a, uuid: fb005c82-02e7-f387-1cad-8acd2d8df0c8
[....]

这两个句柄对应于规范文档顶部列出的PMD控制点的UUID和PMD数据MTU特性。

我的目标是按照第5页的中间部分所述启动ECG流。因此,我已尝试按照文档中的指示尝试此命令,并带有空格和不带有空格:

[DE:38:8F:EE:D0:08][LE]> char-write-req 0x0047 02 02 00 01 C8 00 01 01 10 00 02 01 08 00
Characteristic value was written successfully
[DE:38:8F:EE:D0:08][LE]> char-write-req 0x0047 02020001C8000101100002010800
Characteristic value was written successfully

但是,没有显示数据,也没有收到“控制点响应”。

看起来像我正在写正确的“控制点”句柄吗?我需要订阅一些东西才能查看数据吗?任何建议将不胜感激。谢谢。


更新:

似乎我忽略了数据规范顶部的“先决条件”。这是我满足这些先决条件的尝试。

[DE:38:8F:EE:D0:08][LE]> connect
Attempting to connect to DE:38:8F:EE:D0:08
Connection successful
[DE:38:8F:EE:D0:08][LE]> char-write-req 0x0047 0200
Characteristic value was written successfully
[DE:38:8F:EE:D0:08][LE]> mtu 232
MTU was exchanged successfully: 232
[DE:38:8F:EE:D0:08][LE]> char-write-req 0x004a 0100
Error: Characteristic Write Request failed: Attribute can't be written
gatt bluetooth-gatt heartrate
1个回答
0
投票

您是否成功连接并开始流式传输数据?

© www.soinside.com 2019 - 2024. All rights reserved.