# Rebar Detector PYQT **Repository Path**: lainyu/rebar-detector-pyqt ## Basic Information - **Project Name**: Rebar Detector PYQT - **Description**: The C++ old one is erupted, rewrite all by pyqt. This is a software equip with a rebar detector. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-12 - **Last Updated**: 2021-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: radar ## README # 钢筋测量仪软件使用说明 钢筋测量仪用于测量钢筋。这是一份配套软件的使用说明书。 软件是根据MFC/C++版本移植的,由于MFC/C++版本无法解决算法上的问题,雷达无法成像,于是移植到PYTHON上。 这个软件完整保留先前软件的功能。 原先软件界面: ![](./resources/originUI.png) 新版软件界面: VNA已经连接, 钢筋测量仪失联的情况: ![](./resources/newUI2.png) VNA和钢筋测量仪都连接的情况: ![](./resources/newUI3.png) 钢筋测量仪连接,VNA失联的情况: ![](./resources/newUI5.png) ## 按钮功能介绍 ![](./resources/buttons.png) ### 1. 开始 点击开始按钮,在短暂延迟后,软件和设备进入采集模式,软件开始从设备处接收数据,并根据数据图像化显示到界面上。 点击开始按钮后,仪器收到命令,开始进行厚度测量。 * 开始按钮只在VNA或者钢筋测量仪两者至少其一连接上时才可以变成可以点击的状态 ### 2. 直径测量 点击直径测量,软件发送直径测量的命令到设备, 设备进入直径测量模式, 在短暂延迟后(5s左右), 软件根据接收到的数据图像化到界面。 * 直径测量按钮只在 正在进行采集的状态 才会变成可点击状态 ### 3. 直径估计 点击直径估计, 软件发送直径估计的命令到设备, 设备进入直径估计模式, 在短暂延迟后(5s左右), 软件根据接收到的数据图像化到界面。 * 直径估计按钮只在 进入直径测量模式后 才会变成可点击状态 ### 4. 停止 点击停止按钮, 软件发送停止命令到设备并停止接收数据。 * 停止按钮只在 采集模式下 才会变成可点击状态 ### 5. 设置参数 点击设置参数,软件会根据当前设备连接情况发送对应参数到设备。 比如当前只有VNA连接的情况下,只会发送参数到VNA。 * 设置参数只在 非采集模式 变成可点击状态 ## 图像 单次雷达波形图位于左上方: ![](./resources/waveGraph.png) 多次雷达数据数据合并的灰度图为右上方: ![](./resources/bscanGraph.png) 下方是**最后200条有效数据**钢筋测量仪的电量图: ![](./resources/voltageGraph.png) ## 消息 关于**有效数据**的说明 1. 在钢筋测量仪连接通的状态下, 有效数据的定义为: 点击开始按钮进入采集模式后,对比当前以及前一条钢筋测量仪返回的数据,如果**shift(位移)上有变化**,则**当前钢筋测量仪的数据以及当前雷达数据**都会作为有效数据被保存到内存里。 如果shift(位移)没有变化,则当前这条数据只做一个实时数据显示,之后丢弃。 2. 在刚劲测量仪未连通的状态下,由于无法判断shif(位移),所以 有效数据的定义为: 点击开始按钮进入采集模式后,所有VNA发送并做逆向傅里叶变换后的数据都是有效数据, 并保存到内存里。 ### 实时数据 ![](./resources/bottomUI.png) 下方是钢筋测量仪回传的实时数据。 当在位移有变化时,此条数据才是**有效数据**,有效数据会计入内存(计数+1),并显示到图像上。 当位移没有变化时,词条数据作为**无效数据**被丢弃,只会显示解析后的数据,但不计入内存,也不会显示到图像上。 ### 设备连接状态 最下方是设备连接情况,有三种情况: 1. VNA 和 Rebar(钢筋测量仪) 都连接上 2. VNA已经连接,Rebar失去连接 3. VNA失去连接, Rebar已经连接 如果在某种情况下用户希望重新获得VNA连接可以点击 **功能=》重连VNA** 重置连接状态。 如果在某种情况下用户希望重新获得钢筋测量仪连接可以点击 **功能-》重连钢筋测量仪** 重置连接状态。 如果用户确定设备配置正确,但软件始终无法获取连接,可以关闭软件,重开一局。 ### 数据保存 用户在进行一次采集后, 可以手动保存本次采集到的数据。 点击**文件=》保存本次数据**, 软件会根据本次采集到的VNA,钢筋测量仪的数据分开进行保存, 保存到 ./data 文件夹里。 ### 校准文件配置 校准文件配置位于./configs/appconfig.yml文件,找到 ``` CALI_FILE: C:/Users/hp/PycharmProjects/rebarProject/resources/vnacal.cal ``` 讲路径改为用户的校准文件路径,**注意windows下的斜杠和反斜杠书写, 并使用绝对路径!** ## 文件结构 - configs: 配置文件,翻译文件 - connexions: 服务器,设备等连接代码 - data: APP采集数据保存后的存放点 - resources: 校准文件,以及一些图标 - tools:工具类代码,比如解析数据,算法,工具函数等 - installer: 安装所需要的包 - 其他:剩下在主文件夹内都是主要的APP代码,界面,Controller,VNA启动器,图像生成代码 ## 离线安装 1. 将项目文件拷贝到WINDOWS下离线环境, 安装python3.8.exe,记得勾选 `add to PATH`,将python加入环境变量中。 2. 安装完python后,打开CMD,运行python --version可以看到版本号证明安装成功并加入了环境变量 ``` C:\Users\hp>python --version Python 3.8.5 ``` 3. 在命令行中进入到项目文件路径下,运行命令: ``` pip install --no-index --find-links=installer -r requirements.txt ``` 4. 等待第三步安装完成后,修改校准文件的路径。修改方法在上文**校准文件配置**中提及。保证该电脑C盘下有VNA应用。 双击项目文件夹下的main.py可以开始使用软件。 如果双击无效,请通过cmd运行命令`python main.py`启动。