Firefly开源社区

标题: FireBLe设备之间如何做配对? [打印本页]

作者: wyq165    时间: 2015-5-19 21:30
标题: FireBLe设备之间如何做配对?
fireble入手几天了,自己改进了QPPS 和QPPC 能实现串口透传。
但是发现官方例子是很多,但是都没有配对的例程。
自己看QPPC的代码 什么 TK ,LTK ,STK ,IRK 看得眼都花了,也没很么眉目。
QPPC例子的   app_menu.c 文件内倒是有个菜单函数:

static void app_menu_show_gap(void)
{
        app_menu_show_line();
        QPRINTF("* QN BLE GAP Menu\r\n");
    QPRINTF("* 1. Inquiry Start\r\n");
    QPRINTF("* 2. Inquiry Stop\r\n");
#if (BLE_PERIPHERAL)
    QPRINTF("* 3. Advertisement Start\r\n");
    QPRINTF("* 4. Advertisement Stop\r\n");
#endif
    QPRINTF("* 5. Create Connection\r\n");
    QPRINTF("* 6. Disconnection\r\n");
#if (QN_SECURITY_ON)
    QPRINTF("* 7. Pair Request\r\n");
#endif
    QPRINTF("* 8. UnPair\r\n");
        app_menu_show_line();
}
第六项貌似是匹配请求项,但是运行之后发现没有输入项,直接现实绑定了某个点。
而第7项的调用如下:
app_env.menu_id = menu_gap_bond;
也就是说选中7项以后,当前menu id 变了,跟踪之发现其运行了  app_menu_show_gap_dev_record();函数。根本不是配对啊!!
而一些关于配对的API, API解析文件说得也是解释得模棱两可。这模块的资源和实用程度远远不及TI 的CC2540系列。
现在对配对流程一直理不清,希望有做到的前辈指点下,万分感激。

作者: wyq165    时间: 2015-5-19 21:57
发现选 7 最终调用了
void app_gap_bond_req(struct bd_addr *addr, uint8_t oob, uint8_t auth, uint8_t iocap)
函数。 函数说明是 This function is used to initiate bonding procedure. 初始化绑定
此函数由APP_TASK 给GAP_TASK 发送了 GAP_BOND_REQ 消息,而发送消息给内核,应该会有handle有响应。但是没有找到。
作者: xiaolong_ba    时间: 2015-5-20 09:38
我也遇到同样的困惑,就是给的文档只给例子,比如QPPC的整个流程是怎么样的,没有一个流程图,先初始化什么,要先发什么消息,响应什么消息等等,单步调试根本就看不到整个流程是怎样的,有的地方一设断点连上没有多久就自动掉线了,要是有个流程图再加这个例子,对代码很好理解啊,先初始化什么的一清二楚;进行二次开发从而也会简单很多,希望官方能给相应地资料:lol
作者: lovefirstly    时间: 2015-5-27 09:39
就是啊,资料不是很完善。希望恩智浦收购后能强化下文档这方面,方便开发者开发。相信大厂在这方面会做的很好。
作者: FireBLE_blue    时间: 2015-5-27 10:28
wyq165 发表于 2015-5-19 21:57
发现选 7 最终调用了
void app_gap_bond_req(struct bd_addr *addr, uint8_t oob, uint8_t auth, uint8_t  ...

QN902x 属于半开源,协议栈的内容不可见,只能看手册摸索,ble 配对和传统蓝牙有点区别,配对也不一定都是需要输出配对码的。
作者: wyq165    时间: 2015-5-28 08:46
FireBLE_blue 发表于 2015-5-27 10:28
QN902x 属于半开源,协议栈的内容不可见,只能看手册摸索,ble 配对和传统蓝牙有点区别,配对也不一定都 ...

这块了解的差不多了,等有空时整理下发上来,大家交流交流。
作者: FireBLE_blue    时间: 2015-5-28 09:20
wyq165 发表于 2015-5-28 08:46
这块了解的差不多了,等有空时整理下发上来,大家交流交流。

好,期待你的分享。。。
作者: q123774812q    时间: 2015-8-2 17:11
xiaolong_ba 发表于 2015-5-20 09:38
我也遇到同样的困惑,就是给的文档只给例子,比如QPPC的整个流程是怎么样的,没有一个流程图,先初始化什么 ...

等待好人的流程图:lol




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1