从零开始安装EdgeX ONVIF Camera Device Service

本文将介绍从拿到一台新电脑开始,如何一步一步安装EdgeX ONVIF Camera Device Service,并找到ONVIF IP Camera

第一步, 安装Ubuntu20.04, 安装完毕后,可以获得系统信息如下所示:

Ubuntu 20.04 on Intel NUC

第二步,安装向日葵远程控制软件 或者 Teamviewer,方便用笔记本远程控制这台安装了Ubuntu20.04的设备

第三步,在Software & Updates中配置Ubuntu国内源

选择国内Ubuntu服务器

然后禁止自动升级。
禁止自动升级

第四步 将IP Camera接入与NUC相同的局域网,并处于同一网段,然后为IPC设置用户和密码。本文使用的是TP-Link的TL-IPC43KP-4

设置IPC的用户名和密码

第五步,由于ONVIF Device Camera Microservice依赖Docker和Docker Compose工具,所以需要安装Docker 和 Docker Compose。Docker和Docker Compose的安装教程,官网写的非常详细,按照 安装Docker engine 和 Docker compose for Ubuntu,一步一步安装即可。安装成功后,如下图所示

docker和docker compose安装成功

第六步,为了docker拉取镜像方便,为Docker添加国内镜像源。添加成功后,重启docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

然后可以用docker info查到


docker国内镜像源

第七步,参考EdgeX ONVIF Camera Device Service Demo,首先Git Clone代码仓如下:

  • https://github.com/edgexfoundry/edgex-compose.git
  • https://github.com/edgexfoundry/device-onvif-camera.git
  • https://github.com/edgexfoundry/edgex-examples.git

注意,若git clone速度慢,可以使用FastGithub加速

git clone 代码仓到本地后,执行 -- 待华乔老师确认
> git checkout kamakura

切换到发布的最新分支上。因为V2.1Jakarta  V2.2Kamakura V2.3Levski 都是bug fixing为主的小版本,ds差不太多,推荐用最新的或者次新的。

第八步,设置并启动EdgeX微服务。在edgex-compose/compose-builder/ 目录下,运行

sudo make run no-secty ds-onvif-camera

设置并启动EdgeX微服务

注意, 若没有完成第六步为Docker添加国内镜像源,则该步骤非常容易因为拉取镜像超时而失败。

运行

sudo docker ps

确保所有EdgeX微服务已经正常运行了
确保所有EdgeX微服务已经正常运行

上图中可以清晰看到,edgex UI已经在4000端口处运行起来了,打开浏览器,输入http://localhost:4000,可以启动EdgeX UI

EdgeX UI

第九步,设置IP Camera。你需要把IP Camera连入同一个网段,并设置好用户名和密码。在厂家提供的配置工具中找到IP Camera的IP 地址和MAC地址

IP Camera的IP 地址和MAC地址

第十步,到device-onvif-camera/bin目录下,sudo ./map-credentials.sh 创建新的credentials001 ;用户名密码就是第九步配置摄像头的用户名密码。

创建新的credentials001

接着运行./configure-subnets.sh配置子网络
运行./configure-subnets.sh

第十一步,刷新EdgeX UI界面,可以发现EdgeX已经找到了IPCamera。

EdgeX自动发现了IPCamera设备

在设备列表页面,选中“NetworkDefaultGateway”,点击Get的“try”按钮,可以发现已经可以应用命令跟IPCamera交互了。
用EdgeX命令与IPCamera交互

到此,安装EdgeX ONVIF Camera Device Service成功,EdgeX自动发现了IPCamera,并且能够操作它了。使用命令

ffplay -rtsp_transport tcp rtsp://"admin":"edgex2022"@192.168.0.9:554/stream1

可以在NUC上获取实时视频图像
获取实时视频图像

你可能感兴趣的:(从零开始安装EdgeX ONVIF Camera Device Service)