繁体   English   中英

从 BLE 设备 flutter 收到不完整的响应

[英]Incomplete responses being received from BLE device flutter

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

我正在尝试编写的命令是 OBDII 协议,它们是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM