Android BLE - 将时间戳写入健康温度计

时间:2017-01-31 17:38:46

标签: android bluetooth bluetooth-lowenergy

我正在开发一款Android应用,通过蓝牙低功耗健康温度计读取温度。能够连接和解析温度测量特性(0x2A1C)并检索温度值和时间戳。

现在我的要求是,如果设备上的时间戳是旧值,则忽略读取和写入当前时间戳。当进行下一次读数时,时间戳必须与附近的值匹配。

我可以在哪个特性上写下这个时间戳值?

成功发现后,GATT服务器提供6项服务(仅在下面提到重要特征)

1)通用访问(UUID:0x1800)
   特征:a)设备名称(UUID:0x2A00) - 属性:READ, WRITE

2)通用属性(UUID:0x1801)
   特征:a)服务已更改(UUID:0x2A05) - 属性:INDICATE
   描述符:客户端特征配置(UUID:0x2902) - 属性:INDICATE

3)健康温度计(UUID:1809)
   特征:a)温度测量(UUID:0x2A1C) - 属性:INDICATE
   描述符:客户端特征配置(UUID:0x2902)

4)电池服务

5)设备信息

6)北欧LED按钮服务(UUID:00001523-1212-efde-1523-785feabcd123)
   特征:a)按钮(UUID:00001524-1212-efde-1523-785feabcd123) - 属性:INDICATE, NOTIFY, WRITE

任何人都可以帮我解决哪个特征? 如果是这样,怎么样?还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。写入最后一个特征00001524-1212-efde-1523-785feabcd123

在特征setWriteType WRITE_TYPE_DEFAULT上,然后在其所有描述符ENABLE_INDICATION_VALUE上。

您将在onCharacteristicChanged回调中获得结果。

创建大小为8的字节数组的命令列表。

在此包含时间戳以及其他命令。在特征上设置此值并写入GATT服务器。