LINUX中的rfcomm命令工具的使用

來源:互聯網
上載者:User
  LINUX中的rfcomm命令工具的使用

mknod /dev/rfcomm0 c 216 0
216是RFCOMM的裝置號,可以參考..../bluez-utils-2.x/scripts/create_dev指令碼
綁定
rfcomm.conf表示的是將rfcomm0綁定到某個MAC和channel上。這個功能用下面的命令也可以完成
rfcomm bind /dev/rfcomm0 [MAC] [channel]
解除綁定使用
rfcomm release /dev/rfcomm0
查看綁定使用
rfcomm show

所謂綁定,類似於設定/dev/rfcomm0對應某個確定的藍牙裝置和它的某個channel。可以把它想像為將一條串口電纜連線到某台電腦上的某個串口上。

串連
rfcomm conn /dev/rfcomm0 [MAC] 10
該命令建立一個與[MAC]的rfcomm串連。這時,可能被串連方會發送一下LINK_PIN_REQUEST,要求數字 PIN 碼。

數字 PIN 碼是由hcid/secury.c處理的,當hcid收到LINK_PIN_REQUEST,就調用下面的這個函數。見下面的代碼:
static void pin_code_request(int dev, bdaddr_t *sba, bdaddr_t *dba)
{
......
pinlen = read_pin_code(sba, dba, pin);/*這裡是從本機檔案中讀取數字 PIN 碼*/
if (pairing == HCID_PAIRING_ONCE) {
struct link_key *key = get_link_key(sba, dba);
if (key) {
ba2str(dba, da);
syslog(LOG_WARNING, "PIN code request for already paired device %s", da);
goto reject;
}
} else if (pairing == HCID_PAIRING_NONE) /*hcid.conf中security設定為none*/
goto reject;/*發送PIN_Code_Request_Negative_Reply*/

if (hcid.security == HCID_SEC_AUTO) {/*hcid.conf中security設定為auto*/
......
hci_send_cmd(dev, OGF_LINK_CTL, OCF_PIN_CODE_REPLY,
PIN_CODE_REPLY_CP_SIZE, &pr);
} else {
/* Let PIN helper handle that */
request_pin(dev, sba, ci);/*調用hcid.conf中pin_helper對應的PIN輸入程式*/
}
}
} else {
/* Let PIN helper handle that */
request_pin(dev, sba, ci););/*調用hcid.conf中pin_helper對應的PIN輸入程式*/
}

}

可見,hcid的處理行為是在/etc/bluetooth/hcid.conf檔案中確定的。在實際使用中發現hcid.conf中的pin_helper設定的bluepin不起作用。(註:bluepin是一個python指令檔)

read_pin_code()是從檔案中讀取數字 PIN 碼,下面是這個函數的代碼:

#define STORAGEDIR "/var/lib/bluetooth"
snprintf(filename, PATH_MAX, "%s/%s/pincodes", STORAGEDIR, addr);

可見數字 PIN 碼的檔案是在/var/lib/bluetooth/xx:xx:xx:xx:xx:xx/pincodes中。手工的建立這個檔案,然後使用上面的命令
rfcomm conn /dev/rfcomm0 [MAC] 10
這可以成功串連上需要數字 PIN 碼的藍牙裝置

 原文地址
http://hi.baidu.com/whyspai/blog/item/ca6b32dd0a392bd88c1029df.html
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.