【问题标题】:(Android) Question with getting data from custom characteristic from BLE device(Android) 从 BLE 设备的自定义特征中获取数据的问题
【发布时间】:2019-04-09 11:20:33
【问题描述】:

类似这个问题 Read/Write custom characteristic from BLE device

我想知道为什么在从 BLE 设备获取数据之前我需要向它写入命令代码?

我已经做到了,甚至不知道为什么。 这是我的代码的一部分(与上面的问题几乎相同) 我已经检查了供应商的文件!确保命令正确

byte [] arrayOfByte = new byte[8];
arrayOfByte [0] = (byte) 0x51;
arrayOfByte [1] = (byte) 0x26;
arrayOfByte [2] = (byte) 0x00;
arrayOfByte [3] = (byte) 0x00;
arrayOfByte [4] = (byte) 0x00;
arrayOfByte [5] = (byte) 0x01;
arrayOfByte [6] = (byte) 0xA3;
arrayOfByte [7] = ((byte)(arrayOfByte[0] + arrayOfByte[1] + arrayOfByte[2] + arrayOfByte[3] + arrayOfByte[4] + arrayOfByte[5] + arrayOfByte[6]& 0xFF ));
Char.setValue(arrayOfByte);
boolean result = gatt.writeCharacteristic(Char);

之后会触发回调

onCharacteristicWrite

onCharacteristicChanged

在这两种情况下,我都有 if/else 语句来确保状态是

BluetoothGatt.GATT_SUCCESS

当我试图从

获取数据时
onCharacteristicChanged

我得到了我写给它的值。


我所做的是……

根据SIG文档获取数据。 但是,我需要从自定义特征中获取数据。 为了获取其他数据,例如以前的数据而不是最后一个。


我想做的是(一步一步)

  1. 扫描 BLE 设备。
  2. 使用 Gatt 连接设备。
  3. 获取正确的特征(按 uuid 过滤)并设置指标或通知属性。
  4. 将命令(字节数组)写入特征
  5. 在回调函数中获取数据(使用characteristic.getvalue())
onCharacteristicChange

非常感谢!

【问题讨论】:

    标签: android bluetooth-lowenergy


    【解决方案1】:

    您是否尝试过调试您的项目? 很抱歉听起来像个混蛋……但说真的,试着一步一步地跟着它走,看看会发生什么。

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 2021-12-21
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      相关资源
      最近更新 更多