0baf228c6768012602a8cdb149bf04946c06ea8f
图数一体机遥控端 QT 界面(wuhan)
依据《QT界面详细设计说明书.md》实现的“玉兔工业无线遥控器(YTZT6K8EART2-aL25)”遥控端界面, 覆盖 ③开机密码(含密码警告/密码管理登录/密码管理/密码重置)④自检 ⑤作业选择 ⑥机器人底盘 ⑦机械臂 ⑧气体检测仪 ⑨手动消除 ⑩手动消毒 ⑪调试维护 ⑫故障查询 共 10 个界面, 并配套 UDP 收包 / 发包通信 与内置模拟车载端。
环境与构建
- Qt 5.15.2 MinGW 32-bit(
F:\QT\5.15.2\mingw81_32),编译套件Desktop Qt 5.15.2 MinGW 32-bit。 - 用 Qt Creator 打开
wuhan.pro直接构建运行即可(qmake 工程,QT += network)。
命令行构建示例:
export PATH="/f/QT/Tools/mingw810_32/bin:/f/QT/5.15.2/mingw81_32/bin:$PATH"
mkdir -p build && cd build
qmake ../wuhan.pro -spec win32-g++ "CONFIG+=debug"
mingw32-make -j4
运行:debug/wuhan.exe(1920×1080 全屏无边框)。
运行说明
- 开机密码默认 6789(可在“忘记密码/修改密码 → 密码管理登录(管理员密码 6789)→ 密码管理 → 重置密码”中修改)。
- 密码正确后进入自检,自检完成 2 秒自动进入“作业选择”;自检异常时可“忽略故障”继续。
- 底部状态条上的模式徽标可点击(或按键盘 M)在“行车模式 / 机械臂模式”间切换; 行车模式操作底盘,机械臂模式操作机械臂。
- 软急停:各页顶条右上角“急停”按钮,或按键盘 E;急停后需点击“复位”恢复。
- ⑨⑩ 运行中“返回”无效(需先停止);调试维护页常显红色警告。
通信(UDP 收包 / 发包)
通信层位于 comm/udpcommunication.cpp,协议为 JSON 文本(QJsonDocument):
- 遥控端绑定本地端口
9000,向127.0.0.1:9001发包; - 内置模拟车载端
comm/mockvehicle.cpp绑定9001,向9000回传遥测,并对命令作出响应。
上行命令(UI→车载端,{"t":...}):chassis_move arm_move arm_return arm_pause
gas_start gas_stop wash_start wash_stop ball_valve pump_power pump_rpm
set_param selfcheck_start estop estop_reset。
下行遥测(车载端→UI):heartbeat chassis arm wash tank gas valve pump
estop selfcheck selfcheck_done。
可在 config.ini(程序目录)中配置 net/local_port、net/remote_host、net/remote_port、
net/mock(true 启用内置模拟端,false 连接真实车载端)、net/selfcheck_fault(自检故障演示)。
参数(车速、柱塞泵流量、发泡倍数、泡沫比例、空压机流量)与密码经 QSettings 持久化,上电自动读取。
目录结构
app/全局常量、配色、应用上下文(AppContext)、QSS 样式、闪烁工具comm/UDP 通信层 + 内置模拟车载端widgets/公共组件:TitleBar / StatusStrip / LedIndicator / NumPadDialog / ConfirmDialog / AlarmBanner / ParamControl / DataCard / FaultTablepages/各界面(继承 BasePage),对应关系如下:
| 界面 | 文件(.h / .cpp) | 类名 |
|---|---|---|
| 页面基类 | base | BasePage |
| ③ 开机密码 | bootpassword | BootPasswordPage |
| ③ 密码警告 | warning | WarningPage |
| ③ 密码管理登录 | passwordmgmtlogin | PasswordMgmtLoginPage |
| ③ 密码管理 | passwordmgmt | PasswordMgmtPage |
| ③ 密码重置 | passwordreset | PasswordResetPage |
| ④ 自检 | selfcheck | SelfCheckPage |
| ⑤ 作业选择 | jobselect | JobSelectPage |
| ⑥ 机器人底盘 | chassis | ChassisPage |
| ⑦ 机械臂 | arm | ArmPage |
| ⑧ 气体检测仪 | gasdetector | GasDetectorPage |
| ⑨/⑩ 共用基类 | washbase | WashBasePage |
| ⑨ 手动消除 | manualclean | ManualCleanPage |
| ⑩ 手动消毒 | manualdisinfect | ManualDisinfectPage |
| ⑪ 调试维护 | debugmaintain | DebugMaintainPage |
| ⑫ 故障查询 | faultquery | FaultQueryPage |
mainwindow.h/.cpp主窗口(QStackedWidget 页面路由 + 全局急停横幅)
Languages
C++
93.4%
Python
6.1%
QMake
0.5%