gpt4 book ai didi

android - 使用 Android BLE 读取特征值

转载 作者:行者123 更新时间:2023-11-29 16:43:47 24 4
gpt4 key购买 nike

我对 BLE、android 开发和 java 比较陌生。我正在尝试通过 BLE 从微 Controller 发送 20 条数据到我的安卓手机。使用 nRF 连接应用程序,我知道服务和值是从微 Controller 正确创建的。

为了在 Android 应用程序上阅读它们,我使用了 Android Studio 中提供的模板 BluetoothLeGatt 应用程序。它向我展示了服务和特征(出于某种原因,它展示的服务比我实际创建的要多),但是只有一项服务向我展示了一个最终不为 NULL 的值。 我在我的微 Controller 中对值 0x22 进行了编码,Android 日志显示为我提供了以下信息

03-24 17:13:29.498 23696-23696/com.example.android.bluetoothlegatt D/BLE_VALUE_READ: [B@b95cc24

而不是 0x22。这是使用函数

Log.d("BLE_VALUE_READ", String.valueOf(characteristic.getValue()));

我已将命令放入模板应用程序的这个函数中。

public void readCharacteristic(BluetoothGattCharacteristic characteristic) {
if (mBluetoothAdapter == null || mBluetoothGatt == null) {
Log.w(TAG, "BluetoothAdapter not initialized");
return;
}
mBluetoothGatt.readCharacteristic(characteristic);
Log.d("CharacteristicRead", String.valueOf(characteristic)); // try to get characteristic uuid?
Log.d("BLE_VALUE_READ", String.valueOf(characteristic.getValue())); // Try to read value
}

如何获取服务/特征中的实际值,即 0x22?我想总共读取 20 个值,然后将它们作为浮点值存储在数组中,以便最终将它们用于图像重建。

非常感谢任何帮助。

谢谢!

最佳答案

characteristic.getValue() 返回字节数组。您需要将字节转换为所需的格式。

但是调用readCharacteristic后,需要等待onCharacteristicRead回调才能提取值。

关于android - 使用 Android BLE 读取特征值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49467584/

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