英文名称: FIT MONSTER Fitness Device BLE Protocol for Treadmill
项目 / Item | 内容 / Content |
---|---|
当前版本 / Current Version | V1.0 |
修订日期 / Revision Date | 2024.12.01 |
修订人 / Editor | Sam |
版本号 / Version | 修订日期 / Revision Date | 修订人 / Editor | 修订内容 / Revision Content |
---|---|---|---|
V1.0 | 2024.12.01 | Sam | 新建 / New File |
类型 | UUID | 备注 |
---|---|---|
Service 服务 | FFF0 | 广播时支持,连接后可获取 |
Characteristic 接收 | FFF1 | 支持Notify、Indicate |
Characteristic 发送 | FFF2 | 支持Write、WriteWithoutResponse |
0x02 | CMD | SCMD | DATA | FCS | 0x03 |
---|---|---|---|---|---|
起始码 | 指令 | 子指令 | 数据 | 校验码 | 终止码 |
字段 | 长度 | 取值 | 描述 |
---|---|---|---|
起始码 | 1Byte | 0x02 | 表征通讯帧开头,固定的1字节数据,为十六进制 |
指令 | 1Byte | 0x50(示例) | 指令标识 |
子指令 | 1Byte | 0x00(示例) | 子指令标识 |
数据 | 不定 | 不定 | 写入或读取的数据,长度依指令不同而不同。数据采用【小端】对齐方式,即低字节在前,高字节在后。 例:数据0x1234,数据码为0x34 0x12;数据0x12345678,数据码为0x78 0x56 0x34 0x12 |
校验码 | 1Byte | 不定 | 帧校验,所有指令码(CMD、SCMD)与数据码(DATA)字节按位异或后的值 |
终止码 | 1Byte | 0x03 | 表征通讯帧结束,固定的1字节数据,为十六进制 |
表示符 | 类型 | 长度 |
---|---|---|
B | 无符号字节 | 1Byte |
W | 无符号整型 | 2Byte |
L | 无符号长整型 | 4Byte |
N | 无符号多字节 | nByte |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x7F | 0x00 | 0x01 | 0x02 | 0x7C | 0x03 |
START | CMD | FCS | END |
---|---|---|---|
0x02 | 0x7F | 0x7F | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x50 | 0x00 | 0x50 | 0x03 |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x50 | 0x00 | 厂商(W) | 机型(W) | xx | 0x03 |
字段 | 取值/说明 |
---|---|
起始码 | 0x02 |
指令 | 0x50 |
子指令 | 0x00 |
厂商码 | 16位的无符号数,厂商代码由蓝牙模块供应商分配后固定 |
机型码 | 16位的无符号数,需由制造商向蓝牙模块供应商官方申请 |
FCS | 帧校验,所有指令码(CMD、SCMD)与数据码(DATA)字节按位异或后的值 |
结束码 | 0x03 |
厂商码:0x1234(其中高4位为设备类型,示例1为椭圆机)
机型码:0x5678
蓝牙发送:02 50 00 50 03
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x50 | 0x00 | 0x50 | 0x03 |
字节 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
类型 | START | CMD | SCMD | DATA | FCS | END | |||
值 | 0x02 | 0x50 | 0x00 | 34 | 12 | 78 | 56 | xx | 0x03 |
设备类型 | 十进制 | 十六进制 | 字节 |
---|---|---|---|
跑步机 | 0 | 0x0 | 4位 |
椭圆机 | 1 | 0x1 | 4位 |
健身车 | 2 | 0x2 | 4位 |
划船机 | 3 | 0x3 | 4位 |
START | CMD | SCMD | FCS | END | |
---|---|---|---|---|---|
0x02 | 0x50 | 0x02 | 0x52 | 0x03 |
START | CMD | SCMD | DATA | FCS | END | ||
---|---|---|---|---|---|---|---|
0x02 | 0x50 | 0x02 | 最高速度(B) | 最低速度(B) | xx | 0x03 |
参数 | 单位说明 |
---|---|
最高速度 | 单位:0.1km/h 或0.1mi/h,100代表10.0km/h 或10.0mi/h |
最低速度 | 单位:0.1km/h 或0.1mi/h,100代表10.0km/h 或10.0mi/h |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x50 | 0x02 | 最高速度(W) | 最低速度(W) | xx | 0x03 |
CMD | SCMD | END |
---|---|---|
0x50 | 0x03 | 0x03 |
位 | 说明 |
---|---|
1-0 | 0:不支持暂停;1:支持暂停 |
2-1 | 1:支持心率预警 |
7-2 | 预留 |
9 | 预留 |
START | CMD | FCS | END |
---|---|---|---|
0x02 | 0x51 | 0x51 | 0x03 |
START | CMD | DATA | FCS | END | |
---|---|---|---|---|---|
0x02 | 0x51 | 状态(B) | 数据(N) | xx | 0x03 |
状态(B) | 数据(N) |
---|---|
(0x00) 待机 | NA |
(0x02) 倒计时启动 | 启动倒计时-秒(B) |
(0x01) 停机、(0x03) 运行中、(0x04) 减速停止、(0x0A) 暂停 | 当前速度(B)、当前坡度(B)、当前时间(W)、当前距离(W)、当前热量(W)、当前步数(W)、当前心率(B)、预留(B) |
(0x05) 故障 | 故障码(B) |
(0x06) 禁用 | 禁用码(B):1-安全锁脱落;2-设备睡眠 |
数据 | 单位 | 数据 | 单位 |
---|---|---|---|
速度 | 0.1km/h 或0.1mi/h | 热量 | 0.1 千卡 |
坡度 | 1 档 | 步数 | 步 |
时间 | 秒 | 心率 | 1 次 |
距离 | 0.001km 或0.001mile | - | - |
START | CMD | DATA | FCS | END | |
---|---|---|---|---|---|
0x02 | 0x51 | 状态(B) | 数据(N) | xx | 0x03 |
状态(B) | 数据(N) |
---|---|
(0x00) 待机 | NA |
(0x02) 倒计时启动 | 启动倒计时-秒(B) |
(0x01) 停机、(0x03) 运行中、(0x04) 减速停止、(0x0A) 暂停 | 当前速度(W)、当前坡度(B)、当前时间(W)、当前距离(W)、当前热量(W)、当前步数(W)、当前心率(B)、预留(B) |
(0x05) 故障 | 故障码(B) |
(0x06) 禁用 | 禁用码(B):1-安全锁脱落;2-设备睡眠 |
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x53 | 0x01 | 预留 | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x53 | 0x01 | 倒计时(B) | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x53 | 0x02 | 目标速度(B) | 目标坡度(B) | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x53 | 0x02 | 当前实际速度(B) | 当前实际坡度(B) | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x53 | 0x02 | 目标速度(W) | 目标坡度(B) | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x53 | 0x02 | 目标速度(W) | 目标坡度(B) | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x53 | 0x03 | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x53 | 0x03 | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x53 | 0x0A | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x53 | 0x0A | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x53 | 0x9f | 标志位(W)、数据(N) | xx | 0x03 |
参数 | 格式 | 大小 | 取值 | 解释 |
---|---|---|---|---|
Flags | 16Bits | 2 Octets | Bit0 | 参数包含解锁码 |
Bit1 | 参数包含心率 | |||
Bit2 | 参数包含总卡路里 | |||
Bit3 | 参数包含动态卡路里 | |||
Bit4 | 参数包含计步 | |||
Bit5-15 | 保留 | |||
UnlockCode | Octets | 6 | 0-F的6个数字 | 厂家自定义,6字节解锁码 |
Heart Rate | Unit8 | 1 | 心率值 | 心率值 |
Total Energy | Unit16 | 2 | 总卡路里 | 总卡路里 |
Dynamic Energy | Unit16 | 2 | 动态卡路里 | 动态卡路里 |
Step Count | Unit16 | 2 | 实时步数 | 实时步数 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x01 | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x02 | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x03 | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x04 | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x0B | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x0C | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC3 | 0x87 | 0x03 |
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC3 | 连接状态(B) | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC5 | 0x81 | 0x03 |
START | CMD | SCMD | DATA(N Bytes)(大端) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC5 | 示例:"FS-xxxxxx" XXXX | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC6 | 0x82 | 0x03 |
START | CMD | SCMD | DATA(6 Bytes)(大端) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC6 | XX:XX:XX:XX:XX:XX | xx | 0x03 |
START | CMD | SCMD | DATA(N Bytes)(大端) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC7 | xx | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC7 | 确认码(B) | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xD1 | 0x80 | 0x03 |
START | CMD | SCMD | DATA(N Bytes)(大端) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xD1 | 示例:"FS-xxxxxx"(XXXX) | xx | 0x03 |
START | CMD | SCMD | DATA(N Bytes)(大端) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC8 | xx | xx | 0x03 |
START | CMD | SCMD | - | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC8 | - | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC9 | xx | 0x03 |
START | CMD | SCMD | DATA(大端) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC9 | 示例:FS-BT-C1(xxx) | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xCA | xx | 0x03 |
START | CMD | SCMD | DATA(大端) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xCA | 示例:FS240528001(xxx) | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xCB | 0x8F | 0x03 |
START | CMD | SCMD | DATA(音频连接状态(B)) | DATA(播放状态(B)) | 预留 | 预留 | FCS | END |
---|---|---|---|---|---|---|---|---|
0x02 | 0x44 | 0xCB | 0=未连接,1=已连接 | 0=未播放,1=正在播放 | 0x00 | 0x00 | xx | 0x03 |
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x46 | 0x03 | 心率阈值(B) | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x46 | 0x03 | xx | 0x03 |
START | CMD(0x44) | SCMD(0xD2) | DATA1(1 Byte 配置数据) | DATA2(5 Bytes 配置数据) | DATA3(1 Byte 配置数据) | DATA4(1 Byte 配置数据) | FCS(0x95) | END |
---|---|---|---|---|---|---|---|---|
0x02 | 0x44 | 0xD2 | 配置数据1 | 配置数据2 | 配置数据3 | 配置数据4 | 0x95 | 0x03 |
位 | 说明 | 位 | 说明 |
---|---|---|---|
0 | 1:无线心率打开;0:无线心率关闭 | 4 | RFU(保留) |
1 | RFU(保留) | 5 | RFU(保留) |
2 | RFU(保留) | 6 | RFU(保留) |
3 | RFU(保留) | 7 | RFU(保留) |
Byte | 说明 |
---|---|
Byte 0 | 1:音频配对需要密码;0:音频配对不需要密码 |
Byte 1~4 | 配对密码:例如 1234(只能是 0~9 的数字) |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xD2 | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC2 | 0x86 | 0x03 |
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xCC | 0X01:开启OTA模式;0X00:关闭OTA模式 | XX | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xCC | xx | 0x03 |