从 BLE 设备接收到的响应不完整
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”是正确的。这是我收到正确响应的唯一命令。所有其他命令都返回命令本身,这是部分正确的,因为大多数时候实际响应与命令名称一起收到。
response的读取和解码的实现方式如下
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.
我无法从我的 BLE 设备收到完整的响应,我应该收到使用 flutter_blue 写入特性的命令。我收到的响应是我发送的写命令本身。收到的响应正在正确解码。
我尝试编写的命令是 OBDII 协议,它们是
AT Z
AT H0
AT H0
AT L0
AT S0
01 0C
令人惊讶的是,命令“AT Z”给出的响应“ELM 327v1.5”是正确的。这是我收到正确响应的唯一命令。所有其他命令都返回命令本身,这是部分正确的,因为大多数时候实际响应与命令名称一起收到。
response的读取和解码的实现方式如下
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.