一、概要
当前第三方提供蓝牙为低功耗蓝牙(4.0),数据交互可按下面步骤进行操作,后期具体业务操作需按照ICPS项目设计进行完成,当前只提供基本数据通信用列。
二、联机流程
- 扫描 BLE 设备,通过蓝牙名称筛选出朗睿 CC41-A 回弹仪设备
- 连接设备,枚举 service ,枚举 characteristic,开启更新通知。
- 写 characteristic 以发送指令,等待 characteristic 可读通知,读 characteristic 以接收回应
- 重复3步骤
- 断开连接
三、属性数值
| 名称 | 数值 |
|---|---|
| 蓝牙名称(仪器序列号) | 例如HC20050026(以HC开头进行判断回弹仪类型) |
| Service UUID | FFE0-0000-1000-8000-00805F9B34FB |
| Characteristic UUID(写) | FFE2-0000-1000-8000-00805F9B34FB |
| Characteristic UUID(读) | FFF1-0000-1000-8000-00805F9B34FB |
四、命令语句
回弹仪设备联机成功后,确认相关Characteristic UUID中的订阅信息为开启状态,同时确保对进行写入操作。
1.确认设备连接成功
输入【0x22 , 0x11 , 0x00 , 0x00】byte数组
回弹仪设备接收到后同样会返回byte数组
【0x22 , 0x11 , 0x00 , 0x00】
有返回表示可进行弹击试验,获取弹击返回的强度值,返回的数值(16进制)需转化为普通数值(十进值)。
2.采样数据命令操作
- 手机app点击开始采样以后,手机app上传0x40 0x01+测区个数+曲线序号 +泵送信息+角度+面+累加和校验。
回弹仪收到上述信息以后,回弹仪回复0x40+0x01+累加和校验。10个测区北京曲线向上30度表面,列如:0x40 0x01 0x0A 0x01 0x01 0x01 0x01 0x4F。
【曲线用需要表示】
| 统一曲线 | 北京曲线 | 上海曲线 | 山东曲线 | 辽宁曲线 | 浙江卵石 | 浙江碎石 | 福建碎石 | 福建卵石 |
|---|---|---|---|---|---|---|---|---|
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 |
| 贵州曲线 | 江苏曲线 | 陕西曲线 | 河南曲线 | 重庆碎石 | 重庆卵石 | 重庆泵送 | 福建泵送 | 安徽泵送 |
|---|---|---|---|---|---|---|---|---|
| 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 兰州泵送 | 水运曲线 | 宁夏曲线 | 青岛曲线 | 小砌体曲线 | 深圳曲线 | 河北曲线 | 铁建曲线 | |
|---|---|---|---|---|---|---|---|---|
| 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
统一、山东、贵州、江苏、青岛、河北曲线可以设置为非泵送,其他为泵送曲线。非泵送时泵送信息是0,泵送时泵送信息是1。
【角度表示】
| 水平0° | 向上30° | 向上45° | 向上60° | 向上90度 | 向下30° | 向下45° | 向下60° | 向下90° | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
【视图 - 面向】
| 侧面 | 表面 | 底面 |
|---|---|---|
| 0 | 1 | 2 |
2.开始检测==>回弹仪发送回弹值,0x40+回弹值+测点数+累加和校验。App收到数据后回复0x40+ 0x02+累加和。
例子:发送:0x40 0x20 0x00 0x60 ====> 回应数值:0x40 0x00 0x40
设备下次发送测点数就改为0x01。
3.删除测点==>APP发送0x40 0x03+需删除测点数+累加和,回弹仪回复0x40 +0x03+累加和。
4.完成本测区测试==>回弹仪不再发送数据。等待APP发送指令进入下一测区,APP发送0x40 0x04+下一测区号+累加和。回弹仪回复0x40+0x04+累加和。
5.完成所有测区检测后,回弹仪等待APP发送碳化值,0x24+测区1碳化值+测区2碳化值…+累加和。发送时把输入碳化值除以0.25,把结果发送。比如碳化值为1,发送0x04;碳化值发送都是20个测区,未输入的用0xff替代回弹仪回复0x40+测区1强度值+……+构件强度值+强度均值+强度最小值+标准差+累加和校验。强度值,强度均值,强度最小值及标准差都是用两个字节标志。比如强度值20.0用0x00 0xC8,标准差是精确到小数点后两位,比如2.00用0x00 0xC8表示。
如果标准差、平均强度值为0xff 0xff 则表示无此值,app用“/”表示
如果强度值第一个字节的第8位是1则表示强度值大于强度值最上限,如:大于60MPa,用0x82 0x58 表示
如果强度值第一个字节的第7位是1则表示强度值小于强度值最下限,如:小于10MPa,用0x40 0x64 表示
(提供蓝牙开发协议(在协议 是 0x22 0x11 0x00 0x00 开始弹击 发送16位进制回弹值 0x22 0x22 0x00 0x00 结束弹击))