鉴权认证
申请访问凭证哪里申请

系统管理员(登录名:system)登录ICC平台
登录ICC平台,右上角点击"OpenAPI",再点击申请访问凭证
输入clientId,生成clientSecret

申请访问凭证报自定义异常处理

刷新平台首页/重新登录ICC平台,再次点击“OpenAPI”申请

鉴权设置注意事项

密码认证
    请求头需设置Authorization;格式:token_type + 空格 + access_token ;示例 bearer 1:704dc1bc-b05e-4ed5-a889-0261584919f6
    需做保活,token有效期默认2小时,刷新token有效期是30分钟,建议每隔四分钟做一次保活并刷新token
客户端认证
    请求头需设置Authorization与User-Id;
    Authorization与密码认证一致,格式:token_type + 空格 + access_token ;示例 bearer 11332233-b05e-4ed5-a889-0261584919f6
    User-Id 默认是1
    token有效期2小时

接口报错Full authentication is required to access this resource

请求头Authorization未设置,请参考协议鉴权

接口报错invalid access_token:

请求头Authorization过期,调鉴权认证接口重新获取

接口报错"Unsupported grant type: password"

ICC框架是5.0.6及之前版本clientId、clientSecret均写死web_client

单点登录注意事项

ICC5.0.8及以上支持单点登录,5.0.8之前版本需定制
鉴权认证必须是用户密码鉴权模式
框架自带页面(基础框架子系统:基础资源、事件中心、地图、日志管理等)和首页支持单点登录,业务子系统页面不支持
页面地址URL上#号之前加上token与refreshToken,如果页面地址URL有参数,需将参数移到#号之前,与token一起请求
    页面地址URL无参数
        例如访问ICC平台首页:https://10.35.239.203/#/home
        token与refreshToken是用户密码鉴权模式返回的数据
        单点登录页面地址:https://10.35.239.203/?token=1:8ca5cae1-0fd0-4147-999a-8871fb390c13&refreshToken=81ec9edd-a81c-473b-8a9e-22f425bc75de#/home
    页面地址URL有参数
        例如访问基础资源管理页面:https://10.35.239.203/bResource/#/recombination?uniqueMenuCode=COMBINATION_BASICRESOURCEMANAGER
        token与refreshToken是用户密码鉴权模式返回的数据
        单点登录页面地址:https://10.35.239.203/bResource/?token=1:8ca5cae1-0fd0-4147-999a-8871fb390c13&refreshToken=81ec9edd-a81c-473b-8a9e-22f425bc75de&uniqueMenuCode=COMBINATION_BASICRESOURCEMANAGER&#/recombination
如何获取页面URL
    a. 首先登录平台,进入对应页面
    b. 鼠标右键,点击“检查”
    c. 根据当前元素找到上一层带有iframe的元素,其中的地址就是URL

接口报错“27001000|the access_token is invalid for current terminal”

1、修改/opt/evo/evo-common/evo-apigw/config/application.properties 文件中 evo.token.access.check由true改为false
2、重启api网关
    sh /opt/evo/evo-common/evo-apigw/bin/start.sh

鉴权接口报fail:worng public key

RSA加密错误导致的
RSA公钥格式x.509
java RSA加密参考如下代码

RSA加密之java

byte[] decoded = Base64.decode(publicKey);
RSAPublicKey pubKey =(RSAPublicKey)KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));// RSA加密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
String outStr = Base64.encode(cipher.doFinal(str.getBytes("UTF-8")));//outStr为加密密文

通用问题
接口协议地址如何组装

格式:https://<平台IP>:<平台端口>/URI
    平台IP:ICC平台的ip,部署在现场的服务器ip,非ICC开放平台地址
    平台端口:ICC平台的端口,默认443
        URI:接口URL,格式:evo-apigw/子系统应用名/版本号/URI
        evo-apigw:固定值,网关服务
        子系统应用名:子系统应用名,一般是evo-xxx开头,视频(admin)、停车场(ipms)、可视对讲(vims)除外
        版本号:子系统版本号,一般固定不变,部分子系统没有版本号概念
        URI:子系统资源地址
示例:https://10.35.239.168/evo-apigw/evo-oauth/1.0.0/oauth/public-key

前端调接口报跨域
  1. 接口地址中带有evo-apigw的地址不支持跨域,前端无法直接调用
  2. 推荐处理:三方前端调用三方后端,三方后端请求ICC开放接口
  3. 不推荐前端直接代理,因为接口鉴权的用户名密码会写死在前端不安全,前端代理无法对接事件订阅实时推送
  4. 尤其是对接视频拉流时需要三方后端转发接口,对接不只是前端研发小伙伴的事情
接口问题排查步骤
  1. 接口协议是http还是https
    答复:ICC接口默认https协议;http默认不支持,需运维中心开启后支持,默认端口是83。
  2. 端口是否正确
    答复:ICC端口默认是443,运维中心开启http调试模式后,端口为83;
  3. 请求方式是否正确
    答复:POST、PUT、DELETE、GET需与对应接口文档中的请求Method对齐。
  4. 请求Content-Type是否正确
    答复:除上传照片接口是POST,Content-Type为mutipart/form-data外,其他接口POST、PUT、DELETE的Content-Type均为application/json格式;
    GET请求拼接URL参数访问。
  5. 检查参数类型是否正确
    答复:参数类型需与接口文档中的请求参数保持一致
  6. 检查参数是否合法
  7. 服务器日志排查
    ICC可以根据URL:https://{{host}}/evo-apigw/xxx/{{version}}中的xxx查询/log/xxx/xxx.log文件,查看具体错误信息
接口报xx999999|unknown runtime error

系统异常,请检查下请求方式、请求类型、请求参数 若还未解决,需查看服务器日志,可由区域同事配合,按照接口问题排查步骤排查

接口404
  1. 检查子系统是否安装
      可通过地址:http://<平台IP>:8916/evo-discover/1.0.0/srd/subsystem 判断安装了哪些子系统
  2. 1.0.0子系统版本号是否正确
  3. 若参数作为URL的一部分,参数非必填,也请保证非必填参数字段存在
       例如地址:/evo-apigw/pmms/real/data/nodeId={nodeId}&devChildType={devChildType}&pageNo={pageNo}&pageSize={pageSize}
      pageNo非必填,请求地址也需带上此参数如:/evo-apigw/pmms/real/data/nodeId=001&devChildType=1801&pageNo=&pageSize=20
接口400 Bad Request

检查数据提交格式(ContentType)是否正确,
检查数据类型是否合法

The plain HTTP request was sent to HTTPS port

ICC默认是https请求,将http改为https

接口报User has no permissions access

升级最新的API网关(evo-apigw)

对接ICC平台需要开放哪些端口

业务接口对接需开通443端口,开启http调试模式需开通83
HLS拉流需开通7086(http)、7096(https)端口
RTSP拉流需开通9090(MGW服务)、9100(实时流)、9320(录像回放)端口
FLV拉流需开通7886(http)、7896(https)端口
RTMP拉流需开通1975端口
设备主动注册开通9500端口

代码调用https接口报SSL异常

调用https接口会进行SSL安全验证,现场安装的icc平台默认没有安全证书,需在代码中忽略SSL安全验证才能进行接口调用
以下是java忽略安全验证的代码示例:

import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.ssl.SSLContextBuilder;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;

import javax.net.ssl.SSLContext;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;

public class IgnoreSSLUtil {
    public static void main(String[] args) {
        try {
            // 创建一个信任所有证书的 SSL 上下文
            SSLContext sslContext = new SSLContextBuilder()
                    .loadTrustMaterial(null, (chain, authType) -> true)
                    .build();

            // 创建一个忽略主机名验证的 SSL 连接套接字工厂
            SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, NoopHostnameVerifier.INSTANCE);

            // 创建 HttpClient
            CloseableHttpClient httpClient = HttpClients.custom()
                    .setSSLSocketFactory(sslsf)
                    .build();

            // 创建 ClientHttpRequestFactory
            ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);

            // 创建 RestTemplate 并设置请求工厂
            RestTemplate restTemplate = new RestTemplate(requestFactory);

            // 准备请求头
            HttpHeaders headers = new HttpHeaders();
            headers.set("Content-Type", "application/json");
            headers.set("Authorization", "bearer 3:WBuk0zLe1rRMsFI47Uljvwcs5BGqsfsD");

            // 准备请求体
            String requestBody = "{\"pageNum\":1,\"pageSize\":10}";

            // 创建 HttpEntity 对象
            HttpEntity<String> entity = new HttpEntity<>(requestBody, headers);

            // 调用 POST 接口
            String url = "https://10.55.30.71:443/evo-apigw/evo-brm/1.0.0/device/subsystem/page";
            ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);

            // 输出响应内容
            System.out.println("Status Code: " + response.getStatusCode());
            System.out.println("Response Body: " + response.getBody());

        } catch (NoSuchAlgorithmException | KeyStoreException | KeyManagementException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

若是其他语言调用https接口,请网上搜索对应语言的忽略SSL安全验证代码

图片服务
人脸图片规范

a.照片需要小于4M
b.照片大小推荐 500*500
c.图片格式JPG、JPEG、PNG
d.人脸无遮挡(如戴帽子、口罩、眼镜等)、无修图
e.人脸需双眼睁开、表情自然、露额,头发不要遮挡

图片拼接格式

图片拼接格式有三种方式,分别是OSS方式、停车场方式、交通卡口方式,分别对应不同的子系统
OSS方式为通用图片访问方式,由于历史遗留问题,不兼容停车场方式与交通卡口方式,参考以下OSS方式
停车场方式是从7016平台衍生过来的,复用7016图片拼接方式,仅适用于停车场(ipms)模块,参考以下停车场方式
交通卡口方式是交通卡口子系统图片专门拼接方式,仅适用于交通卡口(evo-car)模块,参考以下交通卡口方式

OSS方式
  • OSS方式:是通用拼接方式,新子系统适用,旧子系统:停车场子系统(ipms)与交通卡口子系统(evo-car)不兼容
  • 格式:https://<平台IP>:<平台端口>/evo-apigw/evo-oss/URI?token=access_token
  • 开启http调试模式格式:http://<平台IP>:<调试端口>/evo-apigw/evo-oss/URI?token=access_token

    • 平台IP:ICC平台IP
    • 平台端口:ICC平台的端口,默认443
    • 调试端口:ICC平台的http端口,默认83
    • URI:图片访问相对路径
    • access_token:调认证接口返回的access_token
  • https示例:

    • https://10.35.122.144/evo-apigw/evo-oss/68cf38d8-1f2d-11eb-9c6f-a0bd1dd5d8b6/20201111/1/583ec4ab-23e8-11eb-81ca-a0bd1dd5d8b6.jpg?token=1:ced7836d-6753-4253-b3ce-639e922fb683
  • http示例:
    • http://10.35.122.144:83/evo-apigw/evo-oss/68cf38d8-1f2d-11eb-9c6f-a0bd1dd5d8b6/20201111/1/583ec4ab-23e8-11eb-81ca-a0bd1dd5d8b6.jpg?token=1:ced7836d-6753-4253-b3ce-639e922fb683
停车场方式

适用于停车场子系统图片拼接方式

接口返回图片url带有fileUrl关键字的拼接说明如下所示:
格式:https://<平台IP>:<平台端口>/evo-apigw/URI
  平台IP:ICC平台IP
  平台端口:ICC平台的端口,默认443
  URI:停车场过车/车辆进出返回图片地址,支持的字段有originalPicPath、realCapturePicPath字段
示例:
  原始图(originalPicPath字段):/ipms/imageConvert/originalImage?fileUrl=http%3A%2F%2F10.35.239.131%3A8082%2Fd%2F1000022%241%240%240%2F20210712%2F15%2F1646-1430-0.jpg
  原始图示例:https://10.35.122.144/evo-apigw/ipms/imageConvert/originalImage?fileUrl=http%3A%2F%2F10.35.239.131%3A8082%2Fd%2F1000022%241%240%240%2F20210712%2F15%2F1646-1430-0.jpg
  缩略图(realCapturePicPath字段):/ipms/imageConvert/image?fileUrl=http%3A%2F%2F10.35.239.131%3A8082%2Fd%2F1000022%241%240%240%2F20210712%2F15%2F1646-1430-0.jpg
  缩略图示例:https://10.35.122.144/evo-apigw/ipms/imageConvert/image?fileUrl=http%3A%2F%2F10.35.239.131%3A8082%2Fd%2F1000022%241%240%240%2F20210712%2F15%2F1646-1430-0.jpg


接口返回图片url未带有fileUrl关键字的拼接说明如下所示:
方式一:/d前面的部分替换为http://<图片转发服务IP>:9480/
  图片转发服务IP:默认ICC平台IP,若现场有分布式,为图片转发服务IP
示例:
URI:9101/d/1000065$1$0$0/20221202/13/5021-187-0.jpg
完整地址:http://10.35.122.144:9480/d/1000065$1$0$0/20221202/13/5021-187-0.jpg
此方式是http访问,端口是9480

方式二:在方式一组装好的基础上,再拼接https://<平台IP>:<平台端口>/evo-apigw/<原始图>或<缩略图>?fileUrl=urlencode(方式一图片地址)
  平台IP:ICC平台IP
  平台端口:ICC平台的端口,默认443
  原始图:固定值:imageConvert/originalImage
  缩略图:固定值:imageConvert/image
例如方式一组装的完整地址是:http://10.35.122.144:9480/d/1000065$1$0$0/20221202/13/5021-187-0.jpg
方式一地址做urlencode
原始图完整地址:https://10.35.122.144/evo-apigw/ipms/imageConvert/originalImage?fileUrl=http%3A%2F%2F10.35.122.144%3A9480%2Fd%2F1000065%241%240%240%2F20221202%2F13%2F5021-187-0.jpg
缩略图完整地址:https://10.35.122.144/evo-apigw/ipms/imageConvert/image?fileUrl=http%3A%2F%2F10.35.122.144%3A9480%2Fd%2F1000065%241%240%240%2F20221202%2F13%2F5021-187-0.jpg

交通卡口方式

适用于交通卡口子系统图片拼接方式
格式:https://<平台IP>:平台端口/evo-apigw/evo-oss/URI
  平台IP:ICC平台IP
  平台端口:ICC平台的端口,默认443
  URI:交通卡口过车记录返回图片地址
示例:
URI:13001/d/1001271$1$0$0/20230419/15/5947-28081-0.jpg?streamID:84@capTime:1681891189
完整地址:https://120.203.76.42:4431/evo-apigw/evo-oss/13001/d/1001271$1$0$0/20230419/15/5947-28081-0.jpg?streamID:84@capTime:1681891189

网络图片下载之java

代码:参考示例

调用图片质量检测接口返回错误码28240010

图片质量检测没有授权,需要联系大华售中烧制图片质量检测服务加密狗

基础服务
通道编码格式说明

通道编码格式:设备编码$单元类型$单元序号$通道序号
  设备编码:设备编码7位数字,系统自动生成
  单元类型单元类型即通道类型
  单元序号:单元序号
  通道序号:通道号,从0开始
示例:1000006$1$0$1
常见单元类型:视频通道:1、门禁通道:7、道闸通道:14

部门与组织的区别

组织:以真实世界为参考,通过逐层关系,体现设备在平台软件的所在地理位置;组织设备挂钩。
部门:以公司、政企等通过人为定义形成的逻辑从属关系;部门人员挂钩。
部门与组织两个都是层级展示,处理的对象不同
部门是与人员关联的,部门权限校验的是人员,根部门节点为1
组织是与设备关联,组织权限主要校验的是设备与通道,根组织节点为001

基础组织与逻辑组织的区别

基础组织主要处理平台相关业务
逻辑组织主要用于展示,无实际业务场景,是基于基础组织创建的

设备、通道如何理解

设备是通过平台->设备管理添加到平台上的
通道则是设备一部分集成到平台上,设备与通道一对多关系
摄像头作为设备添加到平台,为设备,设备编码七位数字 摄像头(IPC)作为NVR一部分集成到平台,此摄像头则为通道,通道是带有$符号标识

基础应用->车辆管理与停车场->车辆管理有什么区别

停车场的车辆管理与基础资源中车辆管理,后端数据是互通的。基础资源的车辆管理以业务中台形式存在,方便各个业务系统使用,与业务关联性比较小。停车场业务闭环完整,在停车场业务系统中结合业务需要,做了另一个车辆管理的入口。
基础应用->车辆管理数据存在基础应用evo-brm,停车场->车辆管理数据保存在停车场ipms
双方数据都会同步,区别在于停车场->车辆管理信息较与基础应用多,例如场区字段
基础应用->车辆管理可通过事件中心 订阅业务事件,具体参考附录->事件列表->基础事件->车辆实时消息

按通道类型获取通道编码

调用接口:通道分页查询
根据unitTypeList过滤,枚举参考单元类型
查询视频通道unitType=1,查询门禁通道unitType=7,查询道闸通道unitType=14
以下是同时查询视频、门禁和道闸通道请求报文如下:
{
"pageNum": 1,
"pageSize": 10,
"unitTypeList":[1,7,14],
"includeSubOwnerCodeFlag":true
}

设备详情查询接口返回的经纬度坐标系是什么标准

wgs84(地心坐标系)

报警输入通道与报警输入通道理解

报警输入输出是相对于设备本身来说的
报警输入通道:外围探测器可以通过输入通道将io信报给设备
报警输出通道:是通过设备的报警输出通道控制外围设备,比如输出控制灯光,门禁等

如何获取组织的父节点

基础组织从右侧减3位,为父节点,例如001001、001002的父节点是001,001002001的父节点为001002
级联组织从右每次减3位,遇到字母减6位就是父节点
获取父节点代码示例如下

if (orgCode.length() == 3){
    return "" ;
}
String pid = orgCode.substring(0,orgCode.length()-3) ;
if(pid.length()<3){
    throw new BusinessException(ORG_NOT_EXIST);
}
char a = pid.charAt(pid.length() - 3) ;
if('a' <= a && a <= 'j' ) {
    pid = pid.substring(0,pid.length()-3) ;
}
return pid ;
通道能力集说明

设备的通道能力用32位二进制字符串表示。
每一位代表一种能力,1表示有,0表示没有。
能力说明,从右往左依次说明

位数含义
第1位智能报警
第2位鱼眼
第3位电动聚焦
第4位红外测温
第5位热度图统计
第6位过线统计
第7位区域人数统计 --- 用于滞留
第8位人脸检测
第9位人员识别
第10位目标抓拍
第11位主从跟踪
第12位出入口抓拍
第13位AR
第14位多区域人数统计-用于AI鱼眼多区域统计
第15位雷球联动
第16位行为分析
第17位云台控制
第18位-
第19位扬声器
第20位智能算法升级
第21位MAC采集
第22位自定义定时抓图
第23位人脸开门
第24位工装检测
第25位人脸质量检测
第26位人脸相似度比对
第27位客流定时订阅
第28位人脸分析
第29位AR后端打标
第30位AR广角180°
第31位AR广角360°
事件中心
事件订阅接口注意事项

subsystemType固定值0
monitor字段默认长度80,格式要求POST方式,请求类型:application/json
magic取值规则:取monitor中的ip与端口,通过ip_端口拼接
权限组信息authorities、types、orgs、nodeCodes字段不送,订阅所有,空数组不订阅
事件订阅推送无重试机制

事件订阅types介绍

category为alarm时,types参考ICC平台-报警类型中的报警编码
category为business时,types为各个子系统自定义字段,详细参考附录->事件类型->业务类型

事件订阅推送消息体格式说明

通用消息体格式参考 API文档-事件中心-通用事件格式
其中info代表具体业务消息
  报警事件参考通用报警格式
  业务事件参考通用业务信息格式
  通用设备状态事件参考通用设备状态格式
  感知消息事件参考感知消息
扩展信息extend每个模块每个设备推送不完全相同,以实测为准

事件订阅接收不到
  1. 事件订阅送的URL(monitor)在ICC服务器上必须telnet通,可通过命令wget ip:端口验证
  2. 报警事件则查看ICC平台-事件查询页面是否存在记录,非报警记录跳过
  3. 查看推送日志,日志文件:/log/evo-event/evo-event_track.log
      根据回调监听地址搜索evo-event_track.log
      查看关键字703019行数,带有请求的一行为请求入参,带有返回一行为返回日志
      若回调地址网络链接报错,会有日志打印
  4. ICC服务器上尝试curl命令看下报错信息
      命令:curl -i -X POST -H 'Content-type':'application/json' -d body体 回调地址url
      https示例
curl -i -X POST -H 'Content-type':'application/json' -d '{"category":"state","info":{"syncChannelStatus":"1","subSystemName":["client1669947203469.1"],"updateTime":"2022-12-03 17:55:02.664","version":18,"channelId":"1000100$1$0$0","status":"2"},"method":"node.status","subsystem":"admin","uuid":"state_3ad3851b1bc84965bfb7598cb59a6240_1670061302669"}' -k --insecure https://10.55.36.202/evo-apigw/evo-oauth/1.0.0/oauth/extend/token

  http示例

curl -i -X POST -H 'Content-type':'application/json' -d '{"category":"state","info":{"syncChannelStatus":"1","subSystemName":["client1669947203469.1"],"updateTime":"2022-12-03 17:55:02.664","version":18,"channelId":"1000100$1$0$0","status":"2"},"method":"node.status","subsystem":"admin","uuid":"state_3ad3851b1bc84965bfb7598cb59a6240_1670061302669"}' http://10.55.36.202:83/evo-apigw/evo-oauth/1.0.0/oauth/extend/token
  1. 若是域名解析异常,报UnknownHostException: xxx异常
      域名仅内网访问时,配置下host,命令:vi /etc/hosts

      域名外网可访问时,ICC服务器需开通外网访问,自动解析域名
事件订阅接收数据为空

java语言接收,确定下是否为框架层面拦截器拦截
c#语言接收,确定下是否是异步接收处理机制,虽然进入方法,数据还未完全接收成功
python语言接收,考虑用json.dumps(消息体)兼容body体非严格json格式情况

事件订阅支持是否支持第三方https服务

支持,服务要求post 、application/json格式

xx设备触发哪些报警

xx设备能否触发哪些报警,参考ICC平台-报警预案,添加预案、选择相应的报警源类型即可

事件推送异常注意事项

事件订阅推送流程:设备->...->mq->平台->第三方
平台->第三方推送异常:无重试机制(平台服务异常、网络不通)
mq->平台推送异常:会根据mq重试机制推送(平台问题)

哪些智能报警有抓图

报警类型300到1000和15500到17500都是智能报警,携带图片的
其他报警都不带图片,要图片,就只能通过配置报警预案联动抓图
智能报警抓图通道能力级需勾选智能报警

火警相关报警区别
报警类型设备事件code码描述触发机制
881FireWarning火情事件当热成像通道检测到有火情时,会产生报警;且设备勾选抓图选项
5121FireWarning热成像着火点报警当热成像通道检测到有火情时,会产生报警;且设备不勾选抓图选项
5122FireWarningInfo火情报警信息更新,在firewarning的start,stop之间不停间隔更新当火情检测事件未消失或者中断时,会不断更新火情报警信息。
视频应用
视频端口列表
协议类型拉流方式端口说明
httphls7086实时流与回放流共用一个端口
httpshls7096实时流与回放流共用一个端口
httpflv7886实时流
httpsflv7896实时流
rtmprtmp1975实时流回放流共用一个端口
rtsprtsp9100,9320实时流/语音对讲端口:9100,录像回放端口:9320
wswebsocket9100,9320实时流端口:9100,录像回放端口:9320
wsswebsocket9102,9322实时流/语音对讲端口:9102,录像回放端口:9322
设备编码模式查看

方式1.登录ICC客户端,实时预览功能,如下图



方式2:登录设备web端,以大华设备为例,浏览器输入设备ip,并输入设备用户名密码,如下图所示



方式3:vlc播放查看流媒体信息,如下图所示



友商设备无法播放尝试配置

第一步:登录ICC服务器后台,编辑PCPS.xml,命令:vim /opt/dss/PCPS/PCPS.xml
第二步:修改标签StreamConvertor由0改为1,vim保存(命令:退出编辑(Esc),再执行(:wq)保存)
第三步:查看进程,命令:pidof PCPS,如下图



第四步:重启PCPS。杀掉第三步中的进程id,PCPS服务会自动重启,如第三步进程id,命令:kill -9 9730
以上步骤仍无法解决,登录设备将视频类型由复合流改为视频流,保存重启

HLS无法播放排查步骤

1、检查通道是否离线,必须在线才能播放
    例如HLS流地址:http://172.7.2.110:7086/live/cameraid/1000158%2499/substream/1.m3u8?token=1:2cfa8e9b-e6c7-44d1-a676-6ae1cb9971e0
    平台web端 设备管理-》通道tab页 搜索1000158$1$0$99是否在线
2、7086(http)、7096(https)端口必须通
3、默认必须拼接token,token有效期2h;
    若取消token拼接,参考HLS/FLV/RTMP取消拼接token配置不拼接token播放hls容易造成安全泄露,请知悉
4、HLS默认不支持友商私有协议接入,推荐通过国标、onvif接入;如需支持请参考友商设备无法播放尝试配置配置
5、设备编码模式推荐H264
    多数在对接场景中web端播放是最多的,浏览器不支持H265
    vlc播放器可播放H265
6、HLS流地址播放是否是404(找不到资源),404解决参考HLS播放资源找不到
    验证404简单方法1:浏览器地址栏输入流地址,报404或网页找不到之类错误,浏览器提示下载文件说明流地址正确
    验证404简单方法2:播放客户端抓包7086,抓包分析
7、https访问需导入安全证书,配置ngnix,参考拉流https配置

HLS播放资源找不到

实时流排查步骤如下
1、MES服务器配置检查
    打开MESConfig.xml;vi /opt/dss/EIMedia/MESConfig.xml
    修改配置项ProcessRedirect;将ProcessRedirect改为true,保存
    重启MES服务
        查看MES进程:pidof mes
        杀掉MES进程:kill -9 MES 进程


2、MGW服务是否正常启动,9090端口是存在
3、服务器抓包7086、9090、9000包,重点检查9000端口
    根据9000端口与通道编码过滤,查看返回信息是否包含rtsp流地址信息,不包含说明evo-admin服务有问题(一般是级联设备支持的不好),需提供抓包与admin日志给研发分析
录像回放流排查步骤如下
1、流地址中的begintime与endtime是否存在录像,在客户端上播放这个时段录像是否正常
    比对录像信息是否正确:根据是否是报警录像调查询普通录像信息列表|查询报警录像信息列表接口
    再根据前一步的录像信息比对HLS流地址中的begintime、endtime、substream、recordType是否一致
        HLS流地址中的begintime与endtime必须在录像信息中的starttime与endtime的闭区间内(录像不支持跨文件播放,需注意)
        substream与流地址是否一致
        recordtype:中心录像:1表示普通录像;2表示报警录像;81表示补录录像;82表示报警预录录像;设备录像固定:0;中心录像可尝试切换1、2、81、82看看是否可以播放
3、服务器抓包7086、9090、9000包,重点检查9000端口
    根据9000端口与通道编码过滤,查看返回信息是否包含rtsp流地址信息,不包含说明evo-admin服务有问题(一般是级联设备支持的不好),需提供抓包与admin日志给研发分析

FLV无法播放排查步骤

1、检查通道是否离线,必须在线才能播放
    例如FLV流地址:http://172.7.2.110:7886/live/cameraid/1000158%2499/substream/1.flv?token=1:2cfa8e9b-e6c7-44d1-a676-6ae1cb9971e0
    平台web端 设备管理-》通道tab页 搜索1000158$1$0$99是否在线
2、7886(http)、7896(https)端口必须通
3、5.0.12及以上版本必须拼接token,token有效期2h等;5.0.12之前版本则跳过此步骤;
    5.0.12版本若取消token拼接,参考HLS/FLV/RTMP取消拼接token配置不拼接token播放flv容易造成安全泄露,请知悉
4、FLV默认不支持友商私有协议接入,推荐通过国标、onvif接入;如需支持请参考友商设备无法播放尝试配置配置
5、设备编码模式必须H264
6、FLV流地址播放是否是404(找不到资源),404解决参考FLV播放资源找不到
    验证404简单方法1:浏览器地址栏输入流地址,报404或网页找不到之类错误
    验证404简单方法2:播放客户端抓包7086,抓包分析
7、https访问需导入安全证书,配置ngnix,参考拉流https配置

FLV播放资源找不到

实时流排查步骤如下
1、MGW服务是否正常启动,9090端口是存在
2、服务器抓包7886、9090、9000包,重点检查9000端口
    根据9000端口与通道编码过滤,查看返回信息是否包含rtsp流地址信息,不包含说明evo-admin服务有问题(一般是级联设备支持的不好),需提供抓包与admin日志给研发分析

RTMP无法播放排查步骤

1、检查通道是否离线,必须在线才能播放
    例如RTMP流地址:rtmp://10.35.239.168:1975/live/cameraid=1001337%2426;substream=1;token=1:2cfa8e9b-e6c7-44d1-a676-6ae1cb9971e0
    平台web端 设备管理-》通道tab页 搜索1001337$1$0$26是否在线
2、1975端口必须通
3、5.0.12及以上版本必须拼接token,token有效期2h等;5.0.12之前版本则跳过此步骤;
    5.0.12版本若取消token拼接,参考HLS/FLV/RTMP取消拼接token配置不拼接token播放flv容易造成安全泄露,请知悉
4、RTMP默认不支持友商私有协议接入,推荐通过国标、onvif接入;如需支持请参考友商设备无法播放尝试配置配置
5、设备编码模式必须H264
6、服务器抓包1975、9090、9000包,重点检查9000端口
    根据9000端口与通道编码过滤,查看返回信息是否包含rtsp流地址信息,不包含说明evo-admin服务有问题(一般是级联设备支持的不好),需提供抓包与admin日志给研发分析
7、录像回放流排查步骤如下
    7.1、流地址中的begintime与endtime是否存在录像,在客户端上播放这个时段录像是否正常
    7.2、比对录像信息是否正确:根据是否是报警录像调查询普通录像信息列表|查询报警录像信息列表接口
    7.3、再根据前一步的录像信息比对HLS流地址中的begintime、endtime、substream、recordType必须一致
        HLS流地址中的begintime与endtime必须在录像信息中的starttime与endtime的闭区间内(录像不支持跨文件播放,需注意)
        substream与流地址是否一致
        recordtype:中心录像:1表示普通录像;2表示报警录像;81表示补录录像;82表示报警预录录像;设备录像固定:0;中心录像可尝试切换1、2、81、82看看是否可以播放

HLS/FLV拉流https配置

第一步:第三方提供安全证书,证书格式需ngnix格式;证书参考示例说明
第二步:ssh登录ICC后台,切root用户操作
第三步:同步证书到流媒体服务命令

  • HLS参考如下

    • 1> mv /opt/dss/EIMedia/pempath/cacert.pem /opt/dss/EIMedia/pempath/cacert_backup.pem

    • 2> mv /opt/dss/EIMedia/pempath/privkey.pem /opt/dss/EIMedia/pempath/privkey_backup.pem

    • 3> cp /opt/3rdtool/nginx/ssl/service.pem /opt/dss/EIMedia/pempath/cacert.pem

    • 4> cp /opt/3rdtool/nginx/ssl/service_unsercure.key /opt/dss/EIMedia/pempath/privkey.pem

    • 5> pidof mes

    • 6> kill -9 第5步进程号

  • FLV参考如下

    • 1> mv /opt/dss/EIFLV/pempath/cacert.pem /opt/dss/EIFLV/pempath/cacert_backup.pem

    • 2> mv /opt/dss/EIFLV/pempath/privkey.pem /opt/dss/EIFLV/pempath/privkey_backup.pem

    • 3> cp /opt/3rdtool/nginx/ssl/service.pem /opt/dss/EIFLV/pempath/cacert.pem

    • 4> cp /opt/3rdtool/nginx/ssl/service_unsercure.key /opt/dss/EIFLV/pempath/privkey.pem

    • 5> pidof flv

    • 6> kill -9 第5步进程号

https地址播放示例说明

  • HLS 示例说明

    • 配置前拉流地址:https://10.35.239.168:7096/live/cameraid/1001338%240/substream/1.m3u8

    • 配置后拉流地址:https://证书域名:7096/live/cameraid/1001338%240/substream/1.m3u8

  • FLV 示例说明

    • 配置前拉流地址:https://10.35.239.168:7896/live/cameraid/1001338%240/substream/1.flv

    • 配置后拉流地址:https://证书域名:7896/live/cameraid/1001338%240/substream/1.flv

WSPlayer拉流wss配置

第一步:第三方提供安全证书,证书格式需ngnix格式;证书参考示例说明
第二步:ssh登录ICC后台,切root用户操作
第三步:同步证书到流媒体服务命令

  • 同步证书到MTS服务
    • 1> mv /opt/dss/MTS/cacert.pem /opt/dss/MTS/cacert_backup.pem
    • 2> mv /opt/dss/MTS/privkey.pem /opt/dss/MTS/privkey_backup.pem
    • 3> cp /opt/3rdtool/nginx/ssl/service.pem /opt/dss/MTS/cacert.pem
    • 4> cp /opt/3rdtool/nginx/ssl/service_unsercure.key /opt/dss/MTS/privkey.pem
    • 5> pidof MTS
    • 6> kill -9 第5步进程号
  • 同步证书到SS服务
    • 1> mv /opt/dss/SS/cacert.pem /opt/dss/SS/cacert_backup.pem
    • 2> mv /opt/dss/SS/privkey.pem /opt/dss/SS/privkey_backup.pem
    • 3> cp /opt/3rdtool/nginx/ssl/service.pem /opt/dss/SS/cacert.pem
    • 4> cp /opt/3rdtool/nginx/ssl/service_unsercure.key /opt/dss/SS/privkey.pem
    • 5> pidof SS
    • 6> kill -9 第5步进程号
HLS/FLV/RTMP取消拼接token配置

ICC5.0.12及以上版本才支持修改
HLS/RTMP配置修改
    编辑命令:vi /opt/dss/EIMedia/MESConfig.xml,将SRDEnable标签改为false
    重启MES服务
        查看MES进程:pidof mes
        杀掉MES进程:kill -9 MES 进程


FLV配置修改
    编辑命令:vi /opt/dss/EIFLV/FLVConfig.xml,将SRDEnable标签改为false
    重启FLV服务
        查看FLV进程:pidof flv
        杀掉FLV进程:kill -9 FLV 进程


HLS/FLV播放会黑屏排查步骤

设备编码模式为H265,改成H264、H264B、H264H
切换码流类型
重启设备、MTS、MES

IOS无法播放HLS流

打开MESConfig.xml;vi /opt/dss/EIMedia/MESConfig.xml
修改配置项RTPStd;将RTPStd改为false;
修改配置项LHLSEnable;将LHLSEnable改为true;
重启MES服务
    查看MES进程:pidof mes
    杀掉MES进程:kill -9 MES 进程


RTSP无法播放

1、保证客户端正常播放
2、接口方式获取流地址
    2.1 端口9100(实时流)、9320(录像回放)对应端口必须通,用telnet ip 端口命令检测,例如rtsp 实时流拉流:telnet 101.155.26.33 9100
    2.2 rtsp流地址需拼接上"?token=xxx",token为获取流地址接口返回token,非鉴权接口的access_token
    2.3 插件播放运行9090端口流地址时,插件需手动开启支持重定向
    2.4 插件播放运行vue2_Version demo 需要修改demo.vue中的pathList中的redirect配置,重定向配置作为入参送false,重新编译运行
    2.5 VLC不能播放,提示输入用户名密码,流地址后面需加上trackID=0
    2.6 2.5仍不能播放,请设置下VLC播放器:工具-》偏好设置-》输入/编解码器下的live55流传输下RTP over RTSP(TCP)
3、拼接方式获取流地址
    3.1 9090(MGW)、9100(实时流)、9320(录像回放)端口通,用telnet ip 端口命令检测,例如rtsp 实时流拉流:telnet 101.155.26.33 9100
    3.2 VLC播放是否正常
    3.3 插件播放需拼接"?trackID=701",
    3.4 内外网拉流需改MTS配置,调整内外网映射加载优先级,默认支持内网,不支持双网卡
        实时流配置
        a.打开MTS.xml:vi /opt/dss/MTS/MTS.xml
        b.修改带有
RtspUrlAddr
的标签,将外网设置默认加载即外网ip:端口,内网ip:端口
        c.重启MTS服务
        录像回放流配置
        a.打开SS.xml:vi /opt/dss/SS/SS.xml
        b.修改带有RtspUrlAddr的标签,将外网设置默认加载即外网ip:端口,内网ip:端口
        c.重启SS服务

路数支持说明

录像回放接口中的通道编码、ssid diskid 与streamid如何获取

参考API文档-视频应用-录像回放-获取普通/报警录像接口返回报文,根据字段对应即可,无需关心含义

录像回放对接流程

先获取录像信息->根据录像信息调用获取流地址接口(返回录像列表)->客户端播放
录像是不能跨文件播放的,因此需要先获取录像信息
根据录像信息调获取录像回放流地址
用客户端播放流地址,多个流地址处理:监听录像播放结束时间,继续播放下一个

云台控制支持设备类型

球机设备
枪机设备必须勾选云台控制能力级

接口报1001|Failed

客户端鉴权模式需要在headers上添加参数User-Id为1
通道编码是否存在
    1、通道是否真实存在
    2、此鉴权用户是否有此视频通道权限,根据此用户登录ICC平台查看设备管理-》通道tab页
body参数json格式化后试一下:可能入参可能存在看不到的转义符

VLC播放器播放RTSP流提示输入用户名密码

原因:token过期报401错误,排查步骤如下:
1、查看token是否过期:token有效期30秒,token只能使用一次
    token只能使用一次如何理解
    RTSP拼接token播放成功与否,服务会将token清空,第二次将无法使用
2、token与trackID是否拼接:token是必须的,trackID主要看ICC版本
    正确示例:rtsp://10.35.239.81:9100/dss/monitor/param/cameraid=1000018%240%26substream=1?token=170;
    低版本可能需要拼接trackID=0才能播放,可尝试拼接trackID=0,完整地址:rtsp://10.35.239.81:9100/dss/monitor/param/cameraid=1000018%240%26substream=1?token=170&trackID=0;
2、设备接入协议为友商设备私有协议接入,默认不支持,若需支持,请参考友商设备无法播放尝试配置配置
3、若以上配置仍无法解决,请设置下VLC播放器:工具-》偏好设置-》输入/编解码器下的live555流传输下RTP over RTSP项,如下图所示




如何实现录像下载功能

客户在对接录像下载中一般指的是指定某个时间段下载录像(rtsp录像下载),而不是录制视频功能下载(边播边录)
    rtsp录像下载一般建议客户对接dpsdk,目前只有C++语言,目前没有相关API接口,支持需定制
    rtsp录像下载还有另一种方式:前端浏览器页面通过集成大华播放插件实现rtsp录像下载,场景较少,一般很少对接

门禁管理
门禁对接流程

组织管理->设备管理->部门管理->人员管理->卡片管理->门禁授权
组织管理:组织根节点001,设备是挂在组织节点下;跳过组织管理是可以的,设备添加选择根节点
设备管理:设备增删改接口不支持,查询门禁设备通道,通道类型选择7
部门管理:部门根节点是1,人员是挂在部门节点下;跳过部门管理是可以的,人员添加选择根节点
人员管理:人员上传照片-》增、改录入人员信息,授权前查询人员
卡片管理:人脸开门与刷卡开门都需要建卡,人脸、指纹授权需绑定人员主卡
门禁授权:授权方式有按人/卡,按门、按部门授权,调用接口也不一样
备注:新增卡片与门禁授权需间隔一定时间,毫秒级,基础数据卡片信息同步门禁是通过mq,否则可能会报卡片不存在错误

门禁开门计划数最大限制

门禁开门计划数最大127个,设备最大限制
对于请假流程建议修改主卡有效期控制

人脸授权注意事项

人脸授权流程:上传照片->新增人员->开卡->人脸授权
人脸、指纹授权均需要绑定卡片,生物特征授权是根据主卡授权

门禁授权接口调用顺序

接口调用顺序参考业务对接->能力概览->门禁管理->门禁授权

门禁授权失败常见问题原因及排查
  1. 人脸或卡长时间未下发,但是人员已下发 --> 排查asc_card_sync表中 person_ready是否是1,1是正常,0是异常
  2. 在有权限的部门下新建人员,没有继承权限 --> 可能是因为卡比人先到导致的, 可以重新开卡
  3. 人脸任务和特征提取任务出现SDK错误 ---> 排查下发的图片格式是否正确或者图片是否存在
  4. 下发卡片出现sdk错误 --> 一般是设备上报的错误码未出现在 关系库中,找服务排查 或者升级 ACDG
  5. 二维码扫描提示未授权 ---> 检查 卡号加密秘钥是否正确
  6. 二维码扫描提示超时 --> a. 确认设备时间和平台时间是否一致 b. 抓包联系设备排查
人员布控
人员布控支持哪些设备

IPC、IVSS、DP

内部库人员布控对接流程

组织管理->设备管理->部门管理->人员管理->注册库管理->人员头像绑定->人员布控
组织管理:组织根节点001,设备是挂在组织节点下;跳过组织管理是可以的,设备添加选择根节点
设备管理:设备增删改接口不支持,查询IPC或IVSS视频通道,通道类型选择1
部门管理:部门根节点是1,人员是挂在部门节点下;跳过部门管理是可以的,人员添加选择根节点
人员管理:人员上传照片-》增、改录入人员信息
注册库管理:注册库增删改查,库类型选择内部库,绑定IPC或IVSS设备
人员头像绑定:将指定部门下人员头像下发到注册库
人员布控:指定注册库与通道,设置相似度进行布控

黑白名单库人员布控对接流程

组织管理->设备管理->人员布控-人员管理->注册库管理->人员布控
组织管理:组织根节点001,设备是挂在组织节点下;跳过组织管理是可以的,设备添加选择根节点
设备管理:设备增删改接口不支持,查询IPC或IVSS视频通道,通道类型选择1
人员管理:此人员为人员布控创建人员,非内部人员,创建入口是人员布控下-人员(黑白名单库)
注册库管理:注册库增删改查,库类型选择黑/白名单库,绑定IPC或IVSS设备
人员布控:指定注册库与通道,设置相似度进行布控

黑白名单库与内部库区别

黑白名单库的人员是从人员布控下录入的,而内部库人员是从基础框架人员管理同步到人员布控下的
内部库需做人员头像绑定,黑白名单库直接录入,自动同步到设备

以图搜图功能支持情况

ICC框架版本要求5.0.6及以上,人员布控版本至少为1.0.3bugfix版本,详细参考接口文档版本号说明
内部库需做人员头像绑定,黑白名单库直接录入,自动同步到设备

人员布控支持哪些报警

参考目录:文档-API文档-附录-事件列表-人员布控,具体如下所示
陌生人报警(1001000):FR设备(设备支持智能分析)上报,未识别人脸记录
人脸检测报警(1001005):FD设备(设备不支持支持智能分析,仅是抓拍)上报,未识别人脸记录
白名单库报警(1001001):库类型为白名单库产生的人员识别记录
黑名单库报警(1001002):库类型为黑名单库产生的人员识别记录
内部员工报警(1001003):库类型为内部库库产生的人员识别记录
访客报警(1001004):库类型为访客库产生的人员识别记录
人体识别报警(1001006):人体特征结构化报警数据,包含的人脸部分,只入库不推报警(人体识别与人脸检测都有数据,实时推送的是人体识别报警,不推送人脸检测报警)
机动车识别报警(1001007):机动车车体特征报警数据
非机动车识别报警(1001008):非机动车车体特征报警数据

人员布控日志路径

/log/evo-face/evo-face.log

访客管理
访客预约支持哪些设备

门禁设备、可视对讲设备、道闸设备、人员布控设备

访客预约对接流程

组织管理->设备管理->部门管理->人员管理->访客预约->被访人审批->访客机登记->权限下发
组织管理:组织根节点001,设备是挂在组织节点下;跳过组织管理是可以的,设备添加选择根节点
设备管理:设备增删改接口不支持,查询IPC或IVSS视频通道,通道类型选择1
部门管理:部门根节点是1,人员是挂在部门节点下;跳过部门管理是可以的,人员添加选择根节点
访客预约:需指定被访人,可从人员管理查询获取
被访人审批:被访人审批,vip访客审批通过权限下发,普通访客访客机登记后权限下发
访客机登记:普通访客需访客机登记后权限下发
权限下发:自动授权通道和自动签离通道、停车场权限、被访人可视对讲设备权限

访客权限下发时间点

访客预约,被访人审批指定VIP访客类型时,权限下发,无需登记,即可进入
访客预约,被访人审批指定普通访客类型时,访客机登记后权限才会下发
访客邀约,指定VIP访客类型,权限自动下发,前提是访客子系统版本1.1.0版本
小区访客预约,权限自动下发

访客预约与访客邀约区别

访客预约需被访人审批
访客邀约则直接跳过审批

访客无法进入

是否配置自动授权通道和自动签离通道
车辆进入检查下停车场场区是否配置,预约登记是否有记录
访客类型是VIP访客还是普通访客类型
普通访客:访客机是否登记
人脸五官是否清晰可见

访客实时推送业务事件

参考目录:文档-API文档-附录-事件列表-访客管理,具体如下所示
访客行踪推送(visitor.record):访客通行记录推送
访客状态变更信息(visitor.status):访客状态推送

访客类型选项说明

移动端审核:针对于H5预约的访客,如果开启,则H5页面预约的访客需要被访人/固定审核人进行审核
人证核验:如果开启认证核验,所有访客均需要在访客机进行认证比对,才会进行授权,访客状态变更为在访
访客机登记审核:开启后,在访客机现场预约登记的访客,登记后也需要被访人/固定审核人进行审核,审核完成后下发权限,状态变更为在访

访客日志路径

/log/evo-visitor/evo-visitor.log

停车管理
内部车辆对接流程

a. 首先在平台上配置场区,设置进出放行模式,收费规则,绑定设备
b. 调API文档-停车管理-人员管理下的添加人员-车辆接口,绑定场区、车辆,设置有效期
c. 充值缴费,可跳过
d. 三方支付调API文档-停车管理-停车预缴费接口实现,可跳过
e. 三方手动控制车辆进出调API文档-停车管理-接口配置预进场、预出场配置,可跳过
f. 实时接收抓拍记录参考API文档-事件中心-事件订阅接口,订阅业务事件,类型为:car.capture 或 通过接口配置订阅车辆进场数据/车辆出场,可跳过

停车场对接注意事项

车辆管控建议对接停车场的人员与车辆管理,因为停车场的人员与车辆管理包含停车场业务关键信息,例如场区信息、用户类型
基础框架的人员、车辆不包含场区信息、用户类型,即未定义人员与车辆,直接添加的车辆无法在停车场进行管控,需将基础框架人员、车辆转为停车场支持的内部车辆与内部人员,因此不推荐调基础框架接口对接停车场

内部人员与未定义人员区别

通过停车场模块添加的人员为内部人员,包含场区信息,可做停车场业务
通过基础框架添加的人员是未定义人员,缺少场区信息,若需做停车场业务,需将未定义人员转为内部人员

车辆中的场区与人员中的场区区别

车辆中的场区可管控车辆进出,可在无人员(车主)的情况下设置黑白名单
人员中的场区则是用于处理收费,只有当人员与车辆的场区取交集的场区进出按用户类型收费处理,其他情况按照临时用户收费处理

白名单车辆进出场区是否收费

不收费

车辆信息中的黑名单与设备黑名单管理区别

车辆信息中的黑名单是所有设备都无法通行
设备黑名单管理可设置指定道闸设备设置黑名单,粒度更细的管控

对接过车记录应该对接哪个模块

停车管理通过道闸设备产生的过车记录,对接的是停车场模块
交通卡口通过卡口设备产生的过车记录,对接的是卡口模块

事件订阅与接口配置的区别

事件订阅可实时推送停车场抓拍记录、车辆进出记录、停车场报警数据,且数据不加密
接口配置可实时推送停车场抓拍记录、车辆进出记录、车辆预进场/预出场记录,数据是加密传输
若要根据预进场/预出场记录,手动控制开闸,对接接口配置功能,其他场景下推荐事件订阅

道闸控制接口成功设备却未开闸

道闸一体机处理时需注意下,基础资源的设备编码是M,则请求道闸控制接口时的道闸设备编码需+1
规则如下:道闸一体机:相机编号(基础框架设备编码)为 m,那么道闸编号为 m+1,led是 m+2
宗旨:要使用停车场的道闸通道编码做控制,不可用基础资源下的道闸通道 例如基础资源下设备编码:1000001,对应的基础资源下道闸通道为:1000001$14$0$0,则 请求道闸控制接口时道闸通道编码为1000002$14$0$0
错误示例:{"channelId":"1000001$14$0$0","operateType":1}
正确示例:{"channelId":"1000002$14$0$0","operateType":1}

停车场日志路径

/log/ipms/ipms.log