从零开始安装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代码仓如下:

注意,若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上获取实时视频图像
获取实时视频图像
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 Google Play应用市场对于应用的targetSdkVersion有了更为严格的要求。从 2018 年...
    申国骏阅读 64,753评论 15 98
  • 《来,我们说说孤独》 1·他们都在写孤独 一个诗人 如果 不说说 内心的孤独 不将孤独 写进诗里 是不是很掉价呢 ...
    听太阳升起阅读 4,420评论 1 7
  • 自幼贫民窟长大的女子,侥幸多念了两本书,枉以为可以与人平起平坐。可是人生从来都是接力赛,我们却天真的当成了百米冲刺...
    Leeanran阅读 5,798评论 1 5
  • 云舒老师,姓甚名谁,男的女的,多大岁数,这些我全然不知。之所以要写写云舒老师,完全是因为他写的文章,如一个巨大的磁...
    数豆者m阅读 2,413评论 6 9
  • """1.个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello ...
    她即我命阅读 3,276评论 0 5