注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

分享,态度 ·~~

—— 十年太长,五年;如果可以回到五年前,你最想对那时候的自己说什么?

 
 
 

日志

 
 

LINUX中的rfcomm命令工具的使用  

2009-05-14 16:28:41|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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码的蓝牙设备

【from whyspai http://hi.baidu.com/whyspai/blog/item/ca6b32dd0a392bd88c1029df.html

  评论这张
 
阅读(1648)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017