Ubuntu14.04 藍牙適配器的連接


一,藍牙設備
  藍牙適配器: ISSC芯片, USB接口(市面上還有其他的一些品牌,大多沒有問題)

1,加載藍牙適配器
  插入USB口之后,可以使用lsusb命令(虛擬機也是可以的),看到:
  

  這是,運行hciconfig可以看到(這里我插了兩個藍牙,但是一個是藍牙適配器,一個是串口+藍牙模塊):


     

2,配置bluez
  默認的配置文件放在/etc/bluetooth目錄
  hcid.conf和pin不需要修改,安全方式已經被設置成auto,這是為了方便連接,用戶可以自己修改,推薦不做修改,以防止有些設備連接不上。

3,重啟bluetooth服務。
  /etc/init.d/bluetooth stop
  /etc/init.d/bluetooth start

  

4,運行:
  hciconfig hci0 up
  可以激活串口(如果這一步不做,hcitool scan無法運行)

 

5,修改配置文件:
  修改/etc/bluetooth/rfcomm.conf
  將里面的:
  device 11:22:33:44:55:66;
  修改成hcitool scan的結果,也就是:
  device 98:D3:31:F5:09:2F
  保存退出。

6,添加通道:
  sdptool add --channel=1 DID SP DUN LAN FAX OPUSH FTP HS HF SAP NAP GN PANU HID CIP CTP A2SRC A2SNK SYNCML NOKID PCSUITE SR1
  后面的參數不一定被支持,但是以防有些服務沒有被打開,所以,干脆全部打開了。
  rfcomm bind /dev/rfcomm0 電話的地址 通道(在rfcomm.conf中配置)
  這里的命令應該寫成:
  rfcomm bind /dev/rfcomm0 98:D3:31:F5:09:2F 1

     sudo rfcomm bind /dev/rfcomm5 98:D3:31:F5:09:2F 1

(特別注意  1 代表的是通道,)rfcomm的數字是可以變化的   與后面連接的數字不相干比如sudo rfcomm connect 8   98:D3:31:F5:09:2F

7,連接設備:
  hcitool cc 設備的地址
  也就是


sudo rfcomm connect 1 98:D3:31:F5:09:2F(打通連接的最重要的 一個命令)

1代表的1(非常重要的一點)如果用1通道連續連接同一個藍牙將會出現錯誤

每斷開一次就要變數字

不然會提示Can't create RFCOMM TTY: Address already in use

 

98:D3:31:F5:09:2F  是我將要連接藍牙的設備地址

。特別提醒用這句話sudo hcitool cc 98:D3:31:F5:09:2F

 是不能連接上的,但是大部分都是這種說法,我就載在這里一天的時間

 

同時在電腦的藍牙圖標首先打開藍牙適配器,搜索到所要連接的藍牙,並輸入連接密碼

 

 

這種狀態說明藍牙雖然密鑰已經配對成功,但是藍牙的透傳模式任然沒有打開

這時我們需要設置

2,設置etc/Bluetooth/  文件下的配置文件

 

 

對於audio.conf   , input.conf  ,network.conf ,proximity.conf   ,不予理會

Main.conf  暫且不用配置但是其參數為

Name = %h-%d

Class = 0x000100

DiscoverableTimeout = 0

PairableTimeout = 0

PageTimeout = 8192

AutoConnectTimeout = 60

InitiallyPowered = true

RememberPowered = true

ReverseServiceDiscovery = true

NameResolving = ture

DebugKeys = false

EnableGatt = false

 

主要是rfcomm.conf文件的配置

# RFCOMM configuration file. 

rfcomm0 {

#       # Automatically bind the device at startup

         bind no;

#       # Bluetooth address of the device

         device 98:D3:31:F5:09:2F;

#        device 98:6C:F5:E3:25:73;

#

#       # RFCOMM channel for the connection

         channel   1;

#       # Description of the connection

         comment "Example Bluetooth device";

}

 

 

出現的錯誤解決

Can't init device hci0: Operation not possible due to RF-kill (132)

解決辦法:

https://bbs.archlinux.org/viewtopic.php?id=112299

運行:rfkill list

0: hci0: Bluetooth

         Soft blocked: yes

         Hard blocked: no

因為軟件鎖定了所以

運行sudo rfkill unblock Bluetooth  之后運行rfkill list
rfkill list
0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no


-------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------

 

如果您覺得看完有所收獲,可以資助一分,幾分money,不在乎多少(我也是跟網上的大神們學的),不想掙錢娶媳婦的程序員不是好程序員,謝謝

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM