2017-04-18 64 views
2

我使用BLUEZV5.30開發了BLE應用openwrt。我能夠通過提取源代碼gatttoolhcitool來創建應用程序。我還添加了幾個由這些工具提供的功能(如閱讀rssi)。Bz的BluezV5.42 DBUS C API?

但是,我已將我的bluez堆棧升級到5.42,並且我計劃使用DBUS接口來執行所有與BLE相關的操作。的功能,我想:

  1. 讀RSSI
  2. 連接和斷開
  3. 粘接
  4. 配對
  5. 刪除聯結信息
  6. 發現
  7. 掃描
  8. 廣告
  9. 寫/讀給特性
  10. 聲明和使用我的代碼寫在C++主治

我能夠執行(除了連接和配對)進行以上操作。但是,由於我現有的代碼存在一些問題以及無法配對/綁定,我想遷移到dbus接口。但是,我不確定BLUEZ DBUS API中的錯誤和API提供的功能。我已閱讀此API Doc,但它沒有給出任何清晰的DBUS接口圖片。

我的問題是我不確定我是否可以通過dbus api獲得所有必需的功能?我已閱讀文檔(bluez dbus api),但我仍然不確定。

+0

我編輯了我的問題 – abhiarora

回答

1

正如您在其他post中提到的,我更新了gattlib以支持Bluez DBUS API。
gattlib是用C編寫的。如果你不想使用它,看看它的代碼應該可以幫助你進步。

Sinve Bluez v5.42,GATT D-BUS API is not longer mark as experimental

這裏描述的是DBUS API:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc。還有(python)examples,演示API。

+0

看起來像廣告仍然是實驗性的 – abhiarora

+0

我怎樣才能配對而不結合?我看不到任何API? – abhiarora

+0

這是正確的廣告仍然是實驗性的。我目前正在使用它,它似乎工作(用藍色的實驗標誌'-E'顯然是可以的)。 我不確定一對和沒有債券。 Bluez郵件列表相當敏感。 – OlivierM