Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7485

CC2541如何输入密码配对后方可通信

$
0
0

我们目前在做的是一个方案是没有按键或者屏幕等输入设备的,要求APP输入密码与BLE从机配对后方可读取BLE设备的数据。

我目前是这么设置的:

    uint32 passkey = 666555; // passkey "666555"
    uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
    uint8 mitm = TRUE;
    uint8 ioCap = GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT;
    uint8 bonding = TRUE;
    GAPBondMgr_SetParameter( GAPBOND_DEFAULT_PASSCODE, sizeof ( uint32 ), &passkey );
    GAPBondMgr_SetParameter( GAPBOND_PAIRING_MODE, sizeof ( uint8 ), &pairMode );
    GAPBondMgr_SetParameter( GAPBOND_MITM_PROTECTION, sizeof ( uint8 ), &mitm );
    GAPBondMgr_SetParameter( GAPBOND_IO_CAPABILITIES, sizeof ( uint8 ), &ioCap );
    GAPBondMgr_SetParameter( GAPBOND_BONDING_ENABLED, sizeof ( uint8 ), &bonding );

用LightBlue进行测试发现,LightBlue不会提示输入密码直接就能连接并获取相关数据,是不是GATT里面的特征值还要做其他配置?

而且我用Android的系统蓝牙可以提示输入密码配对,但是输入"666555",发现密码错误,无法配对,我通过串口将passkey的值打出来发现也不是666555, 

关于这个密码我有点疑惑,如果passkey = 0 代表密码为"000000",那passkey =123 是不是代表密码为"123000"??

还望能为我解答


Viewing all articles
Browse latest Browse all 7485

Trending Articles