1.添加vnc固件
将vnc更新文件解压到U盘根目录,U盘要求fat32格式/32G以内U盘
U盘根目录显示如下

该固件不要同视频固件,导出程序放在一起,需要单独进行更新。
2.程序中添加指令
void HmiApp::onReady(){
//用户在此添加客户化代码
system("/customer/tool/hmi-vnc start --port 5901 --allow 192.168.1.0/24 --no-auth");
}
3.参数说明
|
参数 |
说明 |
|---|---|
--port 5901 |
VNC 监听端口,默认 5901,范围 1–65535 |
--bind 0.0.0.0 |
监听屏幕的哪个 IPv4 地址,默认监听所有 IPv4 网卡 |
--allow all |
允许任意来源 IPv4 连接 |
--allow 192.168.1.0/24 |
只允许 IP 为 192.168.1.x 的电脑连接 |
--allow 192.168.1.50 |
只允许指定 IP 的电脑连接 |
--no-auth |
免密码连接 |
--password-file /customer/vnc.pass |
从指定文件读取密码,密码是一行 1–8 字节的 ASCII 文本 该项必须保证在/customer下面有vnc.pass文件 |
--view-only |
只允许查看画面,禁止通过 VNC 操作触摸 |
--pid-file /tmp/hmi-vnc.pid |
指定实例锁文件,默认如左。自定义后,查询和停止也必须传相同路径 |
--log-file /tmp/hmi-vnc.log |
指定后台日志路径,默认如左,采用追加写入 |
--json |
让启动、停止、查询结果使用 JSON 输出 |
4.子命令说明
| 子命令 | 作用 |
|---|---|
start |
后台启动。服务完成初始化并开始监听后才返回,自带后台运行,无需加 & |
stop |
停止服务,断开当前连接。已经停止时重复调用仍返回成功 |
status |
查询运行状态 |
restart |
先停止再启动,修改端口、密码或允许网段时使用 |
serve |
前台运行,适合交给进程守护器管理 |
5.基本格式
/customer/tool/hmi-vnc 子命令 参数
6.常用调用
//允许 192.168.1.x 网段的电脑免密码连接:
system("/customer/tool/hmi-vnc start --port 5901 --allow 192.168.1.0/24 --no-auth")
//允许任意来源免密码连接,能访问该端口的电脑都可以连接和操作:
system("/customer/tool/hmi-vnc start --port 5901 --allow all --no-auth")
//免密码、只允许查看:
system("/customer/tool/hmi-vnc start --port 5901 --allow 192.168.1.0/24 --no-auth --view-only")
//查询状态:
system("/customer/tool/hmi-vnc status --json")
//运行中返回类似结果:
//{"running":true,"pid":1234,"port":5901,"bind":"0.0.0.0","allow":"192.168.1.0/24","auth":"none","view_only":false}"
//停止服务:
system("/customer/tool/hmi-vnc stop")
//把允许网段改成 192.168.0.x:
system("/customer/tool/hmi-vnc restart --port 5901 --allow 192.168.0.0/24 --no-auth")