【发布时间】:2021-04-02 19:20:21
【问题描述】:
我无法从我的 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));
}
有没有人遇到过接收不完整数据的类似问题?谁能帮帮我?
谢谢!!
【问题讨论】:
-
是的。使用它时,它具有相同的响应。
-
您可以尝试使用 nRF Connect 应用程序并手动执行请求吗?然后你可以在协议层面首先查看数据是否正确。
-
在发送“AT Z”后,我将收到命令作为响应。我已经尝试过使用多个设备,但响应是相同的。我用过 nRF Connect 应用和 BLE 实验室应用。反应是一样的。通过 iOS 本机代码(即 Swift)发送命令时,我得到了所需的响应。
标签: flutter dart bluetooth-lowenergy flutter-dependencies obd-ii