英文名称: FIT MONSTER Fitness Device BLE Protocol for Rower
项目 / 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 |
采用蓝牙(BLE)无线通信技术,通信模式为一对一的数据通信,一个手机连接一个设备。
通信中用到的蓝牙服务(Service):
特征值(Characteristic) |
---|
0000ffe1 |
0000ffe2 |
包头固定为 0xf9
,包尾固定为 0xfd
;
解释:0x 为十六进制表示,数据包中省略。
校验码一般在包尾的前两位,规则为求和校验。将数据包的各个字节相加(除了校验码本身和包尾),求和取16进制结果的最低两位即可。
以20位数据包举例:
数据包:f9c33424192a101632030f0214552cfd
求和:将 f9 c3 34 24 19 2a 10 16 32 03 0f 02 14 55
相加求和为 32c
,取最低两位 2c
为校验码的值。
暂无,后续补充
请求格式:
D0 | D1 | D2 | D3 | D4 |
---|---|---|---|---|
包头 | 控制码 | 查询指令 | 校验码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 说明 |
---|---|---|---|
D0 | 0xf9 | 1 | 包头,固定 |
D1 | 0xc4 | 1 | 控制码 |
D2 | 0x01 | 1 | 表示查询当前所有数据(后续待补充) |
D3 | - | 1 | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D4 | 0xfd | 1 | 包尾,固定 |
应答格式:
D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 |
---|---|---|---|---|---|---|---|---|---|
包头 | - | 1段 | 2段 | 3段 | 4段 | 5段 | 6段 | 7段 | 8段 |
D10 | D11 | D12 | D13 | D14 | D15 | D16 | D17 | D18 | D19 |
桨频 | 阻力 | 心率 | 状态 | 座椅 | 座椅 | 次数 | 次数 | 校验码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 数值范围 | 说明 |
---|---|---|---|---|
D0 | 0xf9 | 1 | - | 包头 |
D1 | 0xc5 | 1 | - | 控制码 |
D2 | - | 1 | - | 第1段时间 |
D3 | - | 1 | - | 第2段时间 |
D4 | - | 1 | - | 第3段时间 |
D5 | - | 1 | - | 第4段时间 |
D6 | - | 1 | - | 第5段时间 |
D7 | - | 1 | - | 第6段时间 |
D8 | - | 1 | - | 第7段时间 |
D9 | - | 1 | - | 第8段时间 |
D10 | - | 1 | - | 桨频 |
D11 | - | 1 | - | 当前阻力 |
D12 | - | 1 | - | 心率 |
D13 | - | 1 | - | 状态(1-拉桨;2-回桨;0-空桨) |
D14 | - | 1 | - | 座椅L |
D15 | - | 1 | - | 座椅H |
D16 | - | 1 | - | 划桨次数L |
D17 | - | 1 | - | 划桨次数H |
D18 | - | 1 | - | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D19 | 0xfd | 1 | - | 包尾 |
请求格式:
D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 |
---|---|---|---|---|---|---|---|---|---|
包头 | 控制码 | 阻力 | 座椅 | 座椅 | - | - | 状态 | 验证码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 数值范围 | 说明 |
---|---|---|---|---|
D0 | 0xf9 | 1 | - | 包头 |
D1 | 0xc2 | 1 | - | 控制码 |
D2 | - | 1 | - | 阻力 |
D3 | - | 1 | - | 座椅L |
D4 | - | 1 | - | 座椅H |
D5 | - | 1 | - | 待定 |
D6 | - | 1 | - | 待定 |
D7 | - | 1 | - | 状态(1-开始;2-结束;3-暂停;0-默认无操作) |
D8 | - | 1 | - | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D9 | 0xfd | 1 | - | 包尾 |
应答格式:
D0 | D1 | D2 | D3 | D4 |
---|---|---|---|---|
包头 | 控制码 | 执行结果 | 校验码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 说明 |
---|---|---|---|
D0 | 0xf9 | 1 | 包头 |
D1 | 0xc3 | 1 | 控制码 |
D2 | - | 1 | 结果码 0x00为执行成功回执 |
D3 | - | 1 | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D4 | 0xfd | 1 | 包尾 |
请求格式:
D0 | D1 | D2 | D3 | D4 |
---|---|---|---|---|
包头 | 控制码 | 查询/查询标记 | 校验码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 数值范围 | 说明 |
---|---|---|---|---|
D0 | 0xf9 | 1 | - | 包头 |
D1 | 0xc0 | 1 | - | 控制码 |
D2 | 0x00 | 1 | - | 查询机器状态(是否标记、版本号L、版本号H)和查询标记机器状态 0x00-查询;0x01-查询&标记 |
D3 | - | 1 | - | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D4 | 0xfd | 1 | - | 包尾 |
应答格式:
D0 | D1 | D2 | D3 | D4 | D5 | D6 |
---|---|---|---|---|---|---|
0xf9 | 控制码 | 标记状态 | 版本号L | 版本号H | 校验位 | 0xfd |
数据字典:
字段 | 数据 | 长度 | 说明 |
---|---|---|---|
D0 | 0xf9 | 1 | 包头 |
D1 | 0xc1 | 1 | 控制码 |
D2 | - | 1 | 0x01表示未标记过(重新上电了),0x00表示已标记 |
D3 | - | 1 | 版本号L |
D4 | - | 1 | 版本号H |
D5 | - | 1 | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D6 | 0xfd | 1 | 包尾 |
请求格式:
D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 |
---|---|---|---|---|---|---|---|
包头 | 控制码 | 模式 | 红色值 | 绿色值 | 蓝色值 | 校验码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 数值范围 | 说明 |
---|---|---|---|---|
D0 | 0xf9 | 1 | - | 包头 |
D1 | 0xc6 | 1 | - | 控制码 |
D2 | - | 1 | - | 模式:0常灭,1常亮,2快闪,3呼吸 |
D3 | - | 1 | 0-100 | 红色份量 |
D4 | - | 1 | 0-100 | 绿色份量 |
D5 | - | 1 | 0-100 | 蓝色份量 |
D6 | - | 1 | - | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D7 | 0xfd | 1 | - | 包尾 |
应答格式:
D0 | D1 | D2 | D3 | D4 |
---|---|---|---|---|
包头 | 控制码 | 执行结果 | 校验码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 说明 |
---|---|---|---|
D0 | 0xf9 | 1 | 包头 |
D1 | 0xc7 | 1 | 控制码 |
D2 | - | 1 | 结果码 0x00为执行成功 |
D3 | - | 1 | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D4 | 0xfd | 1 | 包尾 |
请求格式:
D0 | D1 | D2 | D3 | D4 |
---|---|---|---|---|
包头 | 控制码 | 查询指令 | 校验码 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 数值范围 | 说明 |
---|---|---|---|---|
D0 | 0xf9 | 1 | - | 包头 |
D1 | 0xc8 | 1 | - | 控制码 |
D2 | 0x00 | 1 | - | 0x00为查询 |
D3 | - | 1 | - | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D4 | 0xfd | 1 | - | 包尾 |
应答格式:
D0 | D1 | D2 | D3 | D4 | D5 | D6 |
---|---|---|---|---|---|---|
0xf9 | 控制码 | 品类 | 型号L | 型号H | 校验位 | 0xfd |
数据字典:
字段 | 数据 | 长度 | 说明 |
---|---|---|---|
D0 | 0xf9 | 1 | 包头 |
D1 | 0xc9 | 1 | 控制码 |
D2 | - | 1 | 0x01为划船器品类 |
D3 | - | 1 | 型号L:0x0c为划船器M1 |
D4 | - | 1 | 型号H(补充) |
D5 | - | 1 | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D6 | 0xfd | 1 | 包尾 |
数据字典:
字段 | 数据 | 长度 | 数值范围 | 说明 |
---|---|---|---|---|
D0 | 0xf9 | 1 | - | 包头 |
D1 | 0xca | 1 | - | 控制码 |
D2 | - | 1 | - | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D3 | 0xfd | 1 | - | 包尾 |
数据字典:
字段 | 数据 | 长度 | 说明 |
---|---|---|---|
D0 | 0xf9 | 1 | 包头 |
D1 | 0xcb | 1 | 控制码 |
D2 | - | 1 | 版本号 |
D3 | - | 1 | 型号L:0x0c为划船器M1,0x0e为懒人车R1 |
D4 | - | 1 | 型号H |
D5 | - | 1 | 语言:0x00-简中,0x01-繁中,0x02-英语,0x03-韩语,0x04-日语,0x05-德语 |
D6 | - | 1 | 公英制:0x00-公制单位,0x01-英制单位 |
D7 | - | 1 | 客制化编号:公版默认为0x00,后面如果有客制化版本在这里添加 |
D8 | - | 1 | 校验码:将数据包的各个字节相加(除了校验码本身和包尾) |
D9 | 0xfd | 1 | 包尾 |