项目简介
本项目是开源的ACAP版本4(原生)应用程序。借助OpenCV开展视频分析,读取模拟仪表的读数,并通过内置的OPC UA(open62541)服务器将读取数值以百分比形式对外暴露。为工业自动化环境提供示例和模板,能利用计算机视觉技术从视频流中读取仪表读数,发送到服务器用于监控或控制操作。
项目的主要特性和功能
- 利用OpenCV分析视频流,自动捕捉模拟仪表的数字读数。
- 通过内置OPC UA服务器,将仪表数值以百分比形式暴露给客户端,便于与工业系统集成。
- 适用于关闭或启动PLC进程、生成报警、在SCADA服务器界面显示实时值以及维护历史日志等场景。
- 支持手动和脚本化两种安装和配置方式,可设置校准点、OPC UA服务器端口等参数。
- 可通过设置
DEBUG_WRITE
变量,将视频分析各步骤的图像存储到磁盘进行调试。 - 将提取的仪表读数作为动态文本覆盖字符串,可在相机上显示或供图形小部件使用。
安装使用步骤
构建项目
本项目使用ACAP SDK构建容器和Docker进行构建,Docker命令集成在Makefile
中。
- 若已安装Docker和make
,可使用以下命令构建:
sh
make dockerbuild
或并行构建:
sh
make -j dockerbuild
- 若有Docker但无make
,可使用以下命令构建:
- 32位ARM设备(如基于ARTPEC - 6和ARTPEC - 7的设备):
sh
DOCKER_BUILDKIT=1 docker build --build-arg ARCH=armv7hf -o type=local,dest=..
- 64位ARM设备(如基于ARTPEC - 8的设备):
sh
DOCKER_BUILDKIT=1 docker build --build-arg ARCH=aarch64 -o type=local,dest=..
调试项目
若需要将视频分析各步骤的图像存储到磁盘进行调试,可在构建时设置DEBUG_WRITE
变量:
sh
DEBUG_WRITE=y make -j dockerbuild
或使用Docker命令:
sh
DOCKER_BUILDKIT=1 docker build --build-arg DEBUG_WRITE=y --build-arg ARCH=armv7hf -o type=local,dest=..
DOCKER_BUILDKIT=1 docker build --build-arg DEBUG_WRITE=y --build-arg ARCH=aarch64 -o type=local,dest=..
安装和配置项目
手动安装和配置
- 通过相机的Web UI(Apps->Add app)上传ACAP应用文件(扩展名为
.eap
,需与相机架构匹配)。 - 安装完成后,启动应用程序。
- 点击Open按钮,打开应用程序的设置页面。
- 在设置页面的图像中依次点击设置校准点:仪表中心、仪表最小值、仪表最大值。
- 也可通过应用程序的参数设置(在三个垂直点菜单中)直接设置校准点、OPC UA服务器端口(默认4840)和顺时针/逆时针方向(默认顺时针)。
脚本化安装和配置
- 上传ACAP应用文件:
sh curl -k --anyauth -u root:<password> \ -F packfil=@OPC_UA_Gauge_Reader_<version>_<architecture>.eap \ https://<camera hostname/ip>/axis-cgi/applications/upload.cgi
- 启动应用程序:
sh curl -k --anyauth -u root:<password> \ 'https://<camera hostname/ip>/axis-cgi/applications/control.cgi?package=opcuagaugereader&action=start'
- 列出当前设置:
sh curl -k --anyauth -u root:<password> \ 'https://<camera hostname/ip>/axis-cgi/param.cgi?action=list&group=opcuagaugereader'
- 设置OPC UA服务器端口(如设置为4842):
sh curl -k --anyauth -u root:<password> \ 'https://<camera hostname/ip>/axis-cgi/param.cgi?action=update&opcuagaugereader.port=4842'
使用项目
将OPC UA客户端连接到ACAP中设置的端口,客户端即可从应用程序的OPC UA服务器读取仪表数值及其时间戳。此外,应用程序还会将仪表数值记录在相机的系统日志中。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】