我想使用Bluez从C程序访问GATT配置文件

时间:2018-11-22 05:17:15

标签: c linux bluez gatt hci

我认为可以使用“ hci_send_req”功能或“ hci_send_cmd”功能读取/写入gatt配置文件。 但是,我们找不到设置数据的参数。 是否已连接到BLE终端并且未准备好对Gatt配置文件的读/写操作?

已添加..2018 / 11/22 17:06(JST)

首先,我研究它是否可以从命令行实现。

环境是RaspberryPi3。

pi@raspberrypi:~ $ sudo dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX --type=method_call org.bluez.Device1.Connect
Error org.bluez.Error.Failed: Software caused connection abort

对不起,请隐藏MAC地址。

使用gatttool命令,可以使用connect,primary,char-read-hnd和char-write-req(cmd)终端。

添加... 2018/11/22 20:43

感谢您提供信息。

我尝试过,但是org.bluez.Adapter1实际上存在,但是发生错误。

pi@raspberrypi:~ $ sudo ./glibtest XX:XX:XX:XX:XX:XX
Adapter is Powered "on"
Unable to get result: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Method "ConnectDevice" with signature "a{sv}" on interface "org.bluez.Adapter1" doesn't exist

使用以下命令检查org.bluez.Adapter1是否存在。

sudo dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0 --type=method_call org.freedesktop.DBus.Introspectable.Introspect
</method></interface><interface name="org.bluez.Adapter1"><method name="StartDiscovery"></method><method name="SetDiscoveryFilter"><arg name="properties" type="a{sv}" direction="in"/>

bluez的版本已从5.43更新到5.44。

0 个答案:

没有答案