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

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


咨詢(xún)
建站咨詢(xún)
