乐陵中回 - 回弹仪蓝牙操作说明
一、中回数字回弹仪通信协议
本协议为中回无线蓝牙数字回弹仪公开协议,各个友商可根据本协议配合开发相关应用。涉及到蓝牙通讯的回弹仪,目前 ZC225-B 型回弹仪采用的是蓝牙 4.0 SPP协议蓝牙,联系方式请登陆乐陵市回弹仪厂官网 www.hty.cn 查看。
本协议仅针对中回系列回弹仪产品:ZC225-B 型蓝牙云回弹仪 。
1.指令格式
起始符 + 命令识别码 + 数据帧 + 校验码<crc> + 结束符 + \r\n
1.1 命令起始符和结束符
$:起始符
#:结束符
1.2 数据帧
数据帧:前后以 ASCII 字符 " 标识,多个内容以 ASCII 字符, 隔开。(发送或应答可不包含数据帧)
在数据帧中,ASCII 字符 T 代表是、真、开启、合格等信息,ASCII 字符 F代表非、假、关闭、不合格。字符空格 null 代表本型号设备不包含此项功能或无效的数据,所有数据内容均采用 ASCII 字符型数据。
1.3 校验码
校验码:单字节累加和,占用一个字节(不含起始符和结束符,仅含命令识别码和数据帧),如下示例中的校验码全用代替。
1.4 命令识别码
1)上下位机通用命令
OK:接收成功
ERR:接收错误
2)上位机(APP 端)主模式发送
如下命令是上位机发送给回弹仪的命令。
① RDI:读取设备信息(Read device information)
② RUI:读取仪器使用信息(Read usage information)
③ RSI:读取系统设置信息(Read setting information)
④ MSI:修改系统设置信息(Modify system settings)
⑤ SRS:开启回弹采样(Start rebound sampling)
⑥ ERS:结束回弹采样(End rebound sampling)
⑦ RCI:读取仪器率定信息(Read calibration information)
⑧ MCI:修改仪器率定信息(Modify calibration information)
3)上位机(APP 端)接收
如下命令是回弹仪发送给 APP 的命令或信息。
RRD:实时回弹值数据(Receive rebound data)
2. 命令说明及示例
#### **2.1 读取设备信息:**
上位机发送:$RDI#\r\n
下位机返回:$RDI+"设备名称,设备编号,系统版本"+#\r\n
举例:$RDI"ZC3-B,20040701,V1.00"#\r\n
注:返回内容不正确或超时(500ms)可重新发送指令
2.2 读取仪器使用信息:
上位机发送:$RUI#\r\n
下位机返回:$RUI+"设备开机次数,弹击次数,按键按压次数"+#\r\n
举例:$RUI"00000001,00000001,00000001"#\r\n
注:返回内容不正确或超时(500ms)可重新发送指令
2.3 读取系统设置信息:
上位机发送:$RSI#\r\n
下位机返回:$RSI+"回弹上限,回弹下限,回弹初值,休眠延时(秒),关机延时(分钟),语音开关,蓝牙开关"+#\r\n
举例:$RSI"99,15,08-31-64,30,30,F,T"#\r\n
注:返回内容不正确或超时(500ms)可重新发送指令
2.4 修改系统设置信息:
上位机发送:$MSI+"回弹上限,回弹下限,回弹初值"+#\r\n
举例:$MSI"99,15,08-31-64"#\r\n
下位机返回:OK#\r\n 或 ERR#\r\n
举例:$RUI"00000001,00000001,00000001"#\r\n
注:返回内容不正确、超时(500ms)或者为 ERR 可重新发送指令ZC225-B 回弹上下限固定为 99 和 15,不可修改,配置其他值无效,如需限制回弹上下限,可在软件端限制。
**2.5 开启回弹采样:**
对于 ZC3-B 有效,可用 APP 连接蓝牙云回弹仪,发送此指令表示需开启回弹采样,以实现云回弹功能。
上位机发送:$SRS#\r\n
下位机返回:OK#\r\n 或 ERR#\r\n
注:返回内容不正确、超时(500ms)或者为 ERR 可重新发送指令
2.6 开启回弹采样:
对于 ZC3-B 有效,可用 APP 连接蓝牙云回弹仪,在回弹采样完成后,发送此指令表示结束采样。
上位机发送:$ERS#\r\n
下位机返回:OK#\r\n 或 ERR#\r\n
注:返回内容不正确、超时(500ms)或者为 ERR 可重新发送指令
2.7 结束回弹采样:
对于 ZC3-B 有效,可用 APP 连接蓝牙云回弹仪,在回弹采样完成后,发送此指令表示结束采样。
上位机发送:$ERS#\r\n
下位机返回:OK#\r\n 或 ERR#\r\n
注:返回内容不正确、超时(500ms)或者为 ERR 可重新发送指令
2.8 ZC3-B 发送回弹采样值:
该命令是 ZC3-B 蓝牙云回弹仪的有效命令,在接收到上位机(APP)的“开 启回弹采样”命令后,回弹仪每弹击采样一次,就通过蓝牙端口发送一个采样值 给 APP。当回弹仪接收到上位机(APP)的“结束回弹采样”命令后,就停止发 送采样值给 APP。
下位机返回:$RRD+"回弹值"+#\r\n
举例:$RRD"30"#\r\n (表示此次回弹采样值为 30)
上位机接收正确发送:$OK#\r\n (超时代表接收正确)
上位机接收错误发送:$ERR#\r\n (下位机可重新发送)
2.9 读取仪器率定信息:
上位机发送:$RCI#\r\n
下位机返回:$RCI+"率定值,率定结果"+#\r\n
举例:$RCI"80,T"#\r\n
注:返回内容不正确或超时(500ms)可重新发送指令
2.10 修改仪器率定信息:
上位机发送:$MCI+"率定值"+#\r\n
举例:$MCI"80"#\r\n
下位机返回:OK#\r\n 或 ERR#\r\n
注:返回内容不正确、超时(500ms)或者为 ERR 可重新发送指令
二、回弹仪通信操作说明
1.联机流程
- 扫描 BLE 设备,通过蓝牙名称筛选出博远 HT225S 回弹仪设备
- 连接设备,枚举 service ,枚举 characteristic,开启更新通知(连接后设备中蓝色的灯亮起)
- 写 characteristic 以发送指令,等待 characteristic 可读通知,读 characteristic 以接收回应
- 重复3步骤
- 断开连接
2.属性值说明
| 名称 | 数值 |
|---|---|
| 蓝牙名称(仪器序列号) | ZC3-T/ZC3-U(测试机名称)(以ZC3开头进行判断回弹仪类型) |
| Service UUID | 49535343-FE7D-4AE5-8FA9-9FAFD205E455 |
| Characteristic UUID | 49535343-ACA3-481C-91EC-D85E28A60318 |
3.命令语句说明
当前提供的技术对接文档中演示的命令语句使用的是Ascli编码进行数据读写操作,因保障和之前对接蓝牙设备需求相同需使用Hex(16进制)进行数据读写操作。
【实际案例举例:】
下位机发送回弹仪采样值:24 52 52 44 22 “实际回弹值” 22 “校验码” 23 0D 0A
开启回弹仪采样:24 53 52 53 F8(校验码)23 0D 0A
结束回弹仪采样:24 45 52 53 EA(校验码)23 0D 0A
获取设备信息:24 52 44 49 DF(校验码) 23 0D 0A
项目中实际对接需命令类型,以实际业务为准。其中重点为校验码的生成,开发人员需注意上述生成方式。
【在线工具】
CRC - 和校验工具:https://www.23bei.com/tool-8.html
字符串和16进制互转工具:https://zixuephp.net/tool-str-hex.html
【iOS选手注意,注意,注意】
iOS在对接时,中回技术对接反馈蓝牙读写的特征值是分开的,需在特征值1写入操作命令,在特征值2中会接收到相应的通知值。具体特征值如图: