微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > BLE 配对绑定 请教

BLE 配对绑定 请教

时间:10-02 整理:3721RD 点击:

Central  

SimpleBLECentral_Init设置为(默认密码333333 等待请求模式 没有输入密码能力 )

passkey = 333333

pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ

ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY

mitm = TRUE

bonding = TRUE

Peripheral

SimpleBLEPeripheral_Init 设置为(默认密码123456 发起请求模式 能显示密码 )

passkey = 123456

pairMode = GAPBOND_PAIRING_MODE_INITIATE

ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY

mitm = TRUE

bonding = TRUE

当开始配对时,直接配对成功。

按照我的理解,虽然主机告诉从机没有输入能力,那也不能没能力就直接配对成功吧,

这样的话,随便一个男的只要哭着说自己没房子,那女方就直接嫁了。这还了得?

总得有个默认密码才对,可是上面的默认密码随便改 都不起作用,总是能配对成功。

可能是哪里的问题。

新发现:我发现断点无法触发到下面的事件(密码被需要事件)

uint8 GAPBondMgr_ProcessGAPMsg( gapEventHdr_t *pMsg )
{
switch ( pMsg->opcode )
{
case GAP_PASSKEY_NEEDED_EVENT:
{
gapPasskeyNeededEvent_t *pPkt = (gapPasskeyNeededEvent_t *)pMsg;

bevis,

很凑巧的,根据你的配置,这就是你说的 “随便一个男的只要哭着说自己没房子,那女方就直接嫁了” 这种模式,就是这么了得,你能怎么办?

你两个设备都是“ GAPBOND_IO_CAP_DISPLAY_ONLY”, 都没有输入能力,连基本的“接受”和“拒绝”按钮都没有的设备,怎么来确认对方计算出来的密码是正确的呢?你怎么让女方去拒绝呢?

这种情况下,你即使MITM设置为TRUE,也是没用的,你人在中间不能操作啊,MITM不成立,蓝牙的SMP规定,这种模式下,女方不能拒绝,只能默认接受,就这样吧。

忘了说,这种情况下面还是Just work 模式,你再怎么设密码也没用,用的是just work的六个0。所以你会看到直接配对成功。

非常感谢 

既然这样的话

我现在想法是将主机端改为GAPBOND_IO_CAP_KEYBOARD_DISPLAY(有房有车),其他设置不变。

实际上我主机上只有4个按键 我将其复用,定义为1234,从机端我让其显示固定密码12341234,我试图用这四个按键来实现输入密码。

但是我发现 从机显示密码后,立刻进入配对失败,按理来说应该给与一段时间等待输入密码的,

请教我这个方法是否可行,如果可行,为什么从机没有等待输入密码时间。

bevis,

passkey 只能是6位数,范围是000000 到 999999。你输入12341234显然已经超过了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top