微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Xamarin 形式的 BLE 中的广告商读取数据的正确方法是什么?

如何解决从 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 举报,一经查实,本站将立刻删除。