基于bluez-4.101蓝牙开发--蓝牙配…

来源:互联网 发布:知行理工登录不上 编辑:程序博客网 时间:2024/06/15 05:42
   开始看bluez的API时,还真是丈二和尚摸不着头脑。看了相关资料才知道是采用DBus机制,实现进程间的通信,而不是之前知道的直接调用那种。
   因为没什么经验,所以花很长时间,才搞清楚了,用bluez怎么实现蓝牙配对。
   在网上找了很多资料,完全没有找到bluez4蓝牙配对的相关资料。接下来只能通过各种各样相关信息,综合起来考虑。
   最后才发现bluez是采用agent的方式来实现配对,并且bluez4是没有实现这个agent的,需要自己实现。我一开始拼命的分析bluez的源码,希望找到这部分实现,可想而知了。
   其实在bluez的测试代码里,有给出一个简单的agent实现。但是如果不清楚是采用agent的方式,是很难看明白是干嘛用的,可能还适得其反。

agent实现:
在bluez-4.101的源码目录下,目录test中有agent.c。
因为编译bluez的时候,并没有生成可执行程序,所以需要单独编译一下agent.c。

执行:agent --adapter hci0 --path /test/agent 0000
选项:
    --adapter蓝牙适配器
   --path    objectpath (自定义)
   0000     这个就是pin_code了