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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐