英文名称: FIT MONSTER Fitness Device BLE Protocol for Bike, Rower, Cross
项目 / 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 |
蓝牙通讯协议采用帧进行通讯,每一帧采用了起始头、校验码、终止尾的方式进行数据校验。
The Bluetooth communication protocol uses frames for data exchange, with each frame incorporating a start header, checksum, and end tail for data validation.
0x02 | CMD | SCMD | DATA | FCS | 0x03 |
起始码 / Start Code | 指令 / Command | 子指令 / Sub-Command | 数据 | 校验码 | 终止码 / End Code |
字段 / Flag | 长度 / Length | 取值 | 描述 |
---|---|---|---|
起始码 / Open Code | 1Byte | 0x02, | 表征通讯帧开头,固定的1 字节数据,为十六进制 The communication frame start is represented by a fixed 1-byte value in hexadecimal. |
指令 / Command | 1Byte or 2Bytes | 参考详细指令表 / Reference Detailed Instruction Table, | 表指令类型,1 字节的指令或2 字节包含子指令 The instruction type consists of a 1-byte instruction or a 2-byte instruction containing a sub-instruction. |
数据 / Data | N Bytes | N Bytes | 写入或读取的数据,长度依指令不同而不同。数据采用【小端】对齐方式,即低字节在前,高字节在后。 The data to be written or read has a length that varies depending on the instruction. Data follows little-endian alignment, meaning the least significant byte (low byte) comes first, followed by the most significant byte (high byte). 例: 数据0x1234,数据码为0x34 0x12;数据0x12345678,数据码为0x78 0x56 0x34 0x12。 Example: data 0x1234, the data code is 0x34 0x12; data 0x12345678, the data code is 0x78 0x56 0x34 0x12. |
校验码 / FCS | 1Byte | N Bytes | 帧校验,所有指令码(CMD、SCMD)与数据码(DATA)字节按位异或后的值 The frame checksum is calculated by XOR-ing all the instruction bytes (CMD, SCMD) and data bytes (DATA). |
终止码 / End Code | 1Byte | 0x03 | 表征通讯帧结束,固定的1 字节数据,为十六进制 The communication frame end is represented by a fixed 1-byte value in hexadecimal. |
表示符 / Abbreviation | 类型 / Type | 长度 / Length |
---|---|---|
B | 字节 / 8 bits | 1Byte |
W | 整型 / 16 bits | 2 Bytes |
L | 长整型 / 32 bits | 4 Bytes |
N | 多字节 / N*8 bits | N Bytes |
若设备收到未在本协议中出现的指令(格式符合标准并验证成功)时,应返回包含当前指令的帧,如下所示:
If the device receives a command that does not appear in this protocol (but the format is standard and validation is successful), it should return a frame containing the current command, as shown below:
蓝牙模块下发给设备指令 / Bluetooth Module Sends Command to Device:
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x7F | 0x00 | 0x01 | 0x02 | 0x7C | 0x03 |
设备返回 / Device Returns:
START | CMD | FCS | END |
---|---|---|---|
0x02 | 0x7F | 0x7F | 0x03 |
获取设备信息指令(根据下列设备类型选择回复的指令)/ APP Send (Select the reply instructions according to the following device types) (0x50 - 0x00):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x50 | 0x00 | 0x50 | 0x03 |
设备类型 / Device Type | 十进制 / Decimal | 十六进制 / Hexadecimal | 字节 / Bytes |
---|---|---|---|
跑步机 / Treadmill | 0 | 0x0 | 4 位 / 4 bits |
椭圆机 / Cross | 1 | 0x1 | 4 位 / 4 bits |
健身车 / Bike | 2 | 0x2 | 4 位 / 4 bits |
划船机 / Rower | 3 | 0x3 | 4 位 / 4 bits |
动感单车 / Spinning bike | 4 | 0x4 | 4 位 / 4 bits |
走步机 / Walking machine | 5 | 0x5 | 4 位 / 4 bits |
甩脂机 / Fat-shaking machine | 9 | 0x9 | 4 位 / 4 bits |
机械跑步机 / Mechanical treadmill | 10 | 0xa | 4 位 / 4 bits |
楼梯机 / Staircase machine | 11 | 0xb | 4 位 / 4 bits |
踏步机 / Stepper | 12 | 0xc | 4 位 / 4 bits |
综合力量-非电机类 / Comprehensive strength - Non-electrical category | 14 | 0xe | 4 位 / 4 bits |
不使用 / Not use | 15 | 0xf | 4 位 / 4 bits |
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x50 | 0x00 | 厂商/Manufacturer Code (W) | 机型/Model Code (W) | xx | 0x03 |
字段 / Flag | 说明 / Explanation |
---|---|
起始码 / Open Code | 0x02 |
指令 / Command | 0x50 |
子指令 / Sub-command | 0x00 |
厂商码 / Manufacturer Code | 16 位的无符号数,厂商代码由运动秀分配后固定 / A 16-bit unsigned number, assigned and fixed by FitShow. |
机型码 / Model Code | 16 位的无符号数,需由制造商向运动秀官方申请 / A 16-bit unsigned number, which the manufacturer must apply for from the official FitShow. |
FCS | 校验帧,所有指令码(CMD、SCMD)与数据码(DATA)字节按位异或后的值 / The value obtained by XORing all instruction codes (CMD, SCMD) and data bytes (DATA) bitwise. |
结束码 / End Code | 0x03 |
设备类型 / Device Type | 十进制 / Decimal | 十六进制 / Hexadecimal | 字节 / Bytes |
---|---|---|---|
跳绳 / Jump rope | 6 | 0x0006 | 2 字节 / 2 bytes |
筋膜枪 / Fascia gun | 7 | 0x0007 | 2 字节 / 2 bytes |
健腹轮 / Abdominal chakra | 8 | 0x0008 | 2 字节 / 2 bytes |
综合力量-电机类 / Comprehensive strength - Electrical machinery category | 13 | 0x000d | 2 字节 / 2 bytes |
登山机 / Mountaineering aircraft | 16 | 0x0010 | 2 字节 / 2 bytes |
健身板 / Fitness board | 17 | 0x0011 | 2 字节 / 2 bytes |
START | CMD | DATA | FCS | END | |||
---|---|---|---|---|---|---|---|
0x02 | 0x50 | 0x00 | 类型/Type (W) | 厂商/Brand (W) | 机型/Model (W) | xx | 0x03 |
字段 / Flag | 说明 / Explanation |
---|---|
起始码 / Open Code | 0x02 |
指令 / Command | 0x50 |
子指令 / Sub-command | 0x00 |
类型 / Type | 2 字节,详细类型表于上面查看 / 2 bytes. The detailed type table can be viewed above |
厂商码 / Manufacturer Code | 16 位的无符号数,厂商代码由运动秀分配后固定 / A 16-bit unsigned number, assigned and fixed by FitShow. |
机型码 / Model Code | 16 位的无符号数,需由制造商向运动秀官方申请 / A 16-bit unsigned number, which the manufacturer must apply for from the official FitShow. |
FCS | 校验帧,所有指令码(CMD、SCMD)与数据码(DATA)字节按位异或后的值 / The value obtained by XORing all instruction codes (CMD, SCMD) and data bytes (DATA) bitwise. |
结束码 / End Code | 0x03 |
蓝牙发送 / Ble Send: 02 50 00 50 03
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x50 | 0x00 | 0x50 | 0x03 |
设备返回 / Device Returns: 02 50 00 34 12 78 56 xx 03
字节 / Byte | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
类型 / Type | START | CMD | SCMD | DATA | FCS | END | |||
值 / Value | 0x02 | 0x50 | 0x00 | 34 | 12 | 78 | 56 | xx | 0x03 |
该指令会在使用运动秀APP 时进行访问,对于非运动秀且支持FTMS 协议的设备,阻力范围默认为0-255 档,设备接收到的值也为0-255,可以根据这个范围去映射到自己的档位来调整阻力。
This command will be accessed when using the Sports Show APP. For devices that do not use Sports Show but support the FTMS protocol, the default resistance range is 0-255 levels. The values received by the device will also be in the range of 0-255, and you can map this range to your own levels to adjust the resistance.
获取设备参数指令 / Ble Send (0x41 - 0x02):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x41 | 0x02 | 0x43 | 0x03 |
设备返回 / Device Returns (0x41 - 0x02):
START | CMD | SCMD | DATA | FCS | END | |||
---|---|---|---|---|---|---|---|---|
0x02 | 0x41 | 0x02 | 阻力 (B) / Resistance (B) | 坡度 (B) / Incline (B) | 配置 (B) / Configuration (B) | 预留 (B) / Reserved (B) | xx | 0x03 |
字段 / Flag | 说明 / Explanation |
---|---|
起始码 / Open Code | 0x02 |
指令 / Command | 0x41 |
子指令 / Sub-Command | 0x02 |
阻力 / Resistance | 设备可控制的最大阻力值,即阻力范围为0~最大阻力值,若设备不支持阻力控制,则返回0 The maximum controllable resistance value of the device, i.e., the resistance range is 0 to the maximum resistance value. 若设备不支持阻力控制,则返回0/ If the device does not support resistance control, it will return 0. |
坡度 / Incline | 设备可控制的最大坡度值,即坡度范围为0~最大坡度值,若设备不支持坡度控制,则返回0。当设备类型为登山机时,手动表的坡度恒定为1,仅有一种角度,角度根据机型码获取,电控表的坡度应当大于1,且其坡度与角度数据根据机型获取 The maximum controllable incline value of the device, i.e., the incline range is 0 to the maximum incline value. If the device does not support incline control, it will return 0. When the device type is a mountaineering machine, the slope of the manual meter is constant at 1, with only one Angle, which is obtained based on the model code. The slope of the electric control meter should be greater than 1, and its slope and Angle data are obtained based on the model. |
配置 / Configuration | 详见配置表 / Refer to the configuration table for details. |
预留 / Reserved | 返回0 / Fill by 0 |
FCS | 帧校验,所有指令码(CMD、SCMD)与数据码(DATA)字节按位异或后的值 / The value obtained by XORing all instruction codes (CMD, SCMD) and data bytes (DATA) bitwise. |
结束码 / End Code | 0x03 |
位 / bit | 描述 / Description |
---|---|
0 | 0: 公里 / Kilometers;1: 英里 / Miles |
1 | 0: 不支持暂停 / Pause not supported;1: 支持暂停 / Pause supported |
2 | 1: 支持心率预警 / Heart rate warning supported |
3 | RFU(保留未使用) |
4 - 7 | 高四位 (bit4-bit7) 用于负坡度范围设置,无负坡度则填 0 The upper four digits (bit4-bit7) are used to set the range of negative slope, and 0 is filled if there is no negative slope. |
设备当前状态是APP 运行的依据,也是APP 与设备互通的基础,因此在APP 连接蓝牙后就会以每秒3 次的周期不间断获取设备状态。
The current status of the device is the basis for the operation of the APP and is essential for communication between the APP and the device. Therefore, after the APP connects via Bluetooth, the device status will be continuously retrieved at a rate of 3 times per second.
获取设备状态及数据指令 / Get Device Status and Data Command (0x42):
START | CMD | FCS | END |
---|---|---|---|
0x02 | 0x42 | 0x42 | 0x03 |
设备返回 / Device Returns (0x42):
START | CMD | 状态 / Status (B) | 数据 / Data (N) | FCS | END | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0x02 | 0x42 | 待机 / Idle (0x00) | NA | xx | 0x03 | ||||||
0x02 | 0x42 | 启动中 / Starting (0x01) | 启动倒计时-秒 (B) / Startup Countdown - Seconds (B) | xx | 0x03 | ||||||
0x02 | 0x42 | 运行中 / Running (0x02) | 速度 (W) | 阻力 (B) | 频率 (W) | 心率 (B) | 功率 (W) | 坡度 (B) | 段索引 (B) | xx | 0x03 |
0x02 | 0x42 | 暂停 / Paused (0x03) | NA | xx | 0x03 | ||||||
0x02 | 0x42 | 睡眠 / Sleep (0x14) | NA | xx | 0x03 | ||||||
0x02 | 0x42 | 故障 / Error (0x15) | 故障码 / err code (B) | xx | 0x03 |
数据项 / Data Item | 说明 / Explanation |
---|---|
速度 / Speed | 单位: 0.01km/h 或 0.01mi/h,例如: 1000 代表10.00km/h 或10.00mi/h Unit: 0.01 km/h or 0.01 mi/h. For example, 1000 represents 10.00 km/h or 10.00 mi/h. |
阻力 / Resistance | 可以是档位: 比如1-16 或者1-32;可以是阻值: 0-255 Can be gear levels: e.g., 1-16 or 1-32; or resistance values: 0-255. |
频率 / Cadence/Frequency | 代表踏频、步频、桨频等,若不支持填充0 Represents cadence, step frequency, rowing frequency, etc. Fill with 0 if not supported. |
心率 / Heart Rate | 单位: 1 Unit: 1 |
功率 / Power | 单位: 0.1 瓦,例如: 1000 代表100.0 瓦,若不支持填充0 Unit: 0.1 watts. For example, 1000 represents 100.0 watts. Fill with 0 if not supported. |
坡度 / Incline | 单位: 1% Unit: 1% |
段索引 / Segment Index | 段索引仅在程式模式时使用,从1 开始到程式长度,若不支持填充0 Segment index is only used in program mode, starting from 1 to the program length. Fill with 0 if not supported. |
启动倒计时 / Startup Countdown | 若设备不需要启动倒计时,状态直接从待机变化到运行 If the device does not require a startup countdown, the state will change directly from standby to running. |
设备运行后通过此指令来获取当前运动量数据。
After the device starts running, this command is used to retrieve the current exercise data.
获取运动数据指令 / APP Send (0x43 - 0x01):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x43 | 0x01 | 0x42 | 0x03 |
设备返回 / Device Returns (0x43 - 0x01):
START | CMD | SCMD | DATA | FCS | END | |||
---|---|---|---|---|---|---|---|---|
0x02 | 0x43 | 0x01 | 时间 / Time (W) | 距离 / Distance (W) | 热量 / Calories (W) | 计数 / Count (W) | xx | 0x03 |
数据项 / Data Item | 说明 / Explanation |
---|---|
时间 / Time | 代表运动从开始到当前的时间,以秒为单位 Represents the time elapsed from the start of the exercise to the current moment, in seconds. |
距离 / Distance | 在小于32000 时,最高位为0 单位为1,大于等于32000 时最高位置1 同时单位为10; For distances less than 32,000, the highest bit is 0, and the unit is 1. For distances equal to or greater than 32,000, the highest bit is set to 1, and the unit changes to 10. 例如: 当前距离为30000米,则返回30000 (0x7530);若运动距离达到50000米时,返回37768 (0x9388),值= 距离除以10 后将最高位置1。也可以一开始将最高位置1 来告诉APP 距离都是以为10米为单位。若为公制则传公制数据,英制则传英制数据。 For example: if the current distance is 30,000 meters, it returns 30,000 (0x7530); if the exercise distance reaches 50,000 meters, it returns 37,768 (0x9388), where the value = distance divided by 10 with the highest bit set to 1. Alternatively, the highest bit can be set to 1 from the beginning to indicate to the app that all distances use 10-meter units. Metric data should be sent for metric systems, and imperial data for imperial systems. |
热量 / Calories | 单位为千卡(0.1kcal) Unit: kilocalories (0.1 kcal). |
计数 / Count | 代表运动从开始到当前的感应器计数 Represents the sensor count from the start of the exercise to the current moment. |
APP 在即将开始运行设备时,最先发送此指令给设备,通知设备即将开始,设备在接收到此指令后,进行运动数据重置,同时恢复相关设置值。
Before the device starts running, the app sends this command to notify the device of the upcoming start. Upon receiving this command, the device resets exercise data and restores related settings.
设备就绪指令 / APP Send (0x44 - 0x01):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x01 | 0x45 | 0x03 |
设备返回 / Device Returns (0x44 - 0x01):
START | CMD | DATA | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 倒计时 / Countdown (B) | xx | 0x03 |
发送就绪指令后,APP 会根据用户选择的模式写入相关数据(见下页其它指令部分),之后发送开始指令,设备开始运行,运动后可发送暂停或停止等指令进行相关控制。
After sending the ready command, the app will write the related data based on the mode selected by the user (see other command sections on the next page), and then send the start command. The device will begin operation. After that, the app can send pause or stop commands for further control.
开始/继续指令 / APP Send (0x44 - 0x02):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x02 | 0x46 | 0x03 |
设备返回 / Device Returns (0x44 - 0x02):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x02 | xx | 0x03 |
暂停指令 / APP Send (0x44 - 0x03):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x03 | 0x47 | 0x03 |
设备返回 / Device Returns (0x44 - 0x03):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x03 | xx | 0x03 |
停止指令 / APP Send (0x44 - 0x04):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x04 | 0x48 | 0x03 |
设备返回 / Device Returns (0x44 - 0x04):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x04 | xx | 0x03 |
运动过程中APP 会根据需要发送此指令来控制设备,若设备不支持坡度则忽略坡度值,要求:设备接收此指令时不发提示音。
During exercise, the app will send this command as needed to control the device. If the device does not support incline, the incline value should be ignored. Requirement: The device must not emit a prompt tone when receiving this command.
控制阻力及坡度指令 / APP Send (0x44 - 0x05):
START | CMD | SCMD | DATA | FCS | END | |
---|---|---|---|---|---|---|
0x02 | 0x44 | 0x05 | 阻力 / Resistance (B) | 坡度 / Incline (B) | xx | 0x03 |
数据项 / Data Item | 说明 / Explanation |
---|---|
阻力 / Resistance | 指令档位,比如1-16,或者1-32,根据车表支持的档位 Command Levels, such as 1-16 or 1-32, depending on the levels supported by the console. |
坡度 / Incline | 单位:1% Unit: 1% |
设备返回 / Device Returns (0x44 - 0x05):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x05 | xx | 0x03 |
开始运动前,APP 会发送此指令来明确设备要进行的运动模式。
Before starting exercise, the app will send this command to specify the exercise mode for the device.
设置运动模式指令 / APP Send (0x44 - 0x0B):
START | CMD | SCMD | DATA | FCS | END | |||
---|---|---|---|---|---|---|---|---|
0x02 | 0x44 | 0x0B | 0x00000000 | 模式 / Mode (B) | 0x00 | 目标 / Target Value 阻力/Resistance(B) 心率/Heart Rate(B) 功率/Power(W) |
xx | 0x03 |
参数 / Parameter | 说明 / Explanation |
---|---|
模式 / Mode (B) | 0x10 阻力控制模式 / Ctrl mode for Resistance; 0x20 心率控制模式 / Ctrl mode for Heart Rate; 0x30 功率控制模式 / Ctrl mode for Power |
目标 / Target | 阻力控制模式: 档位; Resistance Control Mode: Levels |
目标 / Target | 心率控制模式: 心率次数 Heart Rate Control Mode: Heart Rate Count |
目标 / Target | 功率控制模式: 单位W Power Control Mode: Unit W |
设备返回 / Device Returns (0x44 - 0x0B):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0x0B | xx | 0x03 |
此功能仅作为设备控制(0x53)的补充项!例如手环数据通过APP 下发到设备心率下发、步数下发、卡路里下发。
This function serves as a supplement to device control (0x53). For example, data from a fitness band (heart rate, steps, calories) can be sent to the device via the app.
例: 02 53 9f (02 00) 9A FCS 03 此时仅下发心率。
e.g. 02 53 9f (02 00) 9A FCS 03 sends heart rate data only.
设备扩展特征值指令 / APP Send (0x53 - 0x9f):
参数 / Parameters | 格式 / Type | 大小 / Length | 取值 / Value & 解释 / Explanation |
---|---|---|---|
Flags | 16Bits | 2 Octets | Bit0: 参数包含解锁码 / Parameters include an unlock code; Bit1: 参数包含心率 / Parameters include heart rate; Bit2: 参数包含总卡路里 / Parameters include total calories; Bit3: 参数包含动态卡路里 / Parameters include dynamic calories; Bit4: 参数包含计步 / Parameters include step count; Bit5-15: 保留 / Reserved |
UnlockCode | Octets | 6 | 厂家自定义,6 字节解锁码,解锁码为0-F 的6 个数字 Manufacturer-defined, 6-byte unlock code. The unlock code consists of six digits ranging from 0 to F. |
Heart Rate | Unit8 | 1 | 心率值 / Heart rate value |
Total Energy | Unit16 | 2 | 总卡路里 / Total calories |
Dynamic Energy | Unit16 | 2 | 动态卡路里 / Dynamic calories |
Step Count | Unit16 | 2 | 实时步数 / Real-time step count |
设备主动发送该指令查询蓝牙连接状态(0x44 - 0xC3)
The device actively sends this command to query the Bluetooth connection status (0x44 - 0xC3)
(V3X,1.1.3 及以上版本,D2/C1/T4,1.3.0 及以上版本支持)
(supported in V3X, version 1.1.3 and above, and D2/C1/T4, version 1.3.0 and above):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC3 | 0x87 | 0x03 |
BLE 发送连接状态(0x44 - 0xC3)
BLE Sends Connection Status (0x44 - 0xC3)
(V3X,1.1.2 及以上版本,D2/C1/T4,1.3.0 及以上版本支持)
(Supported in V3X, version 1.1.2 and above, D2/C1/T4, version 1.3.0 and above):
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC3 | 连接状态 / Connection Status (B) | xx | 0x03 |
START | CMD | SCMD | FCS | END |
0x02 | 0x44 | 0xC5 | 0x81 | 0x03 |
START | CMD | SCMD | DATA(1-14 Bytes)(大端)(MSO…LSO) | FCS | END |
0x02 | 0x44 | 0xC5 | XXXX (eg:"FS-xxxxxx") | xx | 0x03 |
(Supported in V3X, version 1.1.3 and above, D2/C1/T4, version 1.3.0 and above)
START | CMD | SCMD | FCS | END |
0x02 | 0x44 | 0xC6 | 0x82 | 0x03 |
START | CMD | SCMD | DATA(1-14 Bytes)(大端)(MSO…LSO) | FCS | END |
0x02 | 0x44 | 0xC6 | XX:XX:XX:XX:XX:XX | xx | 0x03 |
(Supported in V3X, version 1.1.3 and above, D2/C1/T4, version 1.3.0 and above)
START | CMD | SCMD | DATA(1-14Bytes)(大端/MSO...LSO) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC7 | xx | xx | 0x03 |
(Supported in V3X, version 1.1.7, 2.0.5 and later; D2/C1/T4, version 1.4.0 and later)
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC7 | 确认码/verification code | xx | 0x03 |
推荐流程:模块初始化完成后,查询名称,若不是目标名称,再进行改名/ Recommended process: After the module initialization is completed, query the name. If it is not the target name, then rename it
(Supported in D2/C1/T4, version 1.3.7 and above)
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xD1 | 0x80 | 0x03 |
START | CMD | SCMD | DATA(1-29 Bytes)(大端/MSO…LSO) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xD1 | XXXX (eg:"FS-xxxxxx") | xx | 0x03 |
(Not supported in V3X; supported in D2/C1/T4, version 1.3.4 and above)
START | CMD | SCMD | DATA(1-29 Bytes)(大端/MSO…LSO) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC8 | xx | xx | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC8 | xx | 0x03 |
之后必须要发送修改蓝牙名称的指令才会进行保存,如果蓝牙名称不修改,直接发送 02 44 c7 83 03 / To save the changes, the command to modify the Bluetooth name must be sent. If the Bluetooth name is not modified, directly send 02 44 C7 83 03
(Supported in V3X, version 1.1.6 and above; V3X Master-Slave version 2.0.3 and above; D2/C1/T4, version 1.3.4 and above)
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xC9 | xx | 0x03 |
START | CMD | SCMD | DATA(大端/MSO…LSO) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xC9 | xxx (eg: FS-BT-C1) | xx | 0x03 |
查询后蓝牙回复型号,例如:FS-BT-C1 / After querying, the Bluetooth module responds with the model, e.g., FS-BT-C1
(Supported in V3X, version 1.1.6 and above; V3X Master-Slave version 2.0.3 and above; D2/C1/T4, version 1.3.4 and above)
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xCA | xx | 0x03 |
START | CMD | SCMD | DATA(大端/MSO…LSO) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xCA | xxx (eg: FS240528001) | xx | 0x03 |
查询后蓝牙回复编号,例如:FS240528001 / After querying, the Bluetooth module responds with the serial number, e.g., FS240528001
(Not supported in V3X; supported only in C1/T4, version 1.3.4 and above)
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xCB | 0x8F | 0x03 |
START | CMD | SCMD | DATA | 预留/Reserved | 预留/Reserved | FCS | END | |
---|---|---|---|---|---|---|---|---|
0x02 | 0x44 | 0xCB | 音频连接状态/Audio connection status(B) | 播放状态/Play state(B) | 0x00 | 0x00 | xx | 0x03 |
(Supported in V3X, version 1.1.3 and above, D2/C1/T4, version 1.3.0 and above)
START | CMD | SCMD | DATA (心率阈值/Heart Rate Limit Value) | FCS | END |
---|---|---|---|---|---|
0x02 | 0x46 | 0x03 | B | xx | 0x03 |
(Supported in V3X, version 1.1.3 and above, D2/C1/T4, version 1.3.0 and above)
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x46 | 0x03 | xx | 0x03 |
音频控制需要下位机"主动"上报!在程序设计上,该功能优先级应该处于低优先级的状态。/ Audio control requires the lower computer to actively report! In program design, this function should have a low priority status.
(Only supports Bluetooth modules of C1/D2/T4)
设备上报播放、暂停指令/Device reports the play/pause command (0x62 - 0x01):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x01 | xx | 0x03 |
设备上报停止指令/Device reports the stop command (0x62 - 0x02):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x02 | xx | 0x03 |
设备上报下一首指令/Device reports the next command (0x62 - 0x03):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x03 | xx | 0x03 |
设备上报上一首指令/Device reports the previous command (0x62 - 0x04):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x04 | xx | 0x03 |
设备上报音量+指令/Device reports the volume up command (0x62 - 0x0B):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x0B | xx | 0x03 |
设备上报音量-指令/Device reports the volume down command (0x62 - 0x0C):
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x62 | 0x0C | xx | 0x03 |
1. 开发APP时,用以下服务进行数据交互即可:协议一致/When developing the app, use the following services for data interaction: the protocol is consistent.
类型/Type | UUID(16 bits) | 备注/Remarks |
---|---|---|
服务/Service | FFF0 | 广播时支持,连接后可获取/Supported during broadcasting, can be obtained after connection |
接收特征/Receive Characteristic | FFF1 | Notify、Indicate |
发送特征/Send Characteristic | FFF2 | Write WithoutResponse |
START | CMD | SCMD | 配置数据1 (1 Byte)/Configuration Data 1 | 配置数据2 (1 Byte)/Configuration Data 2 | 配置数据3 (1 Byte)/Configuration Data 3 | 配置数据4 (5 Bytes)/Configuration Data 4 | FCS | END |
---|---|---|---|---|---|---|---|---|
0x02 | 0x44 | 0xD2 | -- | -- | -- | -- | xx | 0x03 |
配置数据1/Configuration Data 1: (Supported by V3X model V2.0.6+; F5 model V1.0.0+; not supported by other models)
位/Bit | 说明/Explanation | 位/Bit | 说明/Explanation |
---|---|---|---|
0 | 1=无线心率打开/Wireless heart rate on; 0=无线心率关闭/Wireless heart rate off | 4 | RFU (预留/Reserved) |
1 | RFU | 5 | RFU |
2 | RFU | 6 | RFU |
3 | RFU | 7 | RFU |
配置数据2/Configuration Data 2: (Supported by F5 model V1.0+; C1/T4 model V1.4.0+; not supported by other models)
设置密码为 "0000"时,默认为不需要密码/When the password is set to "0000", no password is required by default
字节/Byte | 说明/Explanation |
---|---|
Byte 0 | 1=音频配对需要密码/Audio pairing requires password; 0=音频配对不需要密码/Audio pairing does not require password |
Byte 1~4 | 配对密码/Pairing password (eg: 1234, only numbers 0~9) |
配置数据3/Configuration Data 3: 预留,按0填充/Reserved, fill with 0
配置数据4/Configuration Data 4: 预留,按0填充/Reserved, fill with 0
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xD2 | xx | 0x03 |
配置之后蓝牙模块需要重新上电后方可生效/After configuration, the Bluetooth module needs to be powered on again for it to take effect
设备主动发送该指令查询蓝牙名称(目前仅C1/D2/T4 的1.4.0 版本支持)/ The device actively sends this command to query the Bluetooth name (currently only supported by version 1.4.0 of C1/D2/T4)
START | CMD | SCMD | DATA | FCS | END |
---|---|---|---|---|---|
0x02 | 0x44 | 0xCC | 0X00:关闭OTA模式/Turn off OTA mode; 0X01:开启OTA模式/Enable OTA mode | XX | 0x03 |
START | CMD | SCMD | FCS | END |
---|---|---|---|---|
0x02 | 0x44 | 0xCC | xx | 0x03 |
该功能需要前期与运动秀联调完成后,将需要OTA 的固件上传至运动秀后台即可完成,下控部分需要能够支持该方式升级/ This function requires initial joint debugging with Sports Show; after that, upload the OTA-required firmware to the Sports Show backend to complete. The lower control part must support this upgrade method.
蓝牙回复该指令后进入透传模式/After Bluetooth responds to this command, it enters transparent transmission mode:
透传通道为/The transparent transmission channel is: