[活动已结束]福利加码!免费送华为开发者大会三天通票!
2021-04-06
技术干货 | “SpeedTest”应用集成指导
2021-04-12

技术干货 | “视频监控”应用开发指导

“SpeedTest”应用集成已开放线上体验环境,快去体验吧

您将建立什么?

在本次Codelab中,您将体验如何在EdgeGallery平台上调用mep服务注册和发现API,并基于此API进行二次开发。用户最终可以调用平台能力进行视频监控应用开发。

您将学会到什么?

如何使用EdgeGallery开源平台。

如何通过EdgeGallery开源平台提供的API进行二次开发。

如何通过EdgeGallery开源平台进行应用部署调测。

您需要什么?

开发环境及技能要求:

python开发环境Pycharm。

便携机一台。

运行终端要求:

WindowX86,安装Python3.6、Pycharm开发环境。

Chrome浏览器。

1.关注EdgeGallery开源项目

1.1 注册Gitee账号,如果已有Gitee账号请忽略该步骤

1.2 访问EdgeGallery仓库,请为EdgeGallery项目添加“关注”,为代码仓库“点亮星星

https://gitee.com/bookybrook/collections/756

       图片1.png

      

2.创建工程项目

2.1 打开chrome浏览器,登录EdgeGallery开发者平台,https://182.160.1.71:30092 ,使用用户名:testuser1,密码:123456@demo1 登陆。

      图片2.png

2.2 点击能力中心,查看EdgeGallery平台提供的能力,选择平台基础服务,查看服务发现相关API。

415.png

2.3 从首页的一级菜单跳转到“工作空间”,点击应用开发,输入以下信息:

字段名称

输入值

应用名称

Monitorservice

提供者

Huawei

架构

X86

行业

智慧园区

类型

视频监控

上传图标

选择本地的视频监控应用图标进行上传

描述

Monitorservice

shipinjiankong111.png

此次演示是基于次平台的服务发现和人脸识别进行二次开发,下一步,开始能力选择,选择“服务发现”和“人脸识别”服务,点击确认。

图片5-shipinjiankong.png

项目创建完成后我们可以在工作空间中查看到我们的项目。

3.配置开发环境

3.1 样例代码下载

从gitee下载样例代码:

https://gitee.com/edgegallery/community/blob/master/Events/2021-HDC/demo/monitoring_service.rar

3.2 下载rar并解压,视频监控样例代码已经开发完成,整体代码分为三个部分:node_proxy_for_FE、backend、 frontend。使用pycharm打开backend代码,开发者只需要修改backend部分代码即可。

4.本地开发

监控应用在开发时,通过服务发现的相关API接口进行认证,鉴权,获取人脸识别服务的调用URI,实现人脸识别服务的调用,本步骤需要使用mep相关接口:

获取token:通过mep-agent获取token接口。

服务发现:通过mep-agent调用mep服务发现接口,查询人脸识别服务是否注册在mep上,如果已经注册,返回人脸识别注册的服务信息。

调用人脸识别API:根据返回的服务信息和人脸识别API,进行应用的二次开发

本体验服务发现相关接口代码已经封装在SDK中,本样例代码只需修改以下代码即可:

配置服务发现信息 

在backend/monitoring/monitoring_service.py文件中配置需要查询的服务名

图片22-shipinjiankong.png

listOfServices = [“face-recognition”]

查询服务信息,获取endpoint信息

图片23-shipinjiankong.png

rest_client = CLIENT_FACTORY.get_client_by_service_name(constants.FACE_RECOGNITION_SERVICE)

其中res_client是通过mep-agent查询在mep上的注册的face-recognition服务信息

调用人脸识别接口

图片24-shipinjiankong.png

url = rest_client.get_endpoint() + “/v1/face-recognition/recognition”

response = rest_client.post(url, body)

5.镜像打包

修改好以上代码后将backend文件夹拷贝到docker环境中,进入backend文件夹目录并执行以下操作:

docker build -t monitoring-be-service:demo .

docker save -o monitoring-be-service.tar monitoring-be-service:demo

本地导出镜像包

6.应用调测

6.1 开发者完成APP的开发后,需要在平台上进行功能调测,在工作空间、我的项目中找到步骤1创建的项目,点击详情,部署调测。

图片10-shipinjiankong.png

6.2 上传镜像包。

EdgeGallery开发者平台拥有自己的镜像仓库Harbor,支持镜像本地上传,将以上打包好的镜像上传到镜像仓库,由于镜像上传时间较长,镜像仓库已经存在相关镜像。

6.3 上传部署配置文件

上传监控应用的部署文件,该部署文件是应用的容器部署脚本,EdgeGallery将对部署文件进行格式校验,镜像校验,服务信息校验等相关检查。部署文件存放路径为:monitoring_service/artifacts/monitoring_service_deploy_mepagent.yaml

手动修改上面yaml中的配置配置信息:monitoring-be-service:latest改为:monitoring-be-service:demo

图片11-shipinjiankong.png

6.4 点击下一步后”开始部署”。

在这个过程中,EdgeGallery开发者平台将应用部署到系统分配的环境中,部署结束后,呈现出分配的沙箱信息,以及应用的容器信息,部署结果等。部署成功后,我们查看监控系统的应用,我们看到,监控应用界面已经可以打开,此处,应用开发者可以对其自身应用进行调测。

图片12-shipinjiankong.png

6.5 查看部署结果,访问返回的url即可登录监控应用界面,并对APP进行测试。

监控应用本身支持真实的摄像头添加,此处我们使用视频流以方便演示,首先在监控系统添加一个视频,点击”Upload Video”上传视频demo.mp4

图片25-shipinjiankong.png

点击”Add Camera”添加一个摄像头,此处采用添加的视频名称模拟摄像头的视频流从视频获取;

图片26-shipinjiankong.png

点击添加一个监控人员,添加demo.png,查看messages。可以看到,在消息中,demo被识别并提示在某个摄像头中出现。

图片27-shipinjiankong.png

6.6 测试完成后,点击“释放资源”

7.应用发布

7.1 发布配置

上传应用描述文件:monitoring_service/artifacts/monitoring_service_description.md

图片15-shipinjiankong.png

点击“保存配置”查看“应用包详情

图片17-shipinjiankong.png

7.2 下一步,点击启动测试,选择测试场景为社区场景

图片18-shipinjiankong.png

测试通过后,可以查看测试报告

图片19-shipinjiankong.png

7.3 测试通过后,下一步进行应用发布

mohuan32.png

7.4 应用发布成功后,打开AppStore可以查到到该应用

图片28-shipinjiankong.png

恭喜你

您已经成功地完成了基于EdgeGallery平台开发API应用,并学到了:

使用EdgeGallery平台进行服务发现和昇腾AI能力API的调用。

使用EdgeGallery平台进行应用调测。

 

 

bj

HDC.Cloud 2021 & EdgeGalllery

作为华为ICT基础设施业务面向全球开发者的年度盛会,华为开发者大会2021(Cloud)将于2021年4月24日-26日在深圳举行。本届大会以#每一个开发者都了不起#为主题,将汇聚业界大咖、华为科学家、顶级技术专家、天才少年和众多开发者,共同探讨和分享云、计算、人工智能等最新ICT技术在行业的深度创新和应用。智能时代,每一个开发者都在创造一往无前的奔腾时代。世界有你,了不起!

4月26日,Edgegallery将在HDC.Cloud 2021的MEC点亮行业应用创新峰会上,携手合作伙伴分享在行业的创新成功实践,阐释各位开发者可以从开源社区获得的资源倾斜、技术支持和合作渠道。

了解更多参会内容,欢迎访问:华为开发者大会(Cloud)官方网站

有奖活动:有奖互动!华为开发者门票免费送!

EdgeGallery

1 评论

  1. ddd说道:

    很棒啊

发表评论

电子邮件地址不会被公开。 必填项已用*标注