当前位置: 首页 > 知识库问答 >
问题:

BLE低功耗蓝牙设备中的身份验证问题

慕永年
2023-03-14

我们正在制造具有BLE接口的物联网设备,该设备使用托管芯片CC2541(http://www.ti.com/product/CC2541)的HM-11(http://www.seeedstudio.com/wiki/Bluetooth_V4.0_HM-11_BLE_Module)分线板。

身份验证方法设置为:使用PIN进行身份验证

数据表中显示可用认证模式的剪辑如下:

<代码>63。查询/设置模块键合模式发送接收参数类型?OK Get:[para1]None AT TYPE[para1]OK Set:[para1]para1:0~2 0:不需要PIN码1:Auth不需要PIN码2:Auth带PIN码3:Auth和bond默认值:0

对于低于Android5.0版的设备来说,效果很好。

然而

>

  • 对于Android版本5.0的设备,配对对话框出现,没有插入pin或pin输入字段,当点击配对按钮时,配对失败

    由于PIN或密钥不正确,无法与MyApp配对。

    对于Android版本5.1的设备,它甚至不显示配对对话框,也无法配对。

    注意:尝试重新启动设备,忘记设备,清除设备中的绑定信息。

    寻找指导、建议、帮助、评论和代码。

  • 共有2个答案

    胥承
    2023-03-14

    Ti cc254x堆栈存在一个已知的前向兼容性错误,使其无法与支持BLE 4.2安全功能(链接密钥交换)的设备配对。这个功能去年秋天被集成到Bluedroid中,将成为Android 6的主线,可能已经被一些供应商合并。Ti cc254x Stack 1.4.1版修复了该漏洞,但您的模块固件可能尚未合并修复。

    储阳曦
    2023-03-14

    这是一个已知的问题——相当多的用户报告了无法在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

     类似资料:
    • ap.connectBLEDevice(OPTION | deviceId, CALLBACK) 连接低功耗蓝牙设备。可直接传入一个字符串作为 OPTION.deviceId。 OPTION 参数说明 名称 类型 必填 描述 deviceId String 是 蓝牙设备 id 错误码说明 error 描述 12 链接失败 代码示例 <script src="https://gw.alipayobj

    • jd.readBLECharacteristicValue(Object object) 读取低功耗蓝牙设备的特征值的二进制数据值。注意:必须设备的特征值支持 read 才可以成功调用。 参数名 类型 默认值 必填 说明 deviceId string 是 蓝牙设备 id serviceId string 是 蓝牙特征值对应服务的 uuid characteristicId string 是 蓝牙

    • ap.disconnectBLEDevice(OPTION | deviceId, CALLBACK) 断开与低功耗蓝牙设备的连接。可直接传入一个字符串作为 OPTION.deviceId。 OPTION 参数说明 名称 类型 必填 描述 deviceId String 是 蓝牙设备 id 错误码说明 error 描述 12 断开失败 代码示例 <script src="https://gw.al

    • 我的应用程序应连接到蓝牙LE设备。通常使用mBluetoothAdapter执行设备扫描。Stratescan(mLeScanCallback) 。回调为您提供有关可用设备的信息。 如果要连接到专用设备,请执行以下操作 然后 在我看来,连接到BLE设备的唯一需要是知道BLE地址,然后通过以上两个步骤连接到它。因此,如果我已经知道一个BLE地址(例如,它写在BLE设备的标签上),我就不需要执行BLE

    • 是否可以自动连接到蓝牙低能耗(BLE)设备? Android文档表明[](https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#connectGatt(android.content.Context,boolean,android.bluetooth.BluetoothGattCallback)

    • 我正在尝试制作一个应用程序,它使用Android的新蓝牙低能耗API。为此,我从API Level18附带的BLE示例开始。 当我读到Android不能充当外围设备时,我将Android手机置于中央模式,扫描周围的BLE设备。为此,我用一个模拟心脏传感器的北欧平台做了一些测试。一切都以完美的方式运作! 多谢了。 编辑:经过一些艰苦的测试,我在AOSP页面上提出了一个问题。这里可以查