flutter - 从 BLE 设备收到的不完整响应出现抖动

标签 flutter dart bluetooth-lowenergy flutter-dependencies obd-ii

我无法从我的 BLE 设备收到完整的响应,而我应该收到使用 flutter_blue 写入特征的命令的完整响应。我收到的响应是我发送的写入命令本身。收到的响应正在正确解码。

我试图编写的命令是 OBDII 协议(protocol)

AT Z
AT H0
AT H0
AT L0
AT S0
01 0C

令人惊讶的是,命令“AT Z”给出了正确的响应“ELM 327v1.5”。这是我收到正确响应的唯一命令。所有其他命令都返回命令本身,这是部分正确的,因为大多数时候实际响应是与命令名称一起接收的。

响应读取和解码是通过以下方式实现的

await read_CX.setNotifyValue(true);

read_CX.value.listen((response) {
  print(utf8.decode(response));
}

有人遇到过类似的接收不完整数据的问题吗?谁能帮帮我吗?

谢谢!!

最佳答案

首先,将 ATE0\r 添加到您的初始化序列中,这将阻止适配器回显您发送的内容。

然后,熟悉一下ELM327提供的AT命令,例如:通过阅读https://www.elmelectronics.com/wp-content/uploads/2016/07/ELM327DS.pdf .

关于flutter - 从 BLE 设备收到的不完整响应出现抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65436630/

相关文章:

dart 函数用于查看库函数和类

android - 任务 ':app:generateDebugBuildConfig' 执行失败。在 flutter 中

dart - 如何在事件之上创建一个透明的全屏对话框 - Flutter

ios - 核心蓝牙 peripheral.name 为 nil

firebase - 如何使用 Firebase 身份验证在 Flutter 中注销用户

flutter - 没有用于TabBarView抖动的TabController

Flutter 和自动版本控制

flutter - 我需要在 flutter 中更改底部菜单的颜色

ios - CLLocationManager didEnterRegion : with iBeacon while app is suspended

python - 使用 bluepy 委托(delegate)启用指示