TI中文支持网
TI专业的中文技术问题搜集分享网站

BLE CC254X 主从机连接过程疑惑

最近,在学校BLE 工程文件 SimpleBLEPeripheral.ewp

有几个问题:

1)连接

主从机连接过程

一个典型的低功耗蓝牙系统同时包含外设和核心(主机),两者的连接过程如下:

外设角色向外发送自己的信息(设备地址、名字等),主机收到外设广播信息后,发送扫描请求(scanrequest)给外设,外设响应主机的请求,连接建立完成。

问题:

连接完成的标志是什么?工程中的代码在哪里体现?外设相应主机的请求,相应的代码在哪里?整个的连接过程是怎样的,比较模糊,代码找了半天没看到?

2)加密处理

利用配对实现,利用密匙来加密授权连接。典型的过程是:外设向主机请求口令一个(passkey)以便进行配对,待主机发送了正确的口令之后,连接通信通过主从机互换密码来校验。

问题:关于 外设向主机请求口令一个(passkey)以便进行配对,相应的代码段在哪里体现? 谢谢!

Tan Yiyun:

回复 Yue TANG:

谢谢 TY!

Yue TANG:

回复 Tan Yiyun:

请确认。新的问题可以重新发布

Tan Yiyun:

回复 Yue TANG:

dear TY,

你好!关于添加密码

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

有没有参考代码提供?还有就是有哪些要注意的地方?

谢谢@

Yue TANG:

回复 Tan Yiyun:

可以借鉴simplecentral工程 的例子,有passcode callback的处理。

Yue TANG:

回复 Tan Yiyun:

static void simpleBLECentralPasscodeCB( uint8 *deviceAddr, uint16 connectionHandle,                                        uint8 uiInputs, uint8 uiOutputs ){#if (HAL_LCD == TRUE)  uint32  passcode;  uint8   str[7];  // Create random passcode  LL_Rand( ((uint8 *) &passcode), sizeof( uint32 ));  passcode %= 1000000;    // Display passcode to user  if ( uiOutputs != 0 )  {    LCD_WRITE_STRING( "Passcode:",  HAL_LCD_LINE_1 );    LCD_WRITE_STRING( (char *) _ltoa(passcode, str, 10),  HAL_LCD_LINE_2 );  }    // Send passcode response  GAPBondMgr_PasscodeRsp( connectionHandle, SUCCESS, passcode );#endif}

Tan Yiyun:

回复 Yue TANG:

TY,

你好!

simpleBLECentralPasscodeCB( uint8 *deviceAddr, uint16 connectionHandle,                                        uint8 uiInputs, uint8 uiOutputs );

这个函数是 Central 工程中的吧!BLE作为Central时,发送用函数!

而做为Peripheral的BLE应该是,申请Passcode才对吧?这个函数应该在Peripheral时不能用吧?

我不知道,我的理解对不对?请赐教!

再次谢谢TY的热心帮助!

Tan Yiyun:

回复 Yue TANG:

关于Passcode callback ,simplecentral工程 的例子好像没有提到?

Yue TANG:

回复 Tan Yiyun:

输入输出能力描述非常重要,哪一方显示Passkey,哪一方输入Passkey,由这个选项决定。举几个具体的例子(要求鉴权的情况下)。(1)如果A具备输入能力,B具备输出能力,则B显示Passkey,A输入Passkey。反之亦然。(2)如果A不具备输入输出能力,B也不具备输入输出能力,即使要求鉴权,也将采用Justwork的方式完成配对。3)如果A,B都具备输入输出能力,发起配对请求的一方显示Passkey,另一方输入Passkey。(4)如果双方不满足一端支持输入,一端支持输出,则采用Justwork的方式进行配对。

Tan Yiyun:

回复 Yue TANG:

TY,

如果是连接的时候,想加密码呢? 比如说,central 申请连接外设A,外设A能否要求她发送连接密码,如果连接密码错误,不能连接?

如果可以,那么外设A的代码应该怎么修改呢?

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » BLE CC254X 主从机连接过程疑惑
分享到: 更多 (0)