我正在使用北欧半导体公司的Android来更新蓝牙低能设备的固件。我已经在github上寻求帮助了,但我认为更多的人可以在这里看到这个问题(要么帮助,要么最终找到答案)。
下面是我在github问题上的描述:
在过去的两天里,我一直在为这件事苦苦挣扎,却找不到任何线索。我希望这里有人能给我个提示,我会很感激的。
我有四个装置:
当我连接到蓝牙设备进行更新后,我会发送一些特定的命令,使之进入DFU模式,然后几秒钟后它就断开连接。一切都好到这一步。
然后,我使用启动fw更新过程。它在Android5.1三星设备上运行得很好,但未能将状态133与其他3款设备连接起来。知道发生了什么事吗?
非常感谢你的帮助。
当我在nRF连接中手动执行它时,它会工作。它甚至可以工作,当我使用我的应用程序启用DFU模式,然后nRF连接连接到设备后,立即扫描,以找到设备。
我在应用程序中这样做的方式是:在启用DFU模式后,我扫描10s,以找到新的mac地址,并确保一次只有一个设备处于DFU模式。然后,我使用这个库来进行实际的固件更新。
抛出status=133错误大约需要30次,所以看起来是因为超时。
07-26 10:49:47.525 ... D/BluetoothGatt: connect() - device: ... , auto: false
07-26 10:50:17.543 ... D/BluetoothGatt: onClientConnectionState() - status=133 clientIf=5...一些更多的日志:
07-26 10:49:46.590 ... I/DfuBaseService: DFU service created. Version: 1.6.1
07-26 10:49:47.524 ... I/DfuBaseService: Connecting to the device...
07-26 10:50:17.543 ... E/DfuBaseService: Connection state change error: 133 newState: 0
07-26 10:50:17.544 ... E/DfuBaseService: Device not reachable. Check if the device with address [MAC] is in range, is advertising and is connectable
07-26 10:50:17.549 ... I/DfuBaseService: Refreshing result: true
07-26 10:50:17.549 ... I/DfuBaseService: Cleaning up...
07-26 10:50:18.186 ... I/DfuBaseService: DFU service destroyedhttps://stackoverflow.com/questions/51703954
复制相似问题