新聞中心
隨著科技的不斷發(fā)展,藍(lán)牙技術(shù)已經(jīng)成為了目前更流行的一種短距離無線通信技術(shù)之一。藍(lán)牙通常用于數(shù)據(jù)傳輸,而隨著技術(shù)的發(fā)展,藍(lán)牙已經(jīng)不再限于移動(dòng)設(shè)備之間的通信,而是在更廣泛的應(yīng)用領(lǐng)域得到了應(yīng)用。尤其在智能車載設(shè)備,智能家居應(yīng)用等領(lǐng)域,藍(lán)牙技術(shù)得到了廣泛的應(yīng)用。

成都創(chuàng)新互聯(lián)公司主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、全網(wǎng)整合營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作、微商城、網(wǎng)站托管及網(wǎng)頁維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都軟裝設(shè)計(jì)行業(yè)客戶提供了網(wǎng)站營銷服務(wù)。
在使用藍(lán)牙進(jìn)行數(shù)據(jù)傳輸時(shí),通常需要將藍(lán)牙和串口配置為透傳模式,以實(shí)現(xiàn)數(shù)據(jù)的無縫傳輸。下文將介紹如何使用Linux實(shí)現(xiàn)串口藍(lán)牙透傳,達(dá)到簡單易行的效果。
Step 1:安裝藍(lán)牙模塊
在Linux上使用藍(lán)牙模塊需要先安裝藍(lán)牙模塊相關(guān)的軟件包。以Ubuntu為例,使用以下命令進(jìn)行安裝:
“`
sudo apt-get install bluetooth bluez bluez-tools rfkill
“`
安裝完成后,使用以下命令啟動(dòng)藍(lán)牙服務(wù)并打開藍(lán)牙適配器:
“`
sudo service bluetooth start
sudo hciconfig hci0 up
“`
Step 2:連接藍(lán)牙模塊
將藍(lán)牙模塊與電腦連接。如果是USB藍(lán)牙,插入后可以通過`dmesg | grep tty`查看藍(lán)牙設(shè)備名,例如`/dev/ttyUSB0`。如果是內(nèi)置藍(lán)牙,可直接跳過此步,開始進(jìn)行下一步。
Step 3:配置串口
在Linux中,通常使用`stty`命令配置串口。一般情況下,需要設(shè)置串口波特率、校驗(yàn)位等參數(shù)。在本文中,我們以`/dev/ttyUSB0`串口為例進(jìn)行配置。打開終端并輸入以下命令:
“`
stty -F /dev/ttyUSB0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
“`
該命令將`/dev/ttyUSB0`的數(shù)據(jù)位數(shù)設(shè)置為8,波特率為115200。同時(shí),關(guān)閉了`Ctrl-C`的一個(gè)信號(`ignbrk`)、將回車符和新行符映射為 Cr 字符和 newline 字符,忽略回顯、停止在這一行不換行,并關(guān)閉了流控。
Step 4:開啟透傳
在完成串口配置后,我們需要借助藍(lán)牙模塊開啟透傳模式。以`/dev/ttyUSB0`和藍(lán)牙設(shè)備`C0:98:E5:89:XX:XX`為例,使用以下命令進(jìn)行連接:
“`
sudo rfcomm bind /dev/rfcomm0 C0:98:E5:89:XX:XX 1
“`
該命令將藍(lán)牙設(shè)備`C0:98:E5:89:XX:XX`綁定到`/dev/rfcomm0`上,并將其通道設(shè)置為1。接下來,使用以下命令開啟透傳模式:
“`
sudo cat /dev/ttyUSB0 | sudo tee /dev/rfcomm0
“`
該命令將串口`/dev/ttyUSB0`與藍(lán)牙設(shè)備`C0:98:E5:89:XX:XX`進(jìn)行透傳。從串口發(fā)送的所有數(shù)據(jù)都將在藍(lán)牙設(shè)備上反映出來,反之,從藍(lán)牙設(shè)備發(fā)送的所有數(shù)據(jù)也可以通過串口進(jìn)行接收。
Step 5:測試透傳
在完成以上步驟后,我們可以通過在`/dev/ttyUSB0`中發(fā)送一些數(shù)據(jù),然后在藍(lán)牙設(shè)備上觀察數(shù)據(jù)是否正確的方式來測試透傳模式是否正常工作。同樣的,我們也可以在藍(lán)牙設(shè)備上發(fā)送數(shù)據(jù),在`/dev/ttyUSB0`中接收數(shù)據(jù),以驗(yàn)證透傳模式的正確性。
通過以上步驟,我們可以輕松地在Linux上使用串口藍(lán)牙透傳,實(shí)現(xiàn)數(shù)據(jù)的無縫傳輸。在實(shí)際的應(yīng)用中,如果需要使用多個(gè)串口,我們只需要重復(fù)以上步驟,分別綁定和開啟透傳即可。使用Linux系統(tǒng)進(jìn)行串口藍(lán)牙透傳,不僅簡單方便,而且能夠廣泛適用于各種應(yīng)用場景,是一種值得推廣的技術(shù)方案。
相關(guān)問題拓展閱讀:
- 解決Linux無法連接藍(lán)牙耳機(jī)Bose QuietComfort 35(QC35)的問題
- 為Deepin Linux啟用藍(lán)牙支持
- Linux系統(tǒng)如何利用命令打開藍(lán)牙
解決Linux無法連接藍(lán)牙耳機(jī)Bose QuietComfort 35(QC35)的問題
切換到Arch也有一段時(shí)間了,一直在用臘乎的QC35也又一次遇到了藍(lán)牙配對的問題。以前都是用Blueman,或者直接連接有線,但是問跡局源題只是被隱藏了,這次還是好好把這個(gè)問題解決了一下。
Linux下連接藍(lán)牙設(shè)備的方法可以參照姿態(tài) Arch Wiki:Bluetooth ,我使用的藍(lán)牙設(shè)備是USB CSR8510
藍(lán)牙適配器
,按頁面說明安裝好軟件包后,啟動(dòng)藍(lán)牙服務(wù),進(jìn)入bluetoothctl,耳機(jī)打開配對模式,scan on查找到我的耳機(jī)的MAC,pair 04:52:C7:5B:CB:65,出現(xiàn)問題:
如果你在藍(lán)牙設(shè)置界面進(jìn)行配對嘗試,不同桌面也有不同的錯(cuò)誤提示,反正就是無法完成配對。如果使用Blueman等軟件,有機(jī)會(huì)可以通過多次重試成功連接,但是問題還是間歇出現(xiàn),并不能治本。
百度是找不到什么好解決方案的,直接Google,不一會(huì)就找到了有用的解決方法, Pairing Bose QC 35 over Bluetooth on Fedora ,問題上看基本就是我的問題,更高票的回答也很簡單,QC35聲稱支持低功耗藍(lán)牙(LE)但不支持低功耗模式下的配對,Bluez也還不支持明明配對一個(gè)LE設(shè)備,卻要切換到BR模式來配對(大概是這個(gè)意思),除非你在
配置文件
里指定所有設(shè)備都應(yīng)該工作在BR模式,所以打開配置文件/etc/bluetooth/main.conf(沒有的話新建一個(gè)),找到下面的
將 # ControllerMode = dual改為ControllerMode = bredr,然后保存,對于新建的文檔,直接輸入下面的然后保存
然后重啟bluetooth服務(wù)
現(xiàn)在你應(yīng)該能在bluetooth里愉快地配對了—-才怪,你還需要?jiǎng)h除以前的配對設(shè)置,否則會(huì)出現(xiàn)org.bluez.Error.AuthenticationRejected錯(cuò)誤
再次嘗試配對,信任,連接,如果連接時(shí)出現(xiàn)Failed to connect: org.bluez.Error.Failed錯(cuò)誤,那是你沒裝pulseaudio-bluetooth包,無法支持A2DP協(xié)議,裝一個(gè)再試就可以了。
成功連接后聲音輸出可能會(huì)默認(rèn)走的是HSP/HFP,音質(zhì)會(huì)極差,在音頻設(shè)置里切換到A2DP就正常了。更多藍(lán)牙音頻設(shè)備的設(shè)置可以查看 Arch Wiki:Bluetooth headset
關(guān)于藍(lán)牙協(xié)議可以查看百科,或者這里有簡短的科普 藍(lán)牙協(xié)議分析(1)_基本概念
關(guān)于這里bluetooth和QC35在配對時(shí)雞同鴨講的問題,給出解決問題的人也表示自己的藍(lán)牙鼠標(biāo)是LE,為了使用他后來把配置文件里的ControllerMode刪掉了,但是耳機(jī)和鼠標(biāo)都沒受影響,他猜想可能配對后的設(shè)備是不受配置文件的影響的。
為Deepin Linux啟用藍(lán)牙支持
自從安裝了Deepin Linux,并 采用自己編譯的內(nèi)核 后,筆者的ThinkPad X200筆記本體驗(yàn)可謂是上升了一個(gè)非常重要的層次。后來有一天,筆者想用藍(lán)牙耳機(jī)聽音樂,然而在使用過程中發(fā)現(xiàn),這臺(tái)筆記本雖然自帶藍(lán)牙,屏幕下的藍(lán)牙指示燈一直點(diǎn)亮著,系統(tǒng)中卻看不到與藍(lán)牙有關(guān)的設(shè)置選項(xiàng)。
出現(xiàn)這樣的問題,多半就是因?yàn)橄的8娼y(tǒng)中對藍(lán)牙的支持沒有啟用,主要包括系統(tǒng)組件和內(nèi)核兩個(gè)層面。下面把我的經(jīng)驗(yàn)總結(jié)如下。
默認(rèn)地,Deepin并沒有在系統(tǒng)中裝上藍(lán)牙組件,須用戶手動(dòng)安裝。在終端中運(yùn)行:
其中, bluetooth 是Linux藍(lán)牙的核心組件,而 blueman 則是基于GTK+的一個(gè)全功能藍(lán)牙管理器。把它們一齊裝上,即可為Deepin啟用全面的藍(lán)牙支持。
筆者本以為安裝了藍(lán)牙組件后,藍(lán)牙功能就能正常使用(因?yàn)橹霸诮鉀QWLAN問題時(shí),WLAN驅(qū)動(dòng)未配置的情況下
無線網(wǎng)卡
燈是不會(huì)亮的,然而藍(lán)牙燈始終會(huì)常亮),但是當(dāng)打開藍(lán)牙管理器時(shí),竟然報(bào)錯(cuò),提示藍(lán)牙服務(wù)未啟動(dòng)。這不得不讓我想到,內(nèi)核中的藍(lán)牙支持是否沒有啟用。
果不其然。在內(nèi)核源碼目錄下運(yùn)行 make menuconfig ,打開內(nèi)核配置界面,依次對內(nèi)核進(jìn)行以下配置。
內(nèi)核中的藍(lán)牙選項(xiàng)位于【Network Settings】 –> 【Bluetooth subsystem support】。先選中【Bluetooth subsystem support】,然后按”Y“,勾選它。
【Bluetooth subsystem support】中有子菜單,按回車進(jìn)入隱春,如下所示:
其中有幾個(gè)選項(xiàng),控制特定類型藍(lán)牙設(shè)備協(xié)議的支持,一般全部啟用。它們包括:
最為重要的一步,就是將
藍(lán)牙適配器
驅(qū)動(dòng)編譯入內(nèi)核當(dāng)中。
進(jìn)入最下方子菜單【Bluetooth device drivers】,如下所示:
菜單中根據(jù)接口和特定型號設(shè)備,列出了相應(yīng)的支旦攜明持選項(xiàng),有些選項(xiàng)在勾選后還會(huì)展開新的選項(xiàng)。典型的接口有USB、SDIO、UART,按需要勾選。
筆者X200筆記本的藍(lán)牙適配器是Broadcom BCM2023B,走的是USB通道,因此先勾選【HCI USB driver】,隨后會(huì)在該項(xiàng)下面出現(xiàn)三個(gè)新的選項(xiàng),再進(jìn)一步勾選【Broadcom protocol support】。不過,在得知適配器信息之前,筆者拿捏藍(lán)牙適配器可能也走了UART通道,所以也將【HCI UART driver】勾上,再進(jìn)一步勾選下面的【Intel AG6XX protocol support】。但實(shí)際使用時(shí)發(fā)現(xiàn),X200的藍(lán)牙適配器的確走的是USB而非UART。若不能確定自己的藍(lán)牙適配器類型,可以一并選上,也不占用太多空間。
上述配置完成后,按左右方向鍵選擇”Save“,保存內(nèi)核配置,然后選”Exit“退出。使用下面的命令重新編譯內(nèi)核并安裝:
重啟后,藍(lán)牙功能即被激活。
在內(nèi)核中啟用藍(lán)牙支持,并在系統(tǒng)中安裝藍(lán)牙組件后,Deepin發(fā)生了翻天覆地的變化。Deepin下藍(lán)牙的體驗(yàn)非常出色。
Blueman管理器默認(rèn)開機(jī)啟動(dòng),會(huì)在托盤區(qū)域出現(xiàn)一個(gè)藍(lán)牙圖標(biāo),在其中可以很方便地管理藍(lán)牙設(shè)備。
在Blueman管理器中可以搜索到各種藍(lán)牙設(shè)備,包括各種手機(jī)、電腦,以及筆者的藍(lán)牙耳機(jī)。與藍(lán)牙耳機(jī)配對后,Deepin即刻將聲音通過藍(lán)牙進(jìn)行播放,無需再進(jìn)行進(jìn)一步的配置,尤其方便。此外,Blueman還有其他有趣的玩法,比如文件傳輸、瀏覽設(shè)備文件,其中對設(shè)備文件的瀏覽功能與當(dāng)年的MTK功能機(jī)類似。
以X200為代表的ThinkPad早期機(jī)型有一項(xiàng)設(shè)計(jì)非常出彩,就是它屏幕下的燈條,系統(tǒng)運(yùn)行狀態(tài)一目了然。其中正包括了藍(lán)牙指示燈,當(dāng)有數(shù)據(jù)傳輸時(shí)(如正使用藍(lán)牙音頻),指示燈會(huì)閃爍,如此就能知道藍(lán)牙設(shè)備是否正常工作??芍^匠心。
要想讓使用Deepin的筆記本支持藍(lán)牙,需要做兩項(xiàng)工作——
由此,Deepin下設(shè)備的價(jià)值就能被進(jìn)一步挖掘,體驗(yàn)自會(huì)更上一層樓。
Linux系統(tǒng)如何利用命令打開藍(lán)牙
1.要先確州備橘定硬件上有支持藍(lán)牙的設(shè)備:用以下命令
(1)lsu
(2)運(yùn)行hciconfig命令看藍(lán)牙設(shè)備
(3)冊團(tuán)運(yùn)行hcitool dev命令可以看見藍(lán)牙設(shè)備的
硬件地址
2.激活滾指藍(lán)牙
service bluetooth stop
service bluetooth start
關(guān)于linux 串口 藍(lán)牙透傳的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享題目:使用Linux實(shí)現(xiàn)串口藍(lán)牙透傳簡單易行(linux串口藍(lán)牙透傳)
分享網(wǎng)址:http://www.5511xx.com/article/coseegp.html


咨詢
建站咨詢
