检测设备接can盒,can盒通过usb接电脑,电脑上有can盒工具软件。
Hbuilderx中运行到手机,app启动后通过蓝牙连接检测设备,此时电脑上can盒工具软件发送足够长度的数据,Hbuilderx控制台中打印日志,看到数据溢出现象
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 15.3.2
HBuilderX类型: 正式
HBuilderX版本号: 4.57
手机系统: Android
手机系统版本号: Android 14
手机厂商: 摩托罗拉
手机机型: X40
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
检测设备接can盒,can盒通过usb接电脑,电脑上有can盒工具软件。
Hbuilderx中运行到手机,app启动后通过蓝牙连接检测设备,此时电脑上can盒工具软件发送足够长度的数据,Hbuilderx控制台中打印日志,看到数据溢出现象
控制台中打印的日志,应该接收到4-5个数据包后停止数据传输
实际一直在循环接收数据包
uniapp开发,打包到ios、安卓平台。功能场景是手机app通过蓝牙连接检测设备,获取车辆检测数据。
检测设备中的蓝牙芯片是Microchip RN4871-I/RM140。
实际测试中,车辆检测数据视情况大约在600-800字节,按蓝牙芯片的MTU158,大概按4-5个数据包传输。
在ios app中,没有问题,查看报文,4-5个数据包后接收工作即完成。
在安卓 app中,发现当数据量700(预估)以下时正常,当大于700,发生数据溢出。现象是报文中看到一直有数据包重复的在被接收到。
经过排查,检测设备端数据发送正常。又使用feasyblue蓝牙工具app进行模拟,该app在安卓端可以正常收到数据,因此判断是uniapp的蓝牙数据处理机制上可能存在问题。
多个不同型号的安卓手机和平板均出现同一现象
1 个回复
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
如果默认提供的 api 不满足需求,可以在插件市场搜索看是否有相关插件。也可以参考 uts 插件开发开发对应的 api,参考文档 https://doc.dcloud.net.cn/uni-app-x/plugin/uts-for-android.html