前几天对接了海康平台做二次开发,主要涉及到卡口车辆出入、人员刷脸或者刷卡进出等方面,做个记录

卡口相关

首先通过海康安防平台的api查询出入口的终端地址和父设备编号

海康接口调用

  • 接口位置:http://{ip}:{port}/artemis-web/api/detail/1516237474282602496
  • 接口名称: 获取停车库列表
  • 接口url: api/resource/v1/park/parkList

调用一览

image-20240402114028254

从这个接口中我们可以获取到父设备编号: parkIndexCode

相关表设计一览

image-20240402114221644

通过父设备编号获取出入口列表

海康接口调用

  • 接口位置: http://{ip}:{port}/artemis-web/api/detail/1516237474538455040
  • 接口名称: 获取出入口列表
  • 接口url: /api/resource/v1/entrance/entranceList

调用一览

image-20240402114900087

这样可以讲获取到的code维护在自己数据库中待后面调用使用,卡口可分出入口,根据实际情况自己配置。

获取车道列表

海康接口调用

  • 接口位置: http://{ip}:{port}/artemis-web/api/detail/1516237474626535424
  • 接口名称: 获取车道列表
  • 接口url: /api/resource/v1/roadway/roadwayList

调用一览

image-20240402115451296

根据上一步获取到的entranceIndexCodes可以进一步获取到车道列表信息,同时保存其中的roadwayIndexCode以便后续的接口调用

安防平台对应

image-20240402154710688

数据库设计,保存其中的出入口的左右车道编号以便后续记录并查询统计卡口车辆出入情况。

image-20240402115550583

配置相应的服务接受海康推送的通行记录

海康的时间订阅

  • 接口位置:http://{ip}:{port}/artemis-web/api/detail/1516237490963349504
  • 接口名称:按事件类型订阅事件
  • 接口url:/api/eventService/v1/eventSubscriptionByEventTypes

调用一览

通过此接口可以将自己服务接口注册进海康服务,最终海康服务会在有相关事件响应时将数据推送到我们服务接口中,可以选择性的将接口数据处理保存。

image-20240402160742322

安防平台出入记录

image-20240403112644061

人员相关

添加人员

海康接口调用

  • 接口位置:http://{ip}:{port}/artemis-web/api/detail/1516237455638921216
  • 接口名称:添加人员
  • 接口url: /api/resource/v1/person/single/add

注意事项

添加人员可能会出现缺少tagId
image.png
需要进api管理的合作方进行tagId配置。

image.png

然后确保部署综合安防平台的人员将默认储存池配置起来
image.png

之后就可以正常添加人员信息和人员照片了,注意当前接口人员头像是必传的。

添加人员中的orgIndexCode

该字段需要进行下面操作后进行获取

添加园区及园区下企业

维护组织架构

首先需要对组织进行维护,组织名称和对应的组织编号,注意这边的组织编号实际上并没有太大用处,实际需要用到的是通过接口查询出来的orgIndexCode
image.png

获取orgIndexCode

  • 接口位置:http://{ip}:{port}/artemis-web/api/detail/1516237457287282688
  • 接口名称:根据父组织编号获取下级组织列表
  • 接口url: /api/resource/v1/org/parentOrgIndexCode/subOrgList

调用一览

总节点的默认orgIndexCode固定为root000000
image.png

需要将其中每家企业的orgIndexCode储存下来,方便添加人员时使用。

本地储存表结构设计

create table hk_org  
(  
    id                    bigint auto_increment comment '主键ID'  
        primary key,  
    org_index_code        varchar(64)   null comment '组织唯一编码',  
    org_no                varchar(64)   null comment '组织自定义编码',  
    org_name              varchar(100)  null comment '组织名称',  
    org_path              varchar(1024) null comment '组织路径',  
    parent_org_index_code varchar(64)   null comment '父级组织(0标识为根组织)',  
    parent_org_name       varchar(64)   null comment '父级组织名称',  
    update_time           datetime      null comment '更新时间',  
    unit_id               bigint        not null comment '企业id'  
)  
    charset = utf8mb3  
    row_format = DYNAMIC;

image.png

导入后效果查看

image.png
安防平台可以分别导入人员信息和人员照片,照片按照姓名_身份证号.jpg多个一起压缩导入。这也是为什么有上一篇从文件服务器取流改名压缩文件的原因。