0

我正在使用 BLE 技术实现一个 android 应用程序。蓝牙设备设计用于测量温度。它使用 TI 的 cc2541。使用 BTool 蓝牙低功耗 PC 应用程序 v1.40.5 的硬件测试与设备交互良好:我们写入特征值 0x2f 和启动命令 0100 并输入下游命令(23 53 54 00 6e 00 00 。 .. FE) 我们将其用作特征值 0x2b。问题是如何在我的 android 应用程序中实现相同的测试。我能够连接到 ble 设计,读取可用的服务和特性,不知道在哪里编写命令或读取特性。

4

1 回答 1

3

要使用 Android BLE API 将新值写入特征,您需要首先在本地更新特征的值,然后将该特征写入远程设备,然后等待回调 onCharacteristicRead 被调用。

例如,将值写入远程 BLE 设备的特征:


1) 连接到远程 BLE 设备
2) 发现服务和特征
3) 从BluetoothGatt查找您正在寻找 的BluetoothGattservice
4) 从 BluetoothGattservice 查找要更新其值 的 BluetoothGattCharacteristic
5) 在本地设置新值到BluetoothGattCharacteristic 使用mCurrentCharacteristic.setValue(value)方法 6) 使用方法
7) 将更新后的特征写入远程 BLE 设备,然后等待回调被调用以确保特征是否成功写入远程 BLE 设备mBluetoothGatt.writeCharacteristic(mCurrentCharacteristic)
onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status)

从远程 BLE 设备读取特征值:


1) 连接到远程 BLE 设备
2) 发现服务和特征
3) 从BluetoothGatt中查找您正在寻找 的BluetoothGattservice
4) 从 BluetoothGattservice 中查找要读取其值 的 BluetoothGattCharacteristic
5) 调用readCharacteristic(BluetoothGattCharacteristic characteristic)方法
6) 然后等待用于调用回调onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status)以从远程 BLE 设备检索特征
7) 使用characteristic.getValue()从特征中获取数据

也看看下面的链接

于 2014-07-31T14:50:22.007 回答