1. 程式人生 > >openwrt下使用bluez掃描連線BLE藍芽裝置

openwrt下使用bluez掃描連線BLE藍芽裝置

最近專案上要用到藍芽裝置,主機板是mt7688,跑的openwrt。

由於沒搞過藍芽,所以先從簡單的開始弄,網上買了個CSR的USB藍芽模組,支援4.0藍芽。

make menuconfig,在核心中加上bluez庫(先略過,以後有空詳細介紹),並且在USB裝置里加上UHCI功能,燒錄板子,即可識別USB藍芽裝置。

使用hciconfig命令,可以檢視到藍芽裝置。


可以看到裝置編號是hci0,預設裝置是關閉狀態的,所以使用hcitool dev是看不到的,用hciconfig命令,即可開啟裝置,之後即可看到:


hcitool工具的功能還是很強大的,詳細介紹可以看這裡,這位兄弟寫的很詳細。

https://blog.csdn.net/talkxin/article/details/50610984

由於我這邊需要連線的是LE裝置,所以我用的是帶le的命令。

首先是搜尋裝置:


我需要連線那個Nordic_UART裝置,這裡我使用gatttool工具,如圖:


這時正常連線,並獲取到服務埠。

這邊我在測試過程中,發現直接用hcitool lecc F1:FD:0C:4A:BB:81會連線失敗,這裡有高手看看什麼原因。

另外,開始測試的,使用gatttool工具也連線不上,最後發現藍芽裝置在使用lescan之後,再去連線就不行了,所以在連線之前,先hciconfig hci0 down;hciconfig hci0 up;這樣就能連線上。