簡體   English   中英

Bluez BLE連接Linux

[英]Bluez BLE Connection Linux

我是Linux和藍牙開發的新手,我不確定sudo hcitool lecc <bdaddr>sudo gatttool -b <dbaddr> -I之間的區別? 我不要求任何關貿總協定的服務; 我只想要兩個設備之間的連接。

我正在模糊地關注這個廣泛引用的教程 ,我正在考慮在Bluez /tools/hcitool.c中調整cmd_lecc方法,但是我無法使用hcitool lecc連接到我的BLE設備。

當我使用gatttool連接時,我能夠成功連接,但是使用hcitool lecc返回錯誤'無法創建連接:連接超時',並且沒有連接到BLE設備。 但是,運行sudo hcitool con來顯示活動連接會顯示有一個:'Unknown handle 0 state 2 lm SLAVE'。 如果它沒有建立連接,為什么它會在hcitool中將連接注冊為活動狀態?

因此,我的問題有三個:

  1. 這兩個命令有什么區別?
  2. gatttool適合我的目的,或者我應該制定出什么不與工作hcitool (以下像這樣
  3. 為什么sudo hcitool lecc <bdaddr>部分連接,即使它超時?

非常感謝。

hcitool lecc <bdaddr>創建一個連接並返回一個句柄,而gatttool -b <bdaddr> -I只打開一個交互式終端,其接口綁定到該地址但尚未連接。 要使用gatttool命令進行connect ,必須輸入connect ,這很可能也會失敗。

我建議看看hcitool如何連接編寫自己的代碼,因為所有gatttool只是圍繞hcitool使用的相同進程的包裝器,但除非你復制其代碼,否則它的包裝器不可用。

最后, hcitool報告的句柄0是嘗試連接時留下的無效句柄,因為據我所見,所有有效句柄都大於0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM