公司最近弄了一个蓝牙手环项目对接到微信小程序,对蓝牙数据传输了解不够。
根据文档 onBLECharacteristicValueChange 监听到特征 .value值。
https://developers.weixin.qq.com/s/hQ59W4mK7MOB
那么我需要怎么才能获取到手环内运动,睡眠,心率这样的数据?
手里有手环工厂提供的蓝牙协议,
设备基于某度智能设备蓝牙私有协议,进行了一些功能补充,同时就未加入本设计的冗余规范进行了删减和修改,其中,L2 PACKAGE 的 payload 格式部分只带一个 key (参见百度协议第9页),以下,将对其中的一些修改及补充进行说明(如若未做特别说明,则保持与百度智能设备协议规范一致)。在本设计中,所涉及到的 L2 command 包含以下几个 command,如下表 L2 command 所示。
| Command ID | 定义 |
| :--------: | :------: |
| 0x02 | 设置命令 |
| 0x03 | 绑定命令 |
| 0x04 | 提醒命令 |
| 0x05 | 运动数据命令 |
| 0x06 | 工厂测试命令 |
| 0x07 | 控制命令 |
| 0x58 | 客户定制相关命令 |
## 2、设置命令说明
~~~
设置命令(command Id: 0x02),手机端将参数下发给设备设备端。
~~~
### 2.01、时间设置 (0x01)
手机端通过这个 key 把手机上的时间同步到设备上,使设备上的时间和手机端保持同步。每一次绑定命令成功执行后,都需要支持时间设置。<br>
Value 内容描述如下:
__Value(32bit)__
| 6bits | 4bits | 5bits | 5bits | 6bits | 6bits |
| :---: | :---: |:----: | :---: | :----:| :----:|
| 有效值<br>0-63<br>从2000年开始,13表示2013年 | 有效值<br>1-12 | 有效值<br>1-31 |有效值<br>0-23 | 有效值<br>0-59 |有效值<br>0-59 |
### 2.02、闹钟设置 (0x02)
手机端通过这个 key 把手机上的闹钟设定同步到设备上。目前最多支持8个闹钟。所以一个 command 中可以最多同时存在 8 个闹钟设置。<br>
Value 内容描述如下:
__Value(5 * N bytes)__
| 5 bytes | 5 bytes | 5 bytes | .... |
| :-----: | :-----: |:------: | :-----: |
| Alarm 1 | Alarm 2 | Alarm 3 | Alarm N |
#### a、中性设备说明
每个闹钟的 Value 描述如下:
__Value(40 bits)__
| 6 bits | 4 bits | 5 bits | 5 bits | 6 bits | 3 bits | 4 bits | 7 bits |
| :----: | :----: |:-----: | :----: | :-----:| :-----:|:------:|:------:|
| Year | Month | Day | Hour | Minute | ID |~Reserve~| Day flags|
| 见说明1 | 有效值<br>1-12 | 有效值<br>1-31 | 有效值<br>0-23 | 有效值<br>0-59 | 有效值<br>0-7 |保留位 |见说明2 |
**说明1**:有效值 0-63,从 2000 年开始,13 表示 2013 年。<br>
**说明2**:由低 bit 位到高 bit 位,分别代表周一到周日的重复设置。bit 位为 1 表示重复,为 0 时表示不重复。所有 bit 都为 0 时,表示只在当天有效。
我想获取手环数据 <_>
蓝牙手环主要服务:设备通讯服务 serviceId
uuid: "000001FF-3C17-D293-8E48-14FE2E4DA212"
返回特征 characteristics (Array)设备特征列表
uuid: "0000FF02-0000-1000-8000-00805F9B34FB" 【功能说明:手机端->设备端 进行通讯】
indicate: false
notify: false
read: false
write: true
writeDefault: true
writeNoResponse: false
uuid: "0000FF03-0000-1000-8000-00805F9B34FB" 【功能说明:设备端->手机端 进行通讯】
indicate: false
notify: true
read: false
write: false
writeDefault: false
writeNoResponse: false
请问这个问题解决了吗,拿到特征值和value不知道咋用~