物联网技术
直播中

哥儿

8年用户 907经验值
擅长:嵌入式技术
私信 关注
[问答]

CC254x BLE 主从连接过程是怎样的?

最近,CC254x 在学校BLE 工程文件 SimpleBLEPeripheral.ewp
有几个问题:
1)连接
主从机连接过程
一个典型的低功耗蓝牙系统同时包含外设和核心(主机),两者的连接过程如下:
外设角色向外发送自己的信息(设备地址、名字等),主机收到外设广播信息后,发送扫描请求(scanrequest)给外设,外设响应主机的请求,连接建立完成。
问题:
连接完成的标志是什么?工程中的代码在哪里体现?外设相应主机的请求,相应的代码在哪里?整个的连接过程是怎样的,比较模糊,代码找了半天没看到?

2)加密处理
利用配对实现,利用密匙来加密授权连接。典型的过程是:外设向主机请求口令一个(passkey)以便进行配对,待主机发送了正确的口令之后,连接通信通过主从机互换密码来校验。
问题:关于 外设向主机请求口令一个(passkey)以便进行配对,相应的代码段在哪里体现? 谢谢!

回帖(1)

南风一号

2016-3-14 16:05:21
1: 搜索GAPROLE_CONNECTED事件。

peripheralStateNotificationCB()函数处理各种状态变化。

最开始是simpleBLEPeripheral_HandleKeys() 处理按键操作启动广告。

2:配对操作是由如下回调函数来处理的,由于默认都是NULL,所以请求的密码是000000

static gapBondCBs_t simpleBLEPeripheral_BondMgrCBs =
{
  NULL,                     // Passcode callback (not used by application)
  NULL                      // Pairing / Bonding state Callback (not used by application)
};

配对鉴权操作是在Gapbondmgr.c中处理的,可以仔细看看

GAPBondMgr_ProcessGAPMsg()的处理
举报

更多回帖

发帖
×
20
完善资料,
赚取积分