1.初识SDK

海康威视的SDK分为网络SDK和EhomeSDK两种。

1.1 网络SDK简介

其中网络SDK适用于基于局域网的人脸识别场景,相关服务端可以通过局域网特定IP对设备进行管理,例

如小区或者办公楼的人脸门禁。

1.2 Ehome SDK简介

EhomeSDK适用于4G/5G等基于移动通信的网络场景,一般海康威视会提供相关SDK对接流程与介绍文档,Ehome SDK的服务端需要自己实现注册服务(CMS)/告警服务(AMS)/图片服务(SS)三类基础服务。

1.3 Ehome SDK与Java集成

1.3.1 初识JNA

Ehome底层已封装为动态链接库文件,在调用相关API时需要使用JNA框架进行调用。

相关样例在海康给出的Demo中可以看到具体用法。

这里的JNA框架最好使用海康官方提供的demo里面的,JNA的相关介绍可以移步=>传送

1.3.2 Windows Ehome集成

win版本的dll函数库与java进行集成时,在调用JNA进行库文件初始化的时候,相关路径必须为全路径。

例如:

Native.loadLibrary("C:/java/HCISUPSS.dll",,HCISUPSS.class))
1.3.3 Linux Ehome集成

Linux版本的so函数库与java进行集成时,为了方便使用,需要修改相关环境变量。

Docker 写法:

ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/lib

将海康的相关so文件copy到/usr/lib目录下即可。

然后在使用JNA调用相关函数库时,只需要写相关函数库名称即可,例如:

Native.loadLibrary("HCISUPSS",,HCISUPSS.class))

注:此处需要注意的是,使用32位的JDK就必须使用32位的海康SDK。

1.3.4 Ehome基础镜像

作者已经基于Centos7和openjdk1.8 构建了可以支持Ehome直接调用的基础镜像,

有需要的可以使用。

FROM countrythink/open-jdk-hk-ehome:7.0-1.8-v20200901

2.初识明眸

2.1 通信协议

海康明眸使用UDP协议进行设备注册,告警消息推送,使用TCP协议进行告警图片和设备图片的文件上传。因此,在开放端口的时候,需要注意其相关协议。

CMS开放端口:UDP协议开放

AMS开放端口:UDP协议开放

SS开放端口:TCP协议开放

其中SS的类型只能为KMS类型,且KMS不能启用安全模式,无需设置KMS密码(本身有漏洞,所以只接收数据,不开放数据下载)。

2.2 图片下发设备

由于海康的KMS机制本身存在安全隐患(KMS设置密码后图片无法下载),因此需要自行实现一个普通的文件下载服务即可。相关下载的安全性,由自己设置相关机制来保证即可。

2.3 图片上传安全加固

KMS可以进行任意文件类型的上传,安全性就不用说了。因此,在保存相关文件时,需要

自己对相关文件进行安全校验后再存储,可以在下述的回调函数中实现类型校验。

HCISUPSS.EHomeSSStorageCallBack

3.服务端集群方案

由于明眸本身使用场景常见于小区或者办公楼,无集群化使用场景,因此相关SDK在设计的时候

没有考虑到集群方案的具体实现。

3.1 CMS/AMS集群搭建

使用Nginx进行UDP代理,参考配置如下:

    upstream cms-cluster-udp {
        hash $remote_addr;
		server 191.2.3.19:7660;
    }
    server {
        listen 17660 udp reuseport;
        proxy_responses 0;#1代表需要回应,并将回应转发;0代表不需要回应
        proxy_timeout 20s;#回应超时时间,超时未回应暂停转发
        proxy_pass cms-cluster-udp;
    }

注: 如果需要逆向向设备发送控制命令,需要自己实现设备寻址方法,建议设备注册时全局存储设备注册信息。

3.2 SS集群搭建

SS在这里只做文件上传功能,开放文件上传接口,可以使用反向代理。

文件下载接口由于安全性欠佳,屏蔽掉文件下载接口。

文件可以使用共享存储来完成文件上传的分布式存储。

注:

在AMS接收的告警消息,里面存储的有SS自动生成的地址,需要替换为自己的API服务映射信息。


标题:海康威视Ehome开发指南(明眸)
作者:TravelEngineers
地址:https://www.mycitymemory.com/articles/2020/09/07/1599468491378.html
版权声明:转载请注明博文地址,尊重作者劳动成果。
作者简介:坐标魔都,一枚爱旅行爱摄影的攻城狮。愿攻城拔寨的路上,你不用996,也不再孤单,加油。