[英]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
中將連接注冊為活動狀態?
因此,我的問題有三個:
gatttool
適合我的目的,或者我應該制定出什么不與工作hcitool
(以下像這樣 ? 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.