[BLE(低功耗蓝牙)] 大家有没有用过BLUENRG-1的配对功能

tang187   2018-5-17 08:59 楼主
如题,不知大家有没有用过BLUENRG-1的配对功能,我看API的代码,自己写了一个配对的代码,但是发现有一些问题:1.蓝牙连接上之后,手机端进行配对操作,如果手机端输入错误的配对码,第一次会断开连接,如果再次连接,可以连接上,并且可以传输数据。
2.蓝牙连接上之后,手机端进行配对操作,如果手机端忽略配对操作,要等待好久才会有断开连接事件,并且好久之后才会再次申请配对。

测试手机为:苹果6、7、三星note8、华为手机
测试软件:nordic的BLE软件、Scanner

附上测试代码:

  1. //移植底包为chat
  2. uint8_t CHAT_DeviceInit(void)
  3. {
  4.         //gatt等初始化。。。。。
  5.         ret = aci_gap_set_io_capability(IO_CAP_DISPLAY_ONLY);
  6.   if(ret!=BLE_STATUS_SUCCESS)
  7.   {  
  8.     return BLE_STATUS_FAILED;
  9.   }
  10.   ret = aci_gap_set_authentication_requirement(MITM_PROTECTION_REQUIRED,  
  11.                                                OOB_AUTH_DATA_ABSENT,            
  12.                                                NULL,
  13.                                                7,
  14.                                                16,
  15.                                                USE_FIXED_PIN_FOR_PAIRING,
  16.                                                123456,
  17.                                                BONDING);
  18.   if(ret!=BLE_STATUS_SUCCESS)
  19.   {  
  20.     return BLE_STATUS_FAILED;
  21.   }
  22.         ///添加服务。。。
  23. }
  24. while(1)
  25. {
  26.         if (已经连接)
  27.         {
  28.             if( Send_bond_request == 0)
  29.     {                 
  30.       uint8_t ret = aci_gap_slave_security_req( connection_handle,1,1);
  31.       if(ret == BLE_STATUS_SUCCESS)  
  32.       {
  33.         Send_bond_request = 1;                        
  34.       }
  35.     }   
  36.   }
  37. }
  38. void hci_disconnection_complete_event(uint8_t Status,
  39.                                       uint16_t Connection_Handle,
  40.                                       uint8_t Reason)
  41. {
  42.         Send_bond_request==0;       
  43. }

  44. //配对认证函数
  45. void aci_gap_bond_lost_event(void)
  46. {
  47.   aci_gap_allow_rebond(connection_handle);
  48. }


回复评论 (13)

你看过BLE_Security里的例程没?
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2018-5-17 13:13
引用: littleshrimp 发表于 2018-5-17 13:13
你看过BLE_Security里的例程没?

有这个历程吗?安装包里面没有呀
点赞  2018-5-17 14:06
引用: tang187 发表于 2018-5-17 14:06
有这个历程吗?安装包里面没有呀

C:\Program Files (x86)\STMicroelectronics\BlueNRG-1_2 DK 2.5.0\Project\BLE_Examples\BLE_Security
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2018-5-17 14:29
引用: littleshrimp 发表于 2018-5-17 14:29
C:\Program Files (x86)\STMicroelectronics\BlueNRG-1_2 DK 2.5.0\Project\BLE_Examples\BLE_Security

謝謝,我還在用2.3.。謝謝,我試試
点赞  2018-5-18 11:53
引用: littleshrimp 发表于 2018-5-17 13:13
你看过BLE_Security里的例程没?

虾哥,我测试了一下security例程,也会出现手机连一次之后,断开再连就连接不上的情况,另外手机如果忽略连接信息,之后也连接不上
点赞  2018-11-26 20:38
引用: tang187 发表于 2018-5-18 11:53
謝謝,我還在用2.3.。謝謝,我試試

楼主,你后来OK了没?
点赞  2018-11-26 20:46
引用: 逆风寒 发表于 2018-11-26 20:46
楼主,你后来OK了没?

需要更新版本,用最新的SDK,老版本的不行
点赞  2019-1-3 11:20
楼主,问题解决了没?关于BlueNRG配对,后面我会写一个专题
点赞  2019-1-18 23:24
引用: lucienkuang 发表于 2019-1-18 23:24
楼主,问题解决了没?关于BlueNRG配对,后面我会写一个专题

解决了,谢谢,更新最新固件之后,解决
点赞  2019-1-24 15:45
引用: lucienkuang 发表于 2019-1-18 23:24 楼主,问题解决了没?关于BlueNRG配对,后面我会写一个专题

啥时候出这个专题啊?

点赞  2020-1-16 11:29

用ST的例程BLE_Security测试,为什么APP跳不出配对的界面,过一段时间后就提示无法配对。

点赞  2020-1-16 16:47
引用: tang187 发表于 2019-1-24 15:45 解决了,谢谢,更新最新固件之后,解决

能否分享一下配对的过程?

点赞  2020-1-16 16:50

上传了一个附件,关于配对

点赞  2020-7-27 15:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复