命令行 蓝牙_Ubuntu使用BlueZ驱动蓝牙dongle
藍(lán)牙dongle即藍(lán)牙適配器,一般為USB接口,通過(guò)USB連接到PC等設(shè)備。連接dongle后,PC即可使用驅(qū)動(dòng)程序控制dongle連接其它藍(lán)牙設(shè)備。本文主要介紹在Ubuntu系統(tǒng)中安裝BlueZ的方法及藍(lán)牙的使用。
01
獲取BlueZ
BlueZ是Linux系統(tǒng)的官方藍(lán)牙協(xié)議棧,提供對(duì)核心藍(lán)牙層和協(xié)議的支持。
當(dāng)前的BlueZ由許多獨(dú)立的模塊組成:
藍(lán)牙內(nèi)核子系統(tǒng)
L2CAP和SCO音頻內(nèi)核層
RFCOMM,BNEP,CMTP和HIDP內(nèi)核實(shí)現(xiàn)
HCI?UART,USB,PCMCIA和虛擬設(shè)備驅(qū)動(dòng)
通用藍(lán)牙以及SDP庫(kù)以及守護(hù)進(jìn)程
配置和測(cè)試程序
協(xié)議解碼及分析工具
BlueZ軟件包可以直接在官網(wǎng)獲取,BlueZ源碼可以在Git倉(cāng)庫(kù)獲取。
BlueZ網(wǎng)站:
http://www.bluez.org/
Git倉(cāng)庫(kù):
https://git.kernel.org/pub/scm/bluetooth/bluez.git
02
編譯安裝
解壓軟件包
在BlueZ網(wǎng)站下載的軟件包為.tar.xz后綴的壓縮文件,可以通過(guò)tar Jxvf命令進(jìn)行解壓。
tar Jxvf bluez-5.54.tar.xz????-J?????? --處理xz格式的壓縮文件
????-x?????? --從壓縮包中提取文件
????-v?????? --打印處理信息
????-f?????? --使用壓縮文件作為輸入
解壓后可以查看軟件包目錄下的README文件了解BlueZ軟件包的使用方法。
安裝依賴庫(kù)
編譯BlueZ需要以下軟件包:
????-GCC編譯器
????-GLib庫(kù)
????-D-Bus庫(kù)
????-udev庫(kù)(可選)
????-readline(命令行客戶端)
在基于debian的系統(tǒng)中,可以通過(guò)以下命令安裝上述庫(kù)。
sudo apt-get build-dep bluez安裝時(shí)提示以下信息表示缺少源碼鏈接。
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
可以在UI界面中打開(kāi)“Software & Updates”。勾選“Source code”,然后點(diǎn)擊“Close”。
在彈出窗口中點(diǎn)擊“Reload”,重新加載軟件列表。
更新完成后再次執(zhí)行安裝命令即可。
也可以直接修改/etc/apt/sources.list文件,在文件中添加deb-src開(kāi)頭的軟件源。
配置安裝目錄
解壓軟件包后進(jìn)入軟件包目錄,通過(guò)configure文件配置安裝目錄。
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var????--prefix=/usr????????????????將/usr設(shè)為默認(rèn)目錄
????--mandir=/usr/share/man????????設(shè)置文檔目錄
????--sysconfdir=/etc? ? ? ? ?設(shè)置只讀數(shù)據(jù)目錄
????--localstatedir=/var??????設(shè)置可編輯數(shù)據(jù)目錄
編譯及安裝
設(shè)置完成后通過(guò)make和make install命令進(jìn)行編譯和安裝。
make && sudo make install安裝過(guò)程會(huì)創(chuàng)建/usr/libexec/bluetooth目錄,藍(lán)牙程序會(huì)存放至該目錄中。
安裝完成后系統(tǒng)會(huì)直接啟動(dòng)藍(lán)牙進(jìn)程。
ps aux | grep bluetooth查看藍(lán)牙進(jìn)程信息。
03
使用dongle
選擇“Setting”,進(jìn)入“Bluetooth”界面,系統(tǒng)中沒(méi)有藍(lán)牙設(shè)備時(shí),會(huì)提示插入適配器以使用藍(lán)牙功能。
此時(shí)接入藍(lán)牙適配器將會(huì)自動(dòng)開(kāi)始掃描,找到待連接的設(shè)備后點(diǎn)擊連接即可。
查看USB設(shè)備
lsusb查看接入的USB設(shè)備,打印信息如下:
Bus 002 Device 007: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
查看無(wú)線設(shè)備
rfkill list查看可用的無(wú)線設(shè)備,打印信息如下:
3: hci0: Bluetooth
?????? Soft blocked: no
?????? Hard blocked: no
如果藍(lán)牙設(shè)備顯示為blocked,則需要先啟用藍(lán)牙設(shè)備。
3: hci0: Bluetooth
?????? Soft blocked: yes
?????? Hard blocked: no
rfkill unblock [identifier]啟用藍(lán)牙設(shè)備,identifier為設(shè)備的標(biāo)識(shí),此處為3。
配置HCI設(shè)備
hciconfig為HCI設(shè)備配置程序,直接發(fā)送hciconfig命令可以查看hci設(shè)備的信息。
hciconfig -a查看HCI設(shè)備的詳細(xì)信息。
hciconfig hciX up啟用hciX(hci0, hci1, ...),需要管理員權(quán)限。
hciconfig hciX down關(guān)閉hciX(hci0, hci1, ...),需要管理員權(quán)限。
參考素材:
BlueZ網(wǎng)站
http://www.bluez.org/about/
ARM平臺(tái)上藍(lán)牙協(xié)議棧Bluez的移植使用和配置
https://blog.csdn.net/gatieme/article/details/48751743
https://blog.csdn.net/colorant/article/details/2590654
總結(jié)
以上是生活随笔為你收集整理的命令行 蓝牙_Ubuntu使用BlueZ驱动蓝牙dongle的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vue 项目图片批量导出并压缩成zip
- 下一篇: Win10 连接 Ubuntu16.04