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

Android BLE-将时间戳写入健康温度计,android,bluetooth,bluetooth-lowenergy,Android,Bluetooth,Bluetooth Lowenergy,我正在开发一个Android应用程序,用蓝牙低能量从健康温度计读取温度。能够连接和解析温度测量特性(0x2A1C),并检索温度值和时间戳 现在我的要求是,如果设备上的时间戳是旧值,则忽略读写当前时间戳。当进行下一次读取时,时间戳必须与附近的值匹配 我可以在哪个特征上写入此时间戳值 成功发现后,GATT服务器提供6项服务(以下仅提及重要特征) 1) 通用访问(UUID:0x1800) 特性:a)设备名称(UUID:0x2A00)-属性:READ,WRITE 2) 通用属性(UUID:0x1801)

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

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

我可以在哪个特征上写入此时间戳值

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

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

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

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

4) 电池服务

5) 设备信息

6) 北欧LED按钮服务(UUID:00001523-1212-efde-1523-785feabcd123)
特性:a)按钮(UUID:00001524-1212-efde-1523-785feabcd123)-属性:
指示、通知、写入

有人能帮我写下哪一个特征吗?

如果是,怎么做?还有别的办法吗?

我找到了解决办法。写入最后一个特征00001524-1212-efde-1523-785feabcd123

在特征setWriteType WRITE_TYPE_DEFAULT上,然后在其所有描述符上启用_指示值

您将在onCharacteristicChanged回调中获得结果

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


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

这是一个聪明的解决方案。然而,我想知道为什么健康温度计没有时间服务(如当前时间服务),因此必须操作按钮服务。@Nebr如果包含这样的服务,读/写操作可能会更容易。VERTICON在这篇文章中的回答可能证明了为什么它没有被包括在内我还不知道关于CTS,但好吧,通过CTS写时间也确实是对这项服务的滥用。(然而,我仍然认为,如果温度计使用时间戳,它应该包含某种时间服务。)你使用哪种温度计?