我有蓝牙服务和两个频道要写
bluetoothGattService = gatt?.getService(UUID.fromString(ble_gatt_service_uuid))
mTxCharacteristic1 = bluetoothGattService.getCharacteristic(UUID.fromString(txCharacteristics1))
mTxCharacteristic2 = bluetoothGattService.getCharacteristic(UUID.fromString(txCharacteristics2))
现在我有了onCharacteristicsRead()
、onCharacteristicsWrite()
和onCharacteristicsChange()
我连接了那个设备
当我写mTxCharacteristic1
特性时,ble工作良好
但是每当我写mTxCharacteristic2
特性曲线时,ble得到DISCONNECTED
// function1
mTxCharacteristic1.writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
mTxCharacteristic1.value = chunk
gatt.writeCharacteristic(mTxCharacteristic1)
//function 2
mTxCharacteristic2.writeType = BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT
mTxCharacteristic2.value = chunk
gatt.writeCharacteristic(mTxCharacteristic2)
如何解决这一问题?
每当我使用第二特性发送数据时,它就会断开连接,只有当我重新启动我的安卓设备时,我才能再次连接ble。
我试过:
一个二个一个一个
nrf connect app showing (TX(1) and unknown_characteristic(2))
仍然得到与状态133相同的与GATT服务器断开连接的问题。
1条答案
按热度按时间pod7payv1#
在执行此断开连接时,仅使用简单的
writeCharacteristics
代替reliableWrite
,未解决修复问题gatt.writeCharacteristic(characteristic1)
gatt.writeCharacteristic(characteristic2)
我有8字节的数据包数据,我发送了空值,这是我在调试时发现的
预期为19字节数组,而我只发送了11个数据包(8个丢失)
由于这个原因,它给我错误,并与状态代码133断开连接