Android 10:RN4871 与应用程序作为外围设备的 BLE 配对问题

问题描述

我有一个 Android 应用充当外围服务器,通过通知向中央客户端(RN4871 模块)发送加速度计数据。

如果我使用手机的随机 MAC 地址从 RN4871 手动启动连接,一切正常,但我想将两者配对以简化连接,以便我可以通过软件而不是手动进行连接。

我通过电话从 RN4871 发送绑定请求,电话允许我接受它。 %INDI,0003,0100FFFF%%INDI,0100FFFF%%sECURED%%BONDED%

似乎发送了一些握手消息:%CONN_ParaM,0006,0000,01F4%%CONN_ParaM,0016,0200%

我认为这些可能将连接参数更新为以下内容

2021-03-08 10:01:26.932 16804-17751/ece558.bthornhill.edu.jumprope D/BluetoothGattServer: onConnectionUpdated() - Device=D8:80:39:F8:B2:77 interval=6 latency=0 timeout=500 status=0
2021-03-08 10:01:27.599 16804-17751/ece558.bthornhill.edu.jumprope D/BluetoothGattServer: onConnectionUpdated() - Device=D8:80:39:F8:B2:77 interval=22 latency=0 timeout=512 status=0

但随后应用程序似乎冻结了。我可以通过退出应用程序并在RN4871上运行connection kill命令来断开双方的连接,但是当我再次将应用程序设置为广告模式并尝试连接到新列出的绑定设备时,连接永远不会发生并且它只是循环。

只有当我取消设备与手机的配对,将手机作为绑定项目从 RN4871 中取出,然后重新启动 RN4871 和应用程序时,我才能重新开始工作。

我似乎无法确定确切的问题是什么。任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)