gpt4 book ai didi

c# - Android(Xamarin) 如何通过蓝牙从手环获取数据(脉冲)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:27 27 4
gpt4 key购买 nike

我的目标是从健身手环获取数据(脉搏)Torntisc T1使用我的应用程序并独立处理来自手环的数据。

为了实现,我使用了 Xamarin 并找到了一个 Bluetooth LE plugin for Xamarin插件连接到设备并从中接收数据。但是,获得的所有特征都称为“未知特征”,并且值为 0 字节。虽然它有5个服务,每个服务有3个特征。 1 服务中唯一的特征名称是其他:“设备名称”、“外观”、“外设首选连接参数”。然而,值(value)到处都是0字节。如何获得特征?如何获得脉搏?

手镯上有一个应用程序 H Band 2.0,它显示了相当多的手镯设置,问题是这些都在哪里?

native 应用 H Band 2.0 .反编译尝试 here .我在以下目录中找到了负责连接的类:sources\no\nordicsemi\android\dfu。我看到通过 BluetoothGatt 做了什么。不幸的是,我不是 java 和 android 方面的专家,不熟悉这个库。我没有找到任何方法或任何与“脉冲”相关的东西,而是大量神奇的解析特性:parse(characteristic)

foreach (var TestService in Services)
{
var characteristics = await TestService.GetCharacteristicsAsync();
foreach (var Characteristic in characteristics)
{
var properties = Characteristic.Properties;
var name = Characteristic.Name;
var serv = Characteristic.Service;
var value = Characteristic.Value;
var stringValue = value.ToString();
string result = "";
if (value.Length != 0)
result = System.Text.Encoding.UTF8.GetString(value, 0, value.Length - 1);
}
}

enter image description here

最佳答案

首先,您可以使用以下 app更好地了解您正在使用的服务和特征,而无需编写调用代码来获取您需要的值。

已经说过您将需要文档才能与设备通信,我的意思是您发送的数据是什么,可接受的响应是什么,它们如何映射到有意义的数据等。 BLE 是低能量位,这意味着尽可能少地交换数据。将整数映射到没有文档的情况下您不知道的枚举值,您可以从反编译的源代码返回,但这会困难几个数量级。

另一件事是 BLE 是出了名的不可靠(如果你在三星手机上遇到 gatt 133 errros,你就会明白 :),所以大多数实现也有一种添加的网络层来处理丢弃和优雅降级,以及发送更大的数据和平,这是为每个应用程序/设备定制开发的,您还需要大量的文档来实现它,这不是一件小事。

您选择的库非常好,可以很好地包装您需要的大部分内容,但它无法处理不稳定性,因此您必须自己处理这部分内容。

干杯:)

关于c# - Android(Xamarin) 如何通过蓝牙从手环获取数据(脉冲),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53033063/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com