BLE 蓝牙低功耗设备中的身份验证问题
Posted
技术标签:
【中文标题】BLE 蓝牙低功耗设备中的身份验证问题【英文标题】:Authentication issue in BLE Bluetooth Low Energy device 【发布时间】:2016-03-16 08:34:38 【问题描述】:我们正在制作一个带有 BLE 接口的 IOT 设备,该设备使用托管芯片 CC2541 (http://www.ti.com/product/CC2541) 的 HM-11 (http://www.seeedstudio.com/wiki/Bluetooth_V4.0_HM-11_BLE_Module) 分线板。
认证方式设置为2:Auth with PIN
数据表中显示可用身份验证模式的剪辑如下:
63. Query/Set Module Bond Mode
Send Receive Parameter
AT+TYPE? OK+Get:[para1] None
AT+TYPE[para1] OK+Set:[para1] Para1: 0~2
0:Not need PIN Code
1:Auth not need PIN
2:Auth with PIN
3:Auth and bond
Default: 0
对于低于 android 5.0 版本的设备,它运行良好。
然而
对于 Android 5.0 版的设备,配对对话框出现时没有 diaplyed-pin 或 pin-entering-field,当点击 pair
按钮时,它无法配对 - 抱怨
由于 PIN 或密码不正确,无法与 MyApp 配对。
对于 Android 5.1 版的设备,它甚至不显示配对对话框并且无法配对。
注意事项:尝试重启设备、忘记设备、清除设备中的绑定信息。
寻找指导、建议、帮助、cmets、代码。
【问题讨论】:
请将您使用的安卓代码发布到Pair。 【参考方案1】:这是known issue - 许多用户报告了无法在 Android 5.0 中输入密码的问题。它似乎并非在所有设备上都会发生。
其他问题示例:
https://android.stackexchange.com/questions/88011/android-5-bluetooth-pairing-dialog-has-no-passkey-form
https://en.discussions.tomtom.com/mysports-connect-apps-389/pairing-issue-on-nexus-5-android-5-948640
【讨论】:
【参考方案2】:Ti cc254x 堆栈存在一个已知的前向兼容性错误,使其无法与支持 BLE 4.2 安全功能(LinkKey 交换)的设备配对。此功能已于去年秋天集成到 Bluedroid 中,将成为 Android 6 的主线,并且可能已经被一些供应商合并。该错误已在 Ti cc254x Stack release 1.4.1 中修复,但您的模块固件可能尚未合并修复。
【讨论】:
以上是关于BLE 蓝牙低功耗设备中的身份验证问题的主要内容,如果未能解决你的问题,请参考以下文章