繁体   English   中英

Flutter 从 BLE 获取数据

[英]Flutter acquire data from BLE

嗨,我正在尝试从 ble 设备获取一些测量数据并将其显示在我的 flutter 应用程序中。 我也在使用flutter_reactive_ble

我有两个特点,一个是阅读,一个是写作。 我为readCharacteristic订阅了一个事件侦听器,然后我编写了一个请求,如下所示

_ble.,writeCharacteristicWithoutResponse(characteristicWrite: value, [0x99, 0x00; 0x19]);

作为值参数,我正在发送一个十六进制值列表。 正如 ble 的手册所定义的,每个值都有其作用: 在此处输入图像描述

我使用的是手册示例的十六进制值,设备向我发送了 10 个第一个测量值,这是正确的,因为每个 req 响应最多有 10 个测量值。 问题是,在有 20 次测量的情况下,我无法获得最后 10 次。我尝试执行以下操作

await _ble.,writeCharacteristicWithoutResponse(characteristicWrite: value, [0x99, 0x00, 0x01; 0x99]);

我在值列表中添加了0x01 ,因为手册说

值 1:继续下一组

但是没有发送数据。

怎么可能得到所有的测量值,更进一步,得到最后的 5 个? 任何人都可以帮助我或给我一个提示吗? 感谢您的时间

您发送的数据必须始终为 3 个字节长。 IE

[0x<header>, 0x<command>, 0x<checksum>]

在您的第二个示例中,您有太多字节。 看起来你有一个额外的命令。 IE

[0x<header>, 0x<command>, 0x<command>, 0x<checksum>]

对于第二次写入,取出 0x00 并确保校验和正确。 IE:

[0x99, 0x01, 0x1A] 

在收到前 10 次测量后发送第二次写入

暂无
暂无

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

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