健康尺蓝牙广播通信协议
蓝牙软尺通讯协议摘要:广播数据最大31字节,包含蓝牙名称(1字符=1字节)和UUID。为区分多个设备,名称后附加MAC地址后两位。广播速率50ms/次。数据结构包含帧头(0xAA)、MAC地址、硬件/固件版本号、命令代码、数据位(0-252字节)、校验位(异或值)和帧尾(0x55),总长度25字节。测量数据包含长度(整数+小数位)和单位(00=cm/11=in),确认按钮数据包含递增计数器和固定标
|
1.广播最大字节是31个字节 2.蓝牙名称也占用广播字节数,一个字符是一个字节 3.uuid也占用广播字节。uuid类似于身份证号。如果广播字节数不够可以删除掉uuid,只保留用户自定义内容和蓝牙名称 4.广播速率:50ms发送一次 5. 为了区分一个房间中有多个尺子,导致用户不知道连接的是哪个的问题。我们将mac地址的后两位转成数字展示在名称后面做区分 |
设备名称
产品蓝牙名称:Tabby
定义
| 名称 |
解释 |
| M |
手机APP程序,手机操作系统为Android和ios两种。文档中为了便捷采用缩写M。 |
| H |
硬件设备,文档中为了便捷采用缩写H。 |
蓝牙通讯协议数据结构
数据包由mac地址和数据位构成如表1-1所示,其中各部分分别为:
帧头:0XAA
mac地址:mac地址按照正序展示
硬件版本号:数据长度FFFF,前面三个F代表硬件代号,最后一个F代表硬件版本号
固件版本号:范围是0~255。只展示版本号的最后一位,比如v1.0.5则展示为5
命令代码:通过该字段标识命令。
数据位:需要传递的参数,长度范围是0-252字节。
校验位:硬件版本号、固件版本号、控制字、数据位的所有字节异或所得的值。
帧 尾:0x55。
总计数据长度:7(名称)+ 18 = 25
表1-1 蓝牙通讯协议数据结构
|
命名 |
帧头 |
mac地址 | 硬件版本号 |
固件版本号 |
控制字 |
数据位 |
校验位 |
帧尾 |
|
字节 |
1 |
6 | 2 |
1 |
1 |
3 |
1 |
1 |
|
案例 |
0xAA |
[…] | 0x00FX |
0xXX |
0xXX |
[…] |
0xXX |
0x55 |
|
描述 |
定值 |
可变 | 可变 |
可变 |
可变 |
定值 |
固件端发送移动端的命令
|
命令代码 |
说明 |
链接章节 |
|
0x01 |
蓝牙软尺开始测量时广播的数据 |
|
| 0x x2 | 点击蓝牙软尺上的确认按钮广播出的数据 | 数据确认 |
固件端广播测量数据
当蓝牙软尺测量时发出的广播数据
数据位分为测量长度和单位,共3位
测量长度:共两位,第一位代表整数位、第二位代表小数位。
单位:共一位,00代表厘米(cm),11代表英寸(in)
H→M尺子序号为291发送测量长度值为33.5cm
AA 11 22 33 44 55 66 01 01 21 05 00 xx 55
|
帧头 |
mac地址 |
硬件版本号 |
固件版本号 |
控制字 |
数据位 |
校验位 |
帧尾 |
|---|---|---|---|---|---|---|---|
| AA | 11 22 33 44 55 66 | 00F0 | 01 | 01 | 21 05 00 | xx | 55 |
H→M尺子序号为18发送测量长度值为33.05in
AA 11 22 33 44 55 66 01 01 21 05 11 xx 55
|
帧头 |
mac地址 |
硬件版本号 |
固件版本号 |
控制字 |
数据位 |
校验位 |
帧尾 |
|---|---|---|---|---|---|---|---|
| AA | 11 22 33 44 55 66 | 00F0 | 01 | 01 | 21 05 11 | xx | 55 |
固件端广播确认数据
点击蓝牙软尺上的确认按钮发出此数据
控制字:一个字节
bit[4~7]:开机后为0,按一次确认按钮这个值加一,到F后值变为0.
bit[0~3]:值恒为2,代表点击了确认数据
数据位分为测量长度和单位,共3位
测量长度:共两位,第一位代表整数位、第二位代表小数位。
单位:共一位,00代表厘米(cm),11代表英寸(in)
H→M尺子序号为291发送测量长度值为33.5cm
AA 11 22 33 44 55 66 01 02 21 05 00 xx 55
|
帧头 |
mac地址 |
硬件版本号 |
固件版本号 |
控制字 |
数据位 |
校验位 |
帧尾 |
|---|---|---|---|---|---|---|---|
| AA | 11 22 33 44 55 66 | 00F0 | 01 | x2 | 21 05 00 | xx | 55 |
H→M尺子序号为18发送测量长度值为33.05in
AA 11 22 33 44 55 66 01 02 21 05 11 xx 55
|
帧头 |
mac地址 |
硬件版本号 |
固件版本号 |
控制字 |
数据位 |
校验位 |
帧尾 |
|---|---|---|---|---|---|---|---|
| AA | 11 22 33 44 55 66 | 00F0 | 01 | x2 | 21 05 11 | xx | 55 |
更多推荐
所有评论(0)