一旦我连接到蓝牙设备,我就试图通过句柄或uuid(我都试过了)读写请求,但没有成功。
我正在使用这个库https://github.com/labapart/gattlib,它适用于ble_scan和discover的示例,只需稍作更改。
问题是示例读写:
https://github.com/labapart/gattlib/blob/master/examples/read_write/read_write.c
从不填充两个函数中使用的缓冲区gattlib_read_char_by_uuid(connection, &g_uuid, buffer, sizeof(buffer));
以及gattlib_write_char_by_handle(connection, handle, buffer, sizeof(buffer));
你知道问题是什么吗?
如果没有,有人能告诉我在哪里可以找到C/BLUX的C/C++写的读写例子吗?
提前谢谢。

最佳答案

当您说它不填充时,gattlib是否返回了错误?
你成功连接到BLE设备了吗?您是否尝试使用gatttool访问您的BLE设备?
可能的问题有:
-您的BLE设备需要连接到一个随机地址(而不是公共地址)。
-连接到设备时需要提高安全级别
另一方面,我刚刚将DBus支持添加到gattlib

关于c - 在Raspberry Pi 3 Bluez C/C++上读/写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38629568/

10-11 21:57