当前位置: 首页 > 知识库问答 >
问题:

(Android)从可编程设备获取自定义特征数据的问题

空英达
2023-03-14

类似于此问题从BLE设备读取/写入自定义特性

我想知道为什么在从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

在这两种情况下,我都有如果/其他语句来确保状态是

BluetoothGatt.GATT_SUCCESS

当我试图从

onCharacteristicChanged

我得到了我写给它的价值。

我所做的是。。。

根据SIG文件获取数据。但是,我需要从自定义特性中获取数据。以便获得其他数据,比如之前的数据,而不是最后的数据。

我想做的是(一步一步)

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

非常感谢!

共有1个答案

云育
2023-03-14

你试过调试你的项目吗?抱歉听起来像个傻瓜。。但说真的,试着一步一步地跟随它,看看会发生什么。

 类似资料:
  • 我正在尝试使用Android Studio作为IDE和Java作为编程语言与温度计BLE设备进行交互。使用智能手机上的应用程序,我发现了该设备在运行过程中暴露的服务:有很多通用服务/特性和一个自定义服务。 首先,我试着阅读 健康温度计服务(UUID=00001809-0000-1000-8000-00805F9B34FB) 从服务列表中恢复特征并访问其描述符: 在这种情况下,我可以看到测量的结果在

  • 我正在尝试在Sony SmartWatch 3上实现BluetoothGattServer。 我可以成功地打开Gatt服务器并做广告。 使用BLE扫描仪应用程序,我在发现我的自定义服务及其自定义特征时得到不一致的结果。 在三星Galaxy Note 8-Android 4.4-上,我可以正确检测自定义服务和自定义特性 这是我在Wear设备上运行的代码: 我还尝试使用自定义生成的UUID从https

  • ap.getBLEDeviceCharacteristics(OPTION | deviceId, CALLBACK) 获取蓝牙设备所有 characteristic(特征值)。 OPTION 参数说明 名称 类型 必填 描述 deviceId String 是 蓝牙设备 id,参考 device 对象 serviceId String 是 蓝牙特征值对应 service 的 uuid CALLB

  • 问题内容: 我需要使用Java获取我的android设备的MAC地址。我已经在网上搜索过,但没有发现任何有用的信息。 问题答案: 正如评论中已经指出的那样,可以通过接收MAC地址。 同样不要忘记在你的计算机中添加适当的权限

  • 我以前从未使用过raspberry pi,我有一个项目,其中包括通过蓝牙接收来自BLE血压设备的数据到raspberry pi 3。我可以将设备与我的树莓配对,但我不知道下一步该怎么做。我需要能够收到我的覆盆子测量请帮助和提前感谢你。PS:我尝试使用的设备与此非常相似:https://ibb.co/71365k5

  • 我正在使用forkify API制作一个配方搜索应用程序。我得到了这样的json(以披萨食谱为例)。我已经做了一个回收和搜索,但食谱本身是作为一个链接提供给该网站的配方(见json中的source_url)。我已经为此制作了一个网络视图,但有一个问题。我需要得到那个源url,并让它与我点击的菜谱匹配。我试图在Rescycler中创建一个额外的元素,小的不可见文本视图,并将source_url放在那