diff --git a/蓝牙秤/威盛康-G02身高仪蓝牙通信协议_V1.1.pdf b/蓝牙秤/威盛康-G02身高仪蓝牙通信协议_V1.1.pdf new file mode 100644 index 0000000..e76e9a9 --- /dev/null +++ b/蓝牙秤/威盛康-G02身高仪蓝牙通信协议_V1.1.pdf @@ -0,0 +1,253 @@ +威盛康-身高仪蓝牙通信协议 + REV1.1 + +通讯地址:深圳市宝安区航城大道骏翔 U8 智造产业园 U4 栋 6 楼 607 +邮政编码:518067 +公司电话:0755-82536060 +公司网站:wiseda-chip.com + + 1|8 + 历史版本 版本历史 版本日期 +REV1.0 2024-10-22 +REV1.1 修改内容 2024-10-23 + + 初始版本 + 修改部分勘误 + + 2|8 + 目录 + +1. 概述 ....................................................................1 +2. 广播部分 ................................................................1 +3. 数据帧 ..................................................................1 +4. 通信协议 ................................................................3 + + 4.1 发送稳定身高数据(0x01) ...........................................3 + 4.2 app 下发单位设置(0x02)..............................................4 + 4.3 设备下发测量(0x03) .................................................5 + 4.4 设备上报错误码(0xFF) ...............................................5 + + 3|8 + 1. 概述 + +本文主要描述设备与 app 直接的通信协议约定,通信包括广播和直连两个部分 + +2. 广播部分 + +2.1 蓝牙名称:G02 +2.2 UUID: 0xfff0 +2.3 广播数据格式 + + Byte Value 内容 + +0 0x03 广播 UUID = 0Xfff0 + +1 0x03 + +2 0xf0 + +3 0xff + +4 0x04 蓝牙广播名称 + +5 0x09 + +6 0x47 + +7 0x30 + +8 0x32 + +9 0x0A 自定义数据声明 + +10 0xff + +11 0x00 ID + +12 0x00 + +13 0x00 + +14-19 MAC 小端序 + +3. 数据帧 + +帧头 长度 命令 数据 校验码 + 1Byte +1Byte 1Byte 1Byte N Byte + +1) 帧头:1 个字节,固定发送 0x5A + +2) 长度:1 个字节,命令+数据+校验码长度 + +3) 命令:1 个字节,功能码 + + 1|8 + + 第1页 + 4) 数据:大于 1 个字节的数据先发高字节,再发低字节,例如:数据 0x55AA,应先发送 + 0x55,然后接着发送 0xaa,数据可以为 0 字节 + +5) 校验码:1 个字节,除帧头和校验码外的所有数据的无进位累加和数据帧不能分包 +发送 + + 2|8 + +第2页 + 4. 通信协议 + +通信协议约定的蓝牙与 app 直接的功能码和响应回复说明. + + 4.1 发送稳定身高数据(0x01) + +设备连接 app 后,测量完毕发送此指令同步测量结果至 app + +字节标号 默认值 描述 + +0 0x5A 包头 + +1 数据长度 + +2 0x01 指令:稳定身高数据 + +3 身高数据的高字节 + +4 身高数据的低字节 + +5 数据标志:单位 + + 0:cm + + 1:inch + + 2:ft:in + +6 数据标志:小数点 + + 0:无小数点 + + 1:1 位小数点 + + 2:2 位小数点 + + N:N 位小数点 + +7 体重数据高字节 + +8 体重数据低字节 + +9 体重数据标志:单位 + + 0:kg + + 1:斤 + + 2:LB:OZ + + 3: OZ + + 4: ST:LB + + 5: g + + 6: lb + +10 体重数据标志: + + bit0-bit3:小数点 + + 3|8 + + 第3页 + 0:无小数点 + + 1:1 位小数点 + + 2:2 位小数点 + + bit7:重量正负标志 + + 0:正重量 + + 1:负重量 + +11 校验和 + +注: + +1. 如果只有身高没有体重,则体重数据设置为 0xffff + +2. 数据与标志组合为实际结果说明:一组数据包含数值基数,单位标志,小数点标志等 + + 组成,以身高说明如下: + + a) 假设收到 0x06 0x22 0x00 0x01 0x0622/10 cm 157.0cm + + b) 假设收到 0x06 0x22 0x01 0x01 0x0622/10 inch 157.0inch + + c) 假设收到 0x06 0x22 0x02 0x01 0x0622/10 inch(ft:in) 13 ft 1.0 in + +3. 这样数据排布发送方式尽量避免出现设备端与由于单位转换存在误差导致设备端与 + + app 显示不一致问题。 + +4.2 app 下发单位设置(0x02) + +数据格式: + +字节标号 默认值 描述 + 包头 +0 0x5A 数据长度 + 指令:下发单位 +1 身高单位: + 0:cm +2 0x02 1:inch + 2:ft:in +3 体重单位: + 0:kg +4 1:斤 + 2:LB:OZ + 3: OZ + 4: ST:LB + + 4|8 + + 第4页 + 5 5: g + 6: lb + 设备接收回复: 校验和 + +字节标号 默认值 描述 + 包头 +0 0x5A 数据长度 + 指令:下发单位 +1 设置结果: + 0:设置成功 +2 0x02 1:设置失败 + 2:不支持 +3 校验和 + +4 + +4.3 设备下发测量(0x03) + +字节标号 默认值 描述 +0 0x5A 包头 +1 数据长度 +2 0x03 指令:下发测量 +3 校验和 + +4.4 设备上报错误码(0xFF) + +字节标号 默认值 描述 +0 0x5A 包头 +1 数据长度 +2 0xFF 指令:错误码 +3 设置结果: + 0:测量失败 +4 校验和 + + 5|8 + + 第5页 +