我正在尝试通过Linux机器与BLE模块进行通信(该模块正在运行心率配置文件)。到目前为止,除了监听通知和指示(例如,监听心率测量通知)之外,我已经能够做所有需要的事情。我正在使用内核版本3.5和bluez-5.3。
到目前为止已成功使用的命令:
hcitool lescan hcitool lecc gatttool -b <Mac Address> --primary gatttool -b <MAC Address> --characteristics gatttool -b <MAC Address> --char-read gatttool -b <MAC Address> --char-desc gatttool -b <MAC Address> --interactive
失败的命令:
gatttool -b <MAC Address> --listen
任何帮助是极大的赞赏。
尝试这个…
gatttool -b <MAC Address> --interactive像以前一样运行。您将得到提示,然后键入connect。您应该CON在提示符中看到,表明您已连接到设备。然后输入char- read-uuid 2902。您应该获得设备上所有CCC(客户端特征配置)属性的列表。 您可以尝试将它们全部设置为0100以获取通知,将0200用于指示,将两者都设置为0300,或将0000全部关闭。 键入help以查看所有命令及其参数。
gatttool -b <MAC Address> --interactive
connect
CON
char- read-uuid 2902
help
使用--listen参数需要您将其与其他命令结合使用以打开通知和/或指示。因此,这是在Bluez 4.101中工作的示例:
--listen
gatttool -b <MAC Address> --char-write-req --handle=0x0031 --value=0100 --listen
显然,您需要将句柄更改为要为其打开通知的CCC的句柄。但是,我仍然发现仅使用交互模式会更容易。