如何解决从 Xamarin 形式的 BLE 中的广告商读取数据的正确方法是什么?
我正在尝试在 BLE 中读取大量数据。我正在从广告商处获取数据块。所以我通过通知获取数据。但是我收到的数据不正确,有时会重复或不完整。这是我在通知中获取数据的代码。
characteristicRead.ValueUpdated += (o,e) =>
{
Device.BeginInvokeOnMainThread(() =>
{
//var readvalue2 = characteristics.Value;
var bytes = e.Characteristic.Value;
//var readvalue = await characteristics.ReadAsync();
BLEresultnew = System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine(BLEresultnew);
concat += BLEresultnew;
});
};
数据应该如何来自广告商
start{"command":"UnitConfig","enhancements":[{"name":"fruit","status":"Available"}],"flavors":[{"name":"Black Cherry","vegetable":[],"water":[{"name":"Still","status":"Available"}]}end
但有时数据会像
一样重复start{"command":"UnitConfig" "UnitConfig","enhancements":[{"name":"fruit\"fruit","status":"Available""Available"}],"flavors": [{"name":"黑色 Cherry","status":"Available"}]}end
有时甚至连开头的数据都丢失了,比如
Config","status":"Available"}]}end
这是我在 BLE 中读取数据 错误的方式吗?如何解决 BLE 中的这些类型的读取问题?有什么建议吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。