Я хотел бы получить доступ к профилю GATT из программы C, используя Bluez - PullRequest
0 голосов
/ 22 ноября 2018

Я думаю, что можно читать / писать в профиль Гатта, используя функцию "hci_send_req" или функцию "hci_send_cmd".Однако мы не можем найти параметры, которые устанавливают данные.Подключен ли он к терминалу BLE и профиль чтения / записи в профиль Гатта не подготовлен?

Добавлено. 2018. 11/11 22: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.

...