文章摘要
还在为车牌识别设备的网络通信协议头疼吗?本文档深度揭秘了华夏相机TCP协议的核心机制,从长连接的数据上报到短连接的指令控制,涵盖黑白名单管理、抓拍触发、IO状态等关键接口。无论你是需要解析车牌数据、实现设备搜索,还是跨网段配置IP,这份详尽的协议说明都将为你提供清晰的实现路径和完整的解决方案。
— 此摘要由停车技术员AI分析文章内容生成
设备 TCP 网络通信协议
2023/6/8

本文档主要描述与相机通信过程中的协议内容,通信模式、通信包结构说明,以及具体的协议类型,协议数据等。

目录

修订记录 3

  1. 通信模式 4
  2. 通信包结构 4
    1. 数据包头 4
    2. 通讯包数据描述 4
  3. 长连接协议 5
    1. 客户端请求接口 6
      1. 报警数据请求 6
      2. 报警数据应答 6
      3. 报警数据请求(无需密码,无图片数据) 7
      4. 报警数据应答(无需密码,无图片数据) 7
    2. 服务端推送接口 8
      1. 新旧协议说明 8
      2. 车牌识别数据上报 9
      3. 车牌识别数据上报应答 18
      4. 车牌数据快速上报 19
      5. 接收 RS485 透明串口数据 21
      6. 接收 RS232 透明串口数据 22
      7. 接收 IO 输入状态变化数据 23
  4. 短连接协议 24
    1. 设置开关量输出 1 请求 24
    2. 设置开关量输出 1 应答 24
    3. 设置开关量输出 2 请求 25
    4. 设置开关量输出 2 应答 25
    5. 抓拍(不做车牌识别) 26
    6. 抓拍(不做车牌识别)应答 26
    7. 软触发 27
    8. 软触发应答 27
    9. RS485 透传串口数据请求 28
    10. RS485 透传串口数据请求应答 28
    11. 读出黑白名单请求 29
    12. 读出黑白名单应答 29
    13. 添加黑白名单请求 30
    14. 添加黑白名单应答 30
    15. 删除黑白名单请求 31
    16. 删除黑白名单应答 31
    17. 删除所有黑白名单请求 32
    18. 删除所有黑白名单应答 32
    19. 修改黑白名单请求 33
    20. 修改黑白名单应答 33
    21. 查找黑白名单请求 34
    22. 查找黑白名单应答 34
    23. 设置黑白名单参数请求 35
    24. 设置黑白名单参数应答 36
    25. 获取黑白名单参数请求 37
    26. 获取黑白名单参数应答 37
    27. RS232 透传串口数据请求 39
    28. RS232 透传串口数据请求应答 39
    29. 获取相机 4G 信息请求 40
    30. 获取相机 4G 信息应答 40
    31. 设置音量请求 41
    32. 设置音量请求应答 41
    33. 获取音量请求 42
    34. 获取音量请求应答 42
    35. 读出用户数据 43
    36. 读出用户数据应答 43
    37. 获取相机时间 44
    38. 获取相机时间应答 44
    39. 设置相机时间 46
    40. 设置相机时间应答 47
    41. 获取相机 UID 48
    42. 获取相机 UID 应答 48
    43. 获取 HTTP POST 参数请求(模式 5) 49
    44. 获取 HTTP POST 参数请求(模式 5)应答 49
    45. 设置 HTTP POST 参数请求(模式 5) 52
    46. 设置 HTTP POST 参数请求(模式 5)应答 54
    47. 获取 IO 输入状态 55
    48. 获取 IO 输入状态应答 55
    49. 设置开关量输出配置参数请求(onvif 协议) 56
    50. 设置开关量输出配置参数应答 57
  5. 以太网协议,设备搜索及跨网段修改 IP 58
    1. 设备搜索 58
    2. 通过 mac 地址获取相机 IP,掩码和网关 59
    3. 跨网段修改 IP 60

修订记录

修订日期 修订版本 修订说明
2018-08-08 V1.0.11
  1. 修改文档格式,增加目录、修订记录以及标题。
  2. 增加报警数据重传协议说明。
2018-11-14 V1.0.12
  1. 增加获取 4G 信息的协议说明
2019-05-20 V1.0.13
  1. 增加车款的获取 3.1.5.7
2019-09-06 V1.0.14
  1. 文档增加设置开关量 2 输出的协议说明
2019-09-18 V1.0.14
  1. 增加设置和获取音量的协议说明
2019-09-24 V1.0.15
  1. 增加报警数据请求的流程说明
  2. 相机端返回增加状态说明
2021-06-16 V1.0.15
  1. 更新黑白名单参数设置和获取协议内容
  2. 增加获取相机时间
  3. 增加设置相机时间
  4. 增加获取相机 UID
  5. 增加获取设备信息
2022-08-31 V1.0.16
  1. 修改获取黑白名单中的名单格式说明
2022-09-06 V1.0.16
  1. 增加识别数据快速上报协议
2023-04-27 V1.0.17
  1. 软触发应答去除包体
  2. 增加 HTTP POST 配置协议
  3. 增加 IO 输入状态变化数据和获取 IO 输入状态协议
2023-06-08 V1.0.18 4. 增加设置开关量输出配置参数的协议
2023-07-28 V1.0.19 1.更新车牌类型

通信模式

TCP协议

图片[1]-华夏车牌识别相机设备TCP网络通信协议-停车技术员

服务端

车牌识别设备)

图片[2]-华夏车牌识别相机设备TCP网络通信协议-停车技术员

客户端

客户端与车牌识别设备(服务器)之间通信采用 TCP 协议,端口号:8200。打开道闸及只抓拍的端口号为:8117

通信包结构

数据在 TCP 连接上传输采用包头加包体的格式

数据包头

包头 32 个字节,数据结构定义如下:可以参考引用 ice_com_type.h 头文件

typedef unsigned int ICE_U32;
typedef struct
{
ICE_U32 u32Size; //!< 数据包长度
ICE_U32 u32Type; //!< 类型
ICE_U32 u32Status; //!< 状态
ICE_U32 u32Channel; //!< 通道号
ICE_U32 u32Time; //!< 时间
ICE_U32 u32Date; //!< 日期
ICE_U32 u32Id; //!< 标识
ICE_U32 u32Level; //!< 警报级别

} ICE_OPER_DATA_S;

通讯包数据描述

命令格式:

包头(32 个字节) 包体
4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 命令长度-32字节
数据包长度(包头

+包体)

类型 状态 通道号 时间 日期 标识 警报级别 命令附加段

长连接协议

大致流程如下:

图片[3]-华夏车牌识别相机设备TCP网络通信协议-停车技术员

注:协议为长连接,连接成功后,相机端识别数据或者接收到串口数据,即上报给客户端。若要检测相机是否在线,可使用每隔一段时间,发送请求报警数据的请求,来进行检测。

客户端请求接口

报警数据请求

当客户端需要相机端推送数据时,需要向 IPC 设备 8200 端口号发起连接,并发送u32Size 为 32, u32Type 为 0x1007 的数据包。

注意:无需包体

  1. 请求使用通道 0 发送车牌识别结果(车牌识别结果不拆包)
包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

协议类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节序号 4 字节标识
32 0x1007 0 0 0 0 0 0
  1. 请求使用通道 1 发送车牌识别结果(车牌识别结果拆包发送)
包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

协议类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节序号 4 字节标识
32 0x1007 0 1 0 0 0 0
  1. 请求使用通道 1 发送车牌识别结果(车牌识别结果拆包发送),并且需要重传功能
包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

协议类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节序号 4 字节标识
32 0x1007 1 1 0 0 0 0

报警数据应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x1008 的应答,表示请求成功。注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

协议类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节序号 4 字节标识
32 0x1008 1 0 0 0 0 0

报警数据请求(无需密码,无图片数据)

当客户端需要请求车牌识别结果时,需要向IPC设备8200端口号发起连接,并发送u32Size为32,u32Type为 0x1047的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

协议类型

4 字节状态 4 字节通道号 16 字节密码
32 0x1047 0 0 0

报警数据应答(无需密码,无图片数据)

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x1048 的应答,表示请求成功。注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

协议类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节序号 4 字节标识
32 0x1048 1 0 0 0 0 0

服务端推送接口

新旧协议说明

包头中,“通道号”值为 0 表示老版协议,“通道号”值为 1 表示新版协议,关于新版协议的说明如下:

  1. 新版协议,相机推送数据采用分包发送的方式。每次发送数据会拆成小包,小包前面有两个字节

0x7e5a,小包结束有两个字节 0x5a7e。一个小包格式为:7e 5a + 包头 + 包体 + 5a 7e

  1. 包头
包头(32 个字节)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节序号 4 字节标识
32+包体长度 协议类型 状态 通道号 时间 0 序号 标识
  1. 包头中“状态”字段的值&0x80 不为 0,表示是拆包数据的第一个小包。 包头中“状态”字段的值&0x40 不为 0,表示是拆包数据的最后一个小包。

包头中“状态”字段的值&0xC0 不为 0,表示起始包及结束包,表示只有一包数据。

  1. 包头中“标识”字段,从开始包开始,是连续递增的,这个“标识”字段不连续就说明丢包了。

车牌识别数据上报

发送报警数据请求,收到报警数据应答后,并且没有断开 tcp 连接时,相机端识别到车牌后,向客户端发送车牌识别数据。

协议类型:0x2002

需要图片的完整包体为(可参考 ice_vdc_result.h):

完整包体
136

4

16

4

75

1 字节 28

16

12

4

4

32

32

4

160

2

2

4

N

2

2

M

预留 报警触发类型 实时数据抓拍时

车辆流水号 预留 是否虚假车牌 预留 离线数据抓拍时

预留 车辆方向 车辆速度 车辆颜色 车牌颜色 是否存在车牌 车牌信息 图片宽度 图片高度 图片长度 N 抓拍图数据 数据类型 数据长度 M 数据
2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

期几

车牌信息:

16 字

92 字

4 字

4 字

4 字

4 字

4 字

32 字

车牌

预留 车牌

置信度

预留 车牌

颜色

车牌

类型

车身

颜色

预留

可参考结构体:

typedef struct

{

ICE_S32 s32EventCode; ICE_S32 s32LandId;

//!< 事件码

//!< 车道ID

#ifdef _WIN64

ICE_CHAR cFileName[120];

//!< 文件名

#else

ICE_CHAR cFileName[124]; //!< 文件名

#endif

ICE_VBR_RESULT_S *pstVbrResult; //!< 车款结果,需要重新计算指针位置,请参考Demo

ICE_VDC_ALARM_TYPE s32AlarmType; //!< 报警触发类型

ICE_SYSTEMTIME_S stLiveCapTime; //!< 实时数据抓拍时间

ICE_U32 u32SerialNum; //!< 车辆流水号

ICE_U32 u32PlateWidth; //!< 实际车辆宽度

ICE_U32 u32ExtSnapPixel; //!< 抓拍图外osd像素高度

ICE_Phone_Mac_List* pPhoneMacList; //!< 接收的终端mac列表

#ifndef _WIN64

ICE_CHAR cPhoneMacListReserve[4]; //!< mac列表位指针兼容预留 #endif

ICE_U32 u32PictureHashID; //!< 图片哈希ID

ICE_U32 u32Encrypt; //!< 车牌号码是否加密

ICE_U8 u8PlateTea; //!< 车牌号码加密的最后一个字符

ICE_CHAR cReserve[50]; //!< 预留
ICE_U8 u8FalsePlate; //!< 是否虚假车牌
ICE_S32 s32TripWireEventCode;

绊线触发;:绊线触发,但使用当前图像抠图)

//!< 绊线事件码(:无事件;:缓存图像;:
ICE_S32 s32VehicleIntensity; ICE_CHAR cVehicleType[12];

ICE_VCR_VEHICLECOLOR_E enVehicleColor;

//!<

//!<

车身亮度

//!< 车辆类型(字符串方式)车身颜色

ICE_VDC_VEHICLETYPE_E s32VehicleType; //!< 车辆类型
ICE_SYSTEMTIME_S stCapTime; //!< 抓拍时间
ICE_S32 s32HaveCloseUp; //!< 是否有特写图像
ICE_RECT_S stVehilceRect; //!< 车辆外框
ICE_VDC_VERHICLE_DIR_E enDirect; //!< 车辆方向
ICE_FLOAT fSpeed; //!< 车辆速度(单位:千米/小时)
ICE_CHAR cVehicleColor[32]; //!< 车辆颜色
ICE_CHAR cPlateColor[32]; //!< 车牌颜色
ICE_S32 s32HavePlate; //!< 是否存在车牌
ICE_VLPR_OUTPUT_S stPlateInfo; //!< 车牌信息
ICE_S16 s16PicWidth; //!< 图片宽度
ICE_S16 s16PicHeight; //!< 图片高度
ICE_S32 s32PicDataLen; //!< 图片大小
ICE_S8 as8PictureData[1024*1024]; //!< 图片数据

}ICE_VDC_PICTRUE_INFO_BUFFER_S;

车牌信息:

ICE_VLPR_OUTPUT_S 数据结构存储是相关车牌的数据信息,数据结构的定义请参考 ice_vlpr_result.h

typedef struct

{

ICE_S8 ICE_RECT_S ICE_S32 ICE_S8 ICE_FLOAT ICE_FLOAT ICE_S32

as8PlateNum[ICE_VLPR_PLATE_BUFLEN];

stPlateRect; s32PlateContrast;

astReserve0[40]; aflPlateCharConfid[ICE_VLPR_PLATE_CHAR_NUM];

flConfidence; s32PlateIntensity;

//!< 车牌号

//!< 车牌矩形框;

//!< 车牌对比度;

//!< 预留字段

//!< 车牌字符置信度

//!< 车牌置信度

//!< 车牌亮度

ICE_PLATECOLOR_E ePlateColor;

ICE_PLATETYPE_E ePlateType; ICE_VEHICLECOLOR_E eVehicleColor;

//!< 车牌颜色

//!< 车牌类型

//!< 车身颜色

ICE_FLOAT

ICE_FLOAT ICE_U8 ICE_S8

ICE_RECT_4P_S ICE_S8

ICE_S8

ICE_U32

}ICE_VLPR_OUTPUT_S;

flPlateAngleH;

flPlateAngleV; u8PlateColorRate; s8CharNum; stRealPlateRect; astReserve;

sPlateFmt; u32FrameId;

//!< 车牌水平倾斜角度

//!< 车牌竖直倾斜角度

//!< 颜色匹配程度;

//!< 预留参数

不带图片的完整包体数据为(可参考 ice_vdc_result.h):

13

6

4

字节

16 字节 108

字节

16 字节 12 字节 4 字节 4 字节 32 字节 32 字节 4 字节 160

字节

2

字节

2

字节

4

字节

4 字节
预留 报警触发类

实时数据抓拍时间 预留 离 线 数 据 抓 拍 时间 预留 车 辆 方向 车 辆 速度 车 辆 颜色 车 牌 颜色 是 否 存 在 车牌 车牌信息 图片宽度 图片高度 图片长度 N 抓 拍 图 数 据 指 针
2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

期几

16 字

92 字

4 字

4 字

4 字

4 字

4 字

32 字

车牌

预留 车牌

置信度

预留 车牌

颜色

车牌

类型

车身

颜色

预留

可参考结构体:

typedef struct

{

ICE_S32 s32EventCode;

ICE_S32

#ifdef _WIN64

s32LandId;

//!< 事件码

//!< 车道ID

ICE_CHAR cFileName[120];

#else

ICE_CHAR cFileName[124]; #endif

ICE_VBR_RESULT_S *pstVbrResult;

考Demo

//!< 文件名

//!< 文件名

//!< 车款结果,需要重新计算指针位置,请参

ICE_VDC_ALARM_TYPE s32AlarmType;

ICE_SYSTEMTIME_S stLiveCapTime; ICE_U32 u32SerialNum;

ICE_U32 u32PlateWidth; ICE_U32 u32ExtSnapPixel;

ICE_Phone_Mac_List* pPhoneMacList; #ifndef _WIN64

ICE_CHAR cPhoneMacListReserve[4]; #endif

//!< 报警触发类型

//!< 实时数据抓拍时间

//!< 车辆流水号

//!< 实际车辆宽度

//!< 抓拍图外osd像素高度

//!< 接收的终端mac列表

//!< mac列表位指针兼容预留

ICE_U32 u32PictureHashID;

ICE_U32 u32Encrypt; ICE_U8 u8PlateTea; ICE_CHAR cReserve[50]; ICE_U8 u8FalsePlate;

ICE_S32 s32TripWireEventCode;

绊线触发;:绊线触发,但使用当前图像抠图) ICE_S32 s32VehicleIntensity; ICE_CHAR cVehicleType[12];

ICE_VCR_VEHICLECOLOR_E enVehicleColor; ICE_VDC_VEHICLETYPE_E s32VehicleType; ICE_SYSTEMTIME_S stCapTime;

是离线数据)

//!< 图片哈希ID

//!< 车牌号码是否加密

//!< 车牌号码加密后的最后一个字节

//!< 预留

//!< 是否虚假车牌

//!< 绊线事件码(:无事件;:缓存图像;:

//!< 车身亮度

//!< 车辆类型(字符串方式)

//!< 车身颜色

//!< 车辆类型

//!< 离线数据抓拍时间(数据不为0,则表明

ICE_S32 s32HaveCloseUp; //!< 是否有特写图像

ICE_RECT_S stVehilceRect; //!< 车辆外框

ICE_VDC_VERHICLE_DIR_E enDirect; //!< 车辆方向

ICE_FLOAT fSpeed; //!< 车辆速度(单位:千米/小时)

ICE_CHAR cVehicleColor[32]; //!< 车辆颜色

ICE_CHAR cPlateColor[32]; //!< 车牌颜色

ICE_S32 s32HavePlate; //!< 是否存在车牌

ICE_VLPR_OUTPUT_S stPlateInfo;

ICE_S16 s16PicWidth;

//!< 车牌信息

//!< 图片宽度

ICE_S16 s16PicHeight;

ICE_S32 s32PicDataLen; ICE_S8 *ps8PictureData;

//!< 图片高度

//!< 图片大小

//!< 图片数据

}ICE_VDC_PICTRUE_INFO_S;

        1. 包体数据说明
  1. 报警触发类型
数值 含义
0 实时_硬触发+临时车辆
1 实时_视频触发+临时车辆
2 实时_软触发+临时车辆
3 实时_硬触发+白名单
4 实时_视频触发+白名单
5 实时_软触发+白名单
6 实时_硬触发+黑名单
7 实时_视频触发+黑名单
8 实时_软触发+黑名单
9 脱机_硬触发+临时车辆
10 脱机_视频触发+临时车辆
11 脱机_软触发+临时车辆
12 脱机_硬触发+白名单
13 脱机_视频触发+白名单
14 脱机_软触发+白名单
15 脱机_硬触发+黑名单
16 脱机_视频触发+黑名单
17 脱机_软触发+黑名单
18 实时_硬触发+过期白名单
19 实时_视频触发+过期白名单
20 实时_软触发+过期白名单
21 脱机_硬触发+过期白名单
22 脱机_视频触发+过期白名单
23 脱机_软触发+过期白名单
  1. 车辆方向
数值 含义
0 车头方向
1 车尾方向
2 车头和车尾方向
  1. 车牌类型
数值 含义
0 不确定的
1 蓝牌车
2 单层黄牌车
4 警车
8 武警车辆
16 双层黄牌
32 摩托车
64 教练车
128 军车
256 个性化车
512 港澳车
1024 使馆车
2048 老式车牌
4096 民航车牌
8192 新能源车牌
0x00004000 新能源车牌大车
0x00008000 应急车
0x00010000 机场车牌
0x00020000 电字车牌
0x00040000 厂内车牌
0x00080000 厂/场内车牌(竖)
0x00100000 粤+4位数字
0x01000000 澳门车牌
0x02000000 香港车牌
0x10000001 2+2模型
0x10000002 2+3模型
0x10000004 3+2模型
0x10000008 3+3模型
0x10000010 3+4模型
0x10000020 3+2模型
0x10000040 2+3模型
0x10000080 3+3模型
0x10000100 2+4模型
0x10000200 4+2模型
0x10000400 3+4模型
0x10001000 台湾使馆模型
0x10002000 台湾外牌模型
0x10004000 台湾军牌模型
0x10004001 台湾计程车
0x10004002 台湾大客
  1. 车身颜色
数值 含义
0 未知
1 红色
2 绿色
3 蓝色
4 黄色
5 白色
6 灰色
7 黑色
8 紫色
9 棕色
10 粉色

车辆特征码相机版本对应值为:

数值 含义
-1 未知
0 黑色
1 蓝色
2 灰色
3 棕色
4 绿色
5 夜间深色
6 紫色
7 红色
8 白色
9 黄色
        1. 车牌数据的获取

ICE_VLPR_OUTPUT_S 数据结构存储是相关车牌的数据信息,数据结构的定义请参考 ice_vlpr_result.h

        1. 抓拍图片的获取

为了节约网络带宽,IPC 设备只会发送 as8PictureData 前 s32PicDataLen 个字节,所以实际的包体长度取决于抓拍图的大小 s32PicDataLen,会小于数据结构 ICE_VD_PICTRUE_INFO_BUFFER_S 的大小。

        1. 车牌特写图片的获取

当车牌识别为有效车牌时(s32HavePlate 为 1),以上结构体后面会附加发送一张车牌特写图: as8PictureData + s32PicDataLen 个字节后面紧跟 4 个字节,这 4 个字节组成的整数(前 2 个字节组成的整数(数据类型)必须为 0 + 表示车牌特写图的长度,例如 N);然后 4 字节后面会继续发送 N 个字节的车牌特写图。总的数据包大小会增加 4 + N 个字节。

        1. 车款的获取

当识别到车标时,有车牌特写图时会在车牌特写图后面紧跟 4 个字节(前 2 个字节组成的整数(数据类型)必须为 1 + 后 2 个字节组成的整数表示 N 字节的大小)+N 个字节(存放车款结构体内容),无车牌特写 图时紧跟在 as8PictureData + s32PicDataLen 后面 4 个字节 + N 个字节。

解析车牌特写图和车款的方法如下,注意得到的车标为 utf-8 编码格式。

车牌识别数据上报应答

当使用相机使用分包发送并且需要重传功能时(3.1.1 报警数据请求情况 C)(通道号值为 1 为拆包发送是,如何为拆包发送?如何判断收到的报警数据是拆包发送的?),当数据接收完全后,发送车牌数据应答包。若数据接收不完全,则不发送;相机未收到确认包,则会重传车牌识别数据(不带图片)。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

协议类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节序号 4 字节标识
32 0x100F 0 0 0 0 值为接收到的数据的包头的 u32Time

字段

0

图片[4]-华夏车牌识别相机设备TCP网络通信协议-停车技术员

车牌数据快速上报

发送报警数据请求,收到报警数据应答后,并且没有断开 tcp 连接时,相机端识别到车牌后,向客户端发送报警数据。

协议类型: 0x2003完整包体为:

13

6

字节

4

字节

16 字节 4 字

104

字节

16 字

12 字

4 字

4 字

32 字

32 字

4 字

160

字节

2

字节

2

字节

4

字节

4 字

警触发类型

实时数据

抓拍时间

车 辆

流 水 号

预留 离 线

数 据 抓 拍 时间

预留 车 辆

方向

车 辆

速度

车 辆

颜色

车 牌

颜色

是 否

存 在 车牌

牌信息

片宽度

片高度

片长度 N

抓 拍

图 数 据 指 针

2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

2

字节

期几

16 字

92 字

4 字

4 字

4 字

4 字

4 字

32 字

车牌

预留 车牌

置信度

预留 车牌

颜色

车牌

类型

车身

颜色

预留

可参考结构体:

typedef struct

{

ICE_S32 s32EventCode;

ICE_S32

#ifdef _WIN64

s32LandId;

//!< 事件码

//!< 车道ID

ICE_CHAR cFileName[120];

#else

ICE_CHAR cFileName[124]; #endif

ICE_VBR_RESULT_S *pstVbrResult;

//!< 文件名

//!< 文件名

ICE_VDC_ALARM_TYPE s32AlarmType;

ICE_SYSTEMTIME_S stLiveCapTime; ICE_U32 u32SerialNum;

//!< 车款结果

//!< 报警触发类型

//!< 实时数据抓拍时间

//!< 车辆流水号

ICE_U32 u32PlateWidth;

ICE_U32 u32ExtSnapPixel; ICE_Phone_Mac_List* pPhoneMacList;

#ifndef _WIN64

ICE_CHAR cPhoneMacListReserve[4]; #endif

//!< 实际车辆宽度

//!< 抓拍图外osd像素高度

//!< 接收的终端mac列表

//!< mac列表位指针兼容预留

ICE_U32 u32PictureHashID; //!< 图片哈希ID

ICE_U32 u32Encrypt; //!< 车牌号码是否加密

ICE_U8 u8PlateTea; //!< 车牌号码Tea加密后的最后一个字节

ICE_CHAR cReserve[41]; //!< 预留

ICE_S16 s16FeatureNum; //!< 特征码维数

ICE_FLOAT pReserve; //!< 特征码

ICE_U8 uReserve[2]; // !< 预留

ICE_U8 u8FalsePlateFileter; //!< 虚假车牌是否过滤

ICE_U8 u8FalsePlate; //!< 是否虚假车牌

ICE_S32 s32TripWireEventCode; //!< 绊线事件码(:无事件;:缓存图像;:绊线触发;:绊线触发,但使用当前图像抠图)

}ICE_VDC_PICTRUE_INFO_S;

ICE_S32 s32VehicleIntensity; //!< 车身亮度
ICE_CHAR cVehicleType[12]; //!< 车辆类型(字符串方式)
ICE_VCR_VEHICLECOLOR_E enVehicleColor; //!< 车身颜色
ICE_VDC_VEHICLETYPE_E s32VehicleType; //!< 车辆类型
ICE_SYSTEMTIME_S stCapTime; //!< 抓拍时间
ICE_S32 s32HaveCloseUp; //!< 是否有特写图像
ICE_RECT_S stVehilceRect; //!< 车辆外框
ICE_VDC_VERHICLE_DIR_E enDirect; //!< 车辆方向
ICE_FLOAT fSpeed; //!< 车辆速度(单位:千米/小时)
ICE_CHAR cVehicleColor[32]; //!< 车辆颜色
ICE_CHAR cPlateColor[32]; //!< 车牌颜色
ICE_S32 s32HavePlate; //!< 是否存在车牌
ICE_VLPR_OUTPUT_S stPlateInfo; //!< 车牌信息
ICE_S16 s16PicWidth; //!< 图片宽度
ICE_S16 s16PicHeight; //!< 图片高度
ICE_S32 s32PicDataLen; //!< 图片大小
ICE_S8 *ps8PictureData; //!< 图片数据

接收 RS485 透明串口数据

接收透明串口数据,接收端口为 8200,包体为接收到的透明串口数据。

协议类型:0x2100包体为:串口数据

接收 RS232 透明串口数据

接收透明串口数据,接收端口为 8200,包体为接收到的透明串口数据。

协议类型:0x20ff

包体数据为:串口数据

接收 IO 输入状态变化数据

接收透明串口数据,接收端口为 8200,包体为接收到的 IO 状态数据。

协议类型:0x20fe包体数据为:

包体(4 字节)
1 字节 1 字节 1 字节 1 字节
IO 输入 1 状态 IO 输入 2 状态 IO 输入 3 状态 IO 输入 4 状态

短连接协议

设置开关量输出 1 请求

当客户端需要请求设置开关量输出 1 时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5065 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5065 0 0 0 0 0 0

设置开关量输出 1 应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5066 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到应答后,断开 TCP 连接。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5066 1 成功

0 失败

0 0 0 0 0

设置开关量输出 2 请求

当客户端需要请求设置开关量输出 2 时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5137 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5137 0 0 0 0 0 0

设置开关量输出 2 应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5138 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到应答后,断开 TCP 连接。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5138 1 成功

0 失败

0 0 0 0 0

抓拍(不做车牌识别)

当客户端需要请求抓拍(不做车牌识别)时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32,u32Type 为 0x1033 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x1033 0 0 0 0 0 0

抓拍(不做车牌识别)应答

IPC 设备收到请求后会回复 u32Size 为:32+图片长度,u32Type 为 0x1034 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。成功后可以再接收 IPC 设备发送的图片数据。如果使用短连接,数据接收完成后,断开 TCP 连接;如果使用长连接,则不要断开 TCP 连接。

包头(32 个字节) 包体
4 字节

数 据 包 长

4 字节 命 令 类

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 图片数据长度

N 字节

32+ 图片数

据长度 N

0x1034 1 成功

0 失败

0 0 0 0 0 图片数据

软触发

当客户端需要请求软触发时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32,u32Type 为 0x1005 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x1005 0 0 0 0 0 0

软触发应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x1006 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。如果使用短连接,接收到应答后,断开 TCP 连接;如果使用长连接,接收到应答后,不要断开 TCP 连接。

注意:无需包体

包头(32 个字节)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x1006 1 成功

0 失败

0 0 0 0 0

RS485 透传串口数据请求

当客户端发送透传串口数据请求时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为(32+串口数据的长度),u32Type 为 0x1037 的数据包。

包头(32 个字节) 包体
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 串口数据数据长度

N 字节

32+串口数据

长度 N

0x1037 0 0 0 0 0 0 串口数据

RS485 透传串口数据请求应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x1038 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到应答后,断开 TCP 连接。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x1038 1 成功

0 失败

0 0 0 0 0

读出黑白名单请求

当客户端需要请求白名单时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32,u32Type 为 0x5105 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5105 0 0 0 0 0 0

读出黑白名单应答

IPC 设备收到请求后会回复 u32Size 为:32+黑白名单数据长度,u32Type 为 0x5106 的应答,表示请求成功。成功后可以再接收 IPC 设备发送的所有黑白名单数据。数据接收完成后,断开 TCP 连接。

车牌号是 GBK 编码。

黑白名单项格式为:车牌号码+TAB 键+起始有效期+TAB 键+截止有效期+ TAB 键+起始时间+ TAB 键+截止时间+TAB 键+白名单类型(B/W)+回车键

包头(32 个字节) 包体
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 黑白名单数据长度

N 字节

32+ 黑 白 名单数据

长度 N

0x5106 0 0 0 0 0 0 黑白名单数据

添加黑白名单请求

当客户端需要请求添加黑白名单时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32+135, u32Type 为 0x5111 的数据包。包体为数据结构,如下:

黑白名单数据结构

#define WHITELIST_VALID_TIME_LEN 10

typedef struct{

char plate_number[16]; //车牌号 char valid_sdate[WHITELIST_VALID_TIME_LEN+1]; //开始日期 char valid_edate[WHITELIST_VALID_TIME_LEN+1]; //截止日期 char valid_stime[WHITELIST_VALID_TIME_LEN+1]; //开始时间 char valid_etime[WHITELIST_VALID_TIME_LEN+1]; //截止时间

char type[WHITELIST_VALID_TIME_LEN+1]; //名单类型(’W’白名单 ‘B’ 黑名单)

char reserved[64]; //预留字段

}WHITELIST_ITEM;

包头(32 个字节)
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32+135 0x5111 0 0 0 0 0 0
包体(135 个字节)
16 字节 11 字节 11 字节 11 字节 11 字节 11 字节 64 字节
车牌号 开始日期 截止日期 开始时间 截止时间 名单类型 预留

添加黑白名单应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5112 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到应答后,断开 TCP 连接。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5112 1 成功

0 失败

0 0 0 0 0

删除黑白名单请求

当客户端需要请求删除黑白名单时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32+135, u32Type 为 0x5113 的数据包。包体为数据结构,详见黑白名单数据结构

注意:只需知道车牌号就可以进行删除。

包头(32 个字节)
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32+135 0x5113 0 0 0 0 0 0
包体(135 个字节)
16 字节 11 字节 11 字节 11 字节 11 字节 11 字节 64 字节
车牌号

删除黑白名单应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5114 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到应答后,断开 TCP 连接。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5114 1 成功

0 失败

0 0 0 0 0

删除所有黑白名单请求

当客户端需要请求删除所有黑白名单时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5119 的数据包。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5119 0 0 0 0 0 0

注意:无需包体

删除所有黑白名单应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5120 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到应答后,断开 TCP 连接。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5120 1 成功

0 失败

0 0 0 0 0

修改黑白名单请求

当客户端需要请求修改黑白名单时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32+135, u32Type 为 0x5115 的数据包。包体为数据结构,详见黑白名单数据结构

包头(32 个字节)
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32+135 0x5115 0 0 0 0 0 0
包体(135 个字节)
16 字节 11 字节 11 字节 11 字节 11 字节 11 字节 64 字节
车牌号 开始日期 截止日期 开始时间 截止时间 名单类型 预留

修改黑白名单应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5116 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收请求后,断开 TCP 连接。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5116 1 成功

0 失败

0 0 0 0 0

查找黑白名单请求

当客户端需要请求查找黑白名单时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32+135, u32Type 为 0x5117 的数据包。包体为数据结构,详见黑白名单数据结构

注意:只需知道车牌号即可以进行查找。

包头(32 个字节)
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32+135 0x5117 0 0 0 0 0 0
包体(135 个字节)
16 字节 11 字节 11 字节 11 字节 11 字节 11 字节 64 字节
车牌号

查找黑白名单应答

IPC 设备收到请求后会回复 u32Size 为 32+135,u32Type 为 0x5118 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到返回的白名单项,包体为数据结构,详见黑白名单数据结 构 。 接 收 完成后,断开 TCP 连接。

包头(32 个字节)
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32+135 0x5118 1 成功

0 失败

0 0 0 0 0
包体(135 个字节)
16 字节 11 字节 11 字节 11 字节 11 字节 11 字节 64 字节
0 开始日期 截止日期 开始时间 截止时间 名单类型 预留

设置黑白名单参数请求

当客户端需要请求设置黑白名单参数时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32+132,u32Type 为 0x5095 的数据包。包体为数据结构,如下:

typedef struct

{

int mode; //0 表示断网后关联开闸,1 表示实时关联开闸,2 不关联开闸

int match; //白名单匹配相似

int black_mode; //黑名单关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸

int black_match; //黑名单匹配相似

int temp_mode; //临时车关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸

int ignoreHZ_flag;//忽略汉字标志,0 不忽略,1 忽略

int allow_unmatch_chars_cnt;// 运行不匹配的字符个数范围【0~3】

int new_version; // 黑白名单参数配置新旧标志, 新:1, 旧:0

int Jing_mode; //警车模式关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸 int Army_mode; //军车模式关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸 int Antifake_mode; //防虚假车牌模式,0 不关联开闸 1,1 表示实时关联开闸 int NewEnergy_mode; //新能源车牌模式,0 不关联开闸 1,1 表示实时关联开闸 int EmergencyMode; //应急车牌模式,0 不关联开闸 1,1 表示实时关联开闸 char reserved[80];

} WhiteList_Param;

包头(32 个字节) 包体

(132 个

字节)

4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 132 字节
32+132 0x5095 0 0 0 0 0 0 黑白名单

参数

包体说明:

4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字

4 字

4 字

4 字

4 字

4 字

4 字

80

字节

白 名 单 关 联 模 式 白 名 单 匹 配 相 似度 黑 名 单 关 联 道 闸 模 式 黑 名 单 匹 配 相 似 临 时 车 关 联 道 闸 模 式 忽 略 汉 字 标志 运行

不匹配的字符个数

黑白

名单参数配置新旧标志

警车

模式

军车

模式

防虚

假车牌模式

新能

源车牌模式

应急

车牌模式

预留

参数

设置黑白名单参数应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5096 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收请求后,断开 TCP 连接。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5096 1 成功

0 失败

0 0 0 0 0

获取黑白名单参数请求

当客户端需要请求获取黑白名单参数时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5097 的数据包。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5097 0 0 0 0 0 0

获取黑白名单参数应答

IPC 设备收到请求后会回复 u32Size 为 32+132,u32Type 为 0x5098 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收完数据后,断开 TCP 连接。包体为数据结构,如下:

typedef struct

{

int mode; //0 表示断网后关联开闸,1 表示实时关联开闸,2 不关联开闸

int match; //白名单匹配相似

int black_mode; //黑名单关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸

int black_match; //黑名单匹配相似

int temp_mode; //临时车关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸

int ignoreHZ_flag;//忽略汉字标志,0 不忽略,1 忽略

int allow_unmatch_chars_cnt;// 运行不匹配的字符个数范围【0~3】

int new_version; // 黑白名单参数配置新旧标志, 新:1, 旧:0

int Jing_mode; //警车模式关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸 int Army_mode; //军车模式关联道闸模式,0 不关联开闸 1,1 表示实时关联开闸 int Antifake_mode; //防虚假车牌模式,0 不关联开闸 1,1 表示实时关联开闸 int NewEnergy_mode; //新能源车牌模式,0 不关联开闸 1,1 表示实时关联开闸 int EmergencyMode; //应急车牌模式,0 不关联开闸 1,1 表示实时关联开闸 char reserved[80];

} WhiteList_Param;

包头(32 个字节) 包体

(132 个

字节)

4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 132 字节
32+132 0x5098 1 成功

0 失败

0 0 0 0 0 黑 白 名

单参数

包体说明:

4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字

4 字

4 字

4 字

4 字

4 字

4 字

80

字节

白 名 单 关 联 模 式 白 名 单 匹 配 相 似度 黑 名 单 关 联 道 闸 模 式 黑 名 单 匹 配 相 似 临 时 车 关 联 道 闸 模 式 忽 略 汉 字 标志 运行

不匹配的字符个数

黑白

名单参数配置新旧标志

警车

模式

军车

模式

防虚

假车牌模式

新能

源车牌模式

应急

车牌模式

预留

参数

RS232 透传串口数据请求

当客户端发送透传串口数据请求时,需要向IPC设备8117端口号发起连接,并发送u32Size为(32+串口数据的长度),u32Type为 0x1043的数据包。

包头(32 个字节) 包体
4 字节

数 据 包 长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 串口数据数据长度

N 字节

32+ 串口数

据长度 N

0x1043 0 0 0 0 0 0 串口数据

RS232 透传串口数据请求应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x1044 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收到应答后,断开 TCP 连接。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x1044 1 成功

0 失败

0 0 0 0 0

获取相机 4G 信息请求

当客户端需要请求获取相机 4G 信息时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5376 的数据包。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5376 0 0 0 0 0 0

获取相机 4G 信息应答

IPC 设备收到请求后会回复 u32Size 为 32+5,u32Type 为 0x5377 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收完数据后,断开 TCP 连接。包体为数据结构,如下:

//4G信息结构体 typedef struct

{

ICE_U8 u8selnettype; //连接方式: 0表示优先有线连接1表示优先G ICE_U8 u8dialingtype; //拨号方式: 0表示自动拨号1表示手动 ICE_U8 u8signal; //信号强度: 0 脱网 1 差 2 中3 强 ICE_U8 u8networkflag; //联网标签: 0未连接1连接.

ICE_U8 operators; //运营商: 0表示未知1表示中国移动2表示中国电信3表示中国联通

}ICE_4G_INFO;

包头(32 个字节) 包体
4 字节数 据

包 长

4 字节命令类型 4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 1

字节

1

字节

1

字节

1

字节

1

字节

32+5 0x5377 1 成功

0 失败

0 0 0 0 0 连接方

拨号方

信号强

联网标

运营商

设置音量请求

当客户端需要请求设置相机音量时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32+24, u32Type 为 0x5356 的数据包。包体数据结构详情如下:

typedef struct

{

int InVolume; int OutVolume;

//输入音量,范围0-10

//输出音量,范围0-10

int as32Reserved[4]; //预留参数

} ICE_TALK_BACK_VOLUME_PARAM;

包头(32 个字节) 包体(24 字节)
4 字节 数 据 包

长度

4 字节

命 令 类

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 4 字节 4 字节 16 字节
32+24 0x5356 0 0 0 0 0 0 输入音量 输出音量 预留

设置音量请求应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x5357 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收完数据后,断开 TCP 连接。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5357 状态

(1 表示成功, 0 表示失败)

0 0 0 0 0

获取音量请求

当客户端需要请求设置相机音量时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5358 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5358 0 0 0 0 0 0

获取音量请求应答

IPC 设备收到请求后会回复 u32Size 为 32+24,u32Type 为 0x5359 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收完数据后,断开 TCP 连接。包体数据结构具体如下:

typedef struct

{

int InVolume; int OutVolume;

//输入音量,范围0-10

//输出音量,范围0-10

int as32Reserved[4]; //预留参数

} ICE_TALK_BACK_VOLUME_PARAM;

包头(32 个字节) 包体(24 字节)
4 字节 数 据 包

长度

4 字节

命 令 类

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 4 字节 4 字节 16 字节
32+24 0x5359 0 0 0 0 0 0 输入音量 输出音量 预留

读出用户数据

当客户端需要请求读出用户数据时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5101 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5101 0 0 0 0 0 0

读出用户数据应答

IPC 设备收到请求后会回复 u32Size 为:32+用户数据长度,u32Type 为 0x5102 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。成功后可以再接收 IPC 设备发送的用户数据。数据接收完成后,断开 TCP 连接。

包头(32 个字节) 包体
4 字节

数 据 包 长

4 字节 命 令 类

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 用户数据长度

N 字节

32+ 用户数

据长度 N

0x5102 1 成功

0 失败

0 0 0 0 0 用户数据

获取相机时间

当客户端需要请求获取相机时间时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x53C0 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x53C0 0 0 0 0 0 0

获取相机时间应答

IPC 设备收到请求后会回复 u32Size 为:32+应答 JSON 数据长度,u32Type 为 0x53C1 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。成功后可以再接收 IPC 设备发送的用户数据。数据接收完成后,断开 TCP 连接。

包头(32 个字节) 包体
4 字节

数 据 包 长

4 字节 命 令 类

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 应答 JSON数据
32+ 应 答 JSON 数据

长度

0x53C1 1 成功

0 失败

0 0 0 0 0 JSON 数据

字段说明

字段项 类型 必填项 说明 备注
reqSrcIp string 请求源 IP 地址
reqSrcDesc string 请求源描述
datetime json

array

本地时间信息
year int
mon int
day int
hour int
min int
second int

示例

{

“reqSrcIp”:”192.168.55.100″,

“reqSrcDesc”:”HX-CAM”, “localTimeInfo”:{

“year”:2021,

“mon”:6,

“day”:16,

“hour”:10,

“min”:17, “second”:57

}

}

设置相机时间

当客户端需要请求设置相机时间时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x53BE 的数据包。

包头(32 个字节)(无需包体) 包体
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 请求 JSON数据
32+ 请 求 JSON 数

据长度

0x53BE 0 0 0 0 0 0 JSON 数据

字段说明

字段项 类型 必填项 说明 备注
reqSrcIp string 请求源 IP 地址
reqSrcDesc string 请求源描述
datetime json

array

本地时间信息
year int
mon int
day int
hour int
min int
second int

示例

{

“reqSrcIp”:”192.168.5.230″,

“reqSrcDesc”:”your-name”, “localTimeInfo”:{

“year”:2021,

“mon”:6,

“day”:16,

“hour”:10,

“min”:17, “second”:57

}

}

设置相机时间应答

IPC 设备收到请求后会回复 u32Size 为 32,u32Type 为 0x53BF 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收完数据后,断开 TCP 连接。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x53BF 状态

(1 表示成功, 0 表示失败)

0 0 0 0 0

获取相机 UID

当客户端需要请求获取相机 UID 时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32, u32Type 为 0x5362 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5362 0 0 0 0 0 0

获取相机 UID 应答

IPC 设备收到请求后会回复 u32Size 为:32+UID 信息长度,u32Type 为 0x5363 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。成功后可以再接收 IPC 设备发送的用户数据。数据接收完成后,断开 TCP 连接。包体为数据结构,如下:

typedef struct

{

unsigned char ucUID[32];//UID

unsigned char ucReserved[32];//预留参数

}UID_PARAM;

包头(32 个字节) 包体(64 字节)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别 32 字节 32 字节
32+64 0x5363 1 成功

0 失败

0 0 0 0 0 UID 预留

获取 HTTP POST 参数请求(模式 5)

当客户端需要请求获取相机 HTTP POST 模式 5 参数时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32,u32Type 为 0x5382 的数据包。

注意:无需包体

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5382 0 0 0 0 0x5B9B9B9B

(请求标志)

0

获取 HTTP POST 参数请求(模式 5)应答

IPC 设备收到请求后会回复 u32Size 为:32 字节+HTTP POST 结构体数据长度(464 字节)+扩展参数长度, u32Type 为 0x5383 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。

成功后可以再接收 IPC 设备发送的 HTTP POST 结构体数据。HTTP POST 结构体数据接收完成后,剩余长度

=总的数据长度-包头长度(32 字节)-接收到的 HTTP POST 结构体长度,如果剩余长度>0,说明有扩展参数,再接收扩展参数。

数据接收完成后,断开 TCP 连接。HTTP POST 结构体,如下:

typedef struct

{

int identify; //新POST配置标记,固定字符串”POEX”

int httpPostEn; //是否打开http post 功能,0:不打开,1:打开

int mode; //模式,固定取值:5

int sslEn; //SSL使能,1:使能,0:不使能 int sslPort; //SSL端口

int bakServerEn; //是否启用备用服务器,0:不启用,1:启用

int serverPostMode; //主备服务器都有效时推送模式:0=全推送,1=主优先(主推不成功再推备) int serverPort; //服务器访问端口

char serverIpStr[32]; //服务器IP地址 char serverDomian[64]; //服务器域名

char bakServerIpStr[32]; //备用服务器IP地址 char bakServerDomian[64]; //备用服务器域名

char path[64]; //路径,会结合出入口方向标志,停车场序号处理 char parkIdStr[64]; //停车场ID,字符串,只支持英文、数字、-

int maxSendCnt; //发送最大次数, 1-3

int snapFull;// 是否发送全景图;0:不发送,1发送

int snapCloseup;// 是否发送车牌特写图;0:不发送,1发送 int camIdType; //ID号,0:使用相机MAC地址,1:使用相机UUID int directionFalg; //出口入口方向标志,0:入口,1:出口

int offlinePostEn; //断网续传使能。0:不使能,1:使能 int interval; //心跳间隔1~30s,0表示无心跳

int autoAlarmOutEn; //入口自动开闸使能,0:不使能,1:使能

int autoAlarmOutMode;//入口自动开闸。模式1=识别成功开闸,模式2=全部开闸,模式3=反馈开闸 int ioInPostEn; //输入IO状态上报使能,0:不使能,1:使能

char ioInNum[4]; //指定上报输入IO,真有效,ioInNum[0]对应输入IO1, ioInNum[1]=IO2,ioInNum[2]=IO3,ioInNum[3]=IO4

char iUnderwayExt; //是否进行扩展,0:不进行,1:进行 char reserve[63]; //预留主参数

int extParamSize; //ICE_HTTP_POST_NEW_PARAM 为主参数,辅助参数全部放在后面,每个模式如有需要,均可配套辅助参数,达到不动主参数,同时又支持额外定制

}ICE_HTTP_POST_NEW_PARAM;

包头(32 个字节)
4 字节

数 据 包 长

4 字节 命 令 类

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32+464+ 扩

展 参 数 长

0x5383 状态 1 成功

0 失败

0 0 0 0x5A9A9A9A

( 应 答 标

志)

0
包体(464 字节+扩展参数长度)
4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 32 字节 64 字节 32 字节 64 字节 64 字节 64 字节
新 POST 配置 标 记 ,固 定 字 符串 “POEX”

( 0x58454

f50)

是 否

打 开 http post功能

工作模式,固定值: 5 SSL

使能

SSL

端口

是否 启用 备用 服务 器 主备服务器都有效时推送模式 服务器访问端口 服务器 IP 地址 服务 器域 名 备用 服务 器 IP地址 备用 服务 器域 名 路径 停车 场 ID

包体表格续:

包体(464 字节+扩展参数长度)
4 字节 4 字节 4 字节 4

字节

4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 1 字节 63

字节

4 字节 扩 展 参 数

( N字

节)

发 送

最 大次数

是否 发送 全景 图 是否 发送 车牌 特写

ID

出口 入口 方向 标志 断网 续传 使能 心跳 间隔 入口 自动 开闸 使能 入口 自动 开闸 模式 输 入

IO 状态上报使能

指定 上报 输入 IO 是否 进行 扩展 预留 辅助 参数 长度 扩展 参数

扩展参数内容说明:

{

“newDomainPath”: {

“domain”: “service.tigmall.com”, “path”: “/parking/count”

}

}

注:只有“是否进行扩展”字段为 1 时,才会有扩展参数内容。

扩展参数内容主要针对 HTTP POST 结构体中的“服务器域名”和“路径”进行长度扩展。结构体中的服务器域名和路径只支持最大 63 字节,扩展参数支持最大 126 字节。

设置 HTTP POST 参数请求(模式 5)

当客户端需要请求设置 HTTP POST 参数时,需要向IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32字节+464 字节+扩展参数长度,u32Type 为 0x5380 的数据包。包体为 HTTP POST 结构体数据+扩展参数, HTTP POST 结构体如下:

typedef struct

{

int identify; //新POST配置标记,固定字符串”POEX”

int httpPostEn; //是否打开http post 功能,0:不打开,1:打开

int mode; //工作模式,固定取值:5

int sslEn; //SSL使能,1:使能,0:不使能 int sslPort; //SSL端口

int bakServerEn; //是否启用备用服务器,0:不启用,1:启用

int serverPostMode; //主备服务器都有效时推送模式:0=全推送,1=主优先(主推不成功再推备) int serverPort; //服务器访问端口

char serverIpStr[32]; //服务器IP地址 char serverDomian[64]; //服务器域名

char bakServerIpStr[32]; //备用服务器IP地址 char bakServerDomian[64]; //备用服务器域名

char path[64]; //路径,会结合出入口方向标志,停车场序号处理 char parkIdStr[64]; //停车场ID,字符串,只支持英文、数字、-

int maxSendCnt; //发送最大次数, 范围:1-3

int snapFull;// 是否发送全景图;0:不发送,1发送

int snapCloseup;// 是否发送车牌特写图;0:不发送,1发送 int camIdType; //ID号,0:使用相机MAC地址,1:使用相机UUID int directionFalg; //出口入口方向标志,0:入口,1:出口

int offlinePostEn; //断网续传使能。0:不使能,1:使能 int interval; //心跳间隔1~30s,0表示无心跳

int autoAlarmOutEn; //入口自动开闸使能,0:不使能,1:使能

int autoAlarmOutMode;//入口自动开闸。模式1:识别成功开闸,模式2:全部开闸,模式3:反馈开闸 int ioInPostEn; //输入IO状态上报使能,0:不使能,1:使能

char ioInNum[4]; //指定上报输入IO,真有效,ioInNum[0]对应输入IO1, ioInNum[1]=IO2,ioInNum[2]=IO3,ioInNum[3]=IO4

char iUnderwayExt; //是否进行扩展,0:不进行,1:进行 char reserve[63]; //预留主参数

int extParamSize; //ICE_HTTP_POST_NEW_PARAM 为主参数,辅助参数全部放在后面,每个模式如有需要,均可配套辅助参数,达到不动主参数,同时又支持额外定制

}ICE_HTTP_POST_NEW_PARAM;

包头(32 个字节)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32+464+扩展

参数长度

0x5383 0 0 0 0 0x5B9B9B9B

( 请 求 标志)

0
包体(464 字节+扩展参数长度)
4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 32 字节 64 字节 32 字节 64 字节 64 字节 64 字节
新 POST 配置 标 记 ,固 定 字 符串 “POEX”

( 0x58454

f50)

是 否

打 开 http post功能

工作模式,固定值: 5 SSL

使能

SSL

端口

是否 启用 备用 服务 器 主备服务器都有效时推送模式 服务器访问端口 服务器 IP 地址 服务 器域 名 备用 服务 器 IP地址 备用 服务 器域 名 路径 停车 场 ID

包体表格续:

包体(464 字节+扩展参数长度)
4 字节 4 字节 4 字节 4

字节

4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 4 字节 1 字节 63

字节

4 字节 扩 展 参 数

( N字

节)

发 送

最 大次数

是否 发送 全景 图 是否 发送 车牌

特写 图

ID

出口 入口 方向 标志 断网 续传 使能 心跳 间隔 入口 自动 开闸 使能 入口 自动 开闸 模式 输 入

IO 状态上报使能

指定 上报 输入 IO 是否 进行 扩展 预留 辅助 参数 长度 扩展 参数

扩展参数内容说明:

{

“ver”:1, “newDomainPath”: {

“domain”: “service.tigmall.com”, “path”: “/parking/count”

}

}

注:只有“是否进行扩展”字段为 1 时,并且“服务器域名”和“路径”长度大于 63 时,才需要发送扩展参数内容。

扩展参数内容主要针对 HTTP POST 结构体中的“服务器域名”和“路径”进行长度扩展。结构体中的服务器域名和路径只支持最大 63 字节,扩展参数支持最大 126 字节。

设置 HTTP POST 参数请求(模式 5)应答

IPC 设备收到请求后会回复 u32Size 为 32 字节,u32Type 为 0x5381 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收请求后,断开 TCP 连接。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x5381 状态 1 成功

0 失败

0 0 0 0x5A9A9A9A

( 应 答 标志)

0

获取 IO 输入状态

当客户端需要请求获取相机 IO 输入状态时,需要向 IPC 设备 8117 端口号发起连接,并发送 u32Size 为 32,u32Type 为 0x1045 的数据包。

包头(32 个字节)(无需包体)
4 字节

数据包长度

4 字节

命令类型

4 字节状态 4 字节通道号 4 字节时间 4 字节日期 4 字节标识 4 字节级别
32 0x1045 0 0 0 0 0 0

获取 IO 输入状态应答

IPC 设备收到请求后会回复 u32Size 为 32+4,u32Type 为 0x1046 的应答,并且状态字段为 1 表示请求成功,状态字段为 0 表示请求失败。接收完数据后,断开 TCP 连接。

包头(32 个字节)
4 字节数 据

包 长

4 字节命令类型 4 字节状态 4 字节通 道号 4 字节时间 4 字节日期 4 字节标识 4 字节

级别

32+4 0x1046 1 成功

0 失败

0 0 0 0 0
包体(4 字节)
1 字节 1 字节 1 字节 1 字节
IO 输入 1 状态 IO 输入 2 状态 IO 输入 3 状态 IO 输入 4 状态

设置开关量输出配置参数请求(onvif 协议)

当客户端需要请求设置相机开关量输出配置时,使用 onvif 协议,端口为:8080。名称空间说明

名称空间 说明 备注
tds:RelayOutputToken 请求命令

开关量输出 1: RelayOutput

开关量输出 2: RelayOutput2

开关量输出 3: RelayOutput3

开关量输出 4: RelayOutput4

DelayTime 输出时长,范围为-1,1~10 秒,

-1 表示不恢复。

时长为-1,内容为: PT-1S

时长为 1,内容为: PT1S

设置道闸常开,时长为-1
IdleState 相机状态

常开:open

常闭:close

示例:

POST / HTTP/1.1

Content-Type: application/soap+xml;charset=utf-8; Host: 192.168.10.231:8080

Content-Length: 761

<?xml version=”1.0″ encoding=”UTF-8″?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENV=”http://www.w3.org/2003/05/soap-envelope” xmlns:SOAP-ENC=”http://www.w3.org/2003/05/soap-encoding” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:wsa5=”http://www.w3.org/2005/08/addressing” xmlns:tt=”http://www.onvif.org/ver10/schema” xmlns:tds=“http://www.onvif.org/ver10/device/wsdl”>

<SOAP-ENV:Header>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<tds:SetRelayOutputSettings>

<tds:RelayOutputToken>RelayOutput</tds:RelayOutputToken>

<tds:Properties>

<Mode>Monostable</Mode>

<DelayTime>PT-1S</DelayTime>

<IdleState>open</IdleState>

</tds:Properties>

</tds:SetRelayOutputSettings>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

设置开关量输出配置参数应答

IPC 设备收到请求后修改配置,并回复。回复内容含 200 OK 表示成功。接收完数据,断开连接。回复成功示例:

HTTP/1.1 200 OK

Server: ice/1.0

Content-Type: application/soap+xml;charset=utf-8 Content-Length: 617

<?xml version=”1.0″ encoding=”UTF-8″?>

<SOAP-ENV:Envelope

xmlns:SOAP-ENV=”http://www.w3.org/2003/05/soap-envelope” xmlns:SOAP-ENC=”http://www.w3.org/2003/05/soap-encoding” xmlns:xsi=”http://www.w3.org/2001/XMLSchemainstance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:wsa5=”http://www.w3.org/2005/08/addressing” xmlns:tt=”http://www.onvif.org/ver10/schema

xmlns:tds=“http://www.onvif.org/ver10/device/wsdl”>

<SOAP-ENV:Header>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<tds:SetRelayOutputSettingsResponse>

</tds:SetRelayOutputSettingsResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

以太网协议,设备搜索及跨网段修改 IP

设备搜索

客户端发送广播,协议类型为 0xF0FF;相机收到广播后,回复协议类型为 0xF1FF 的数据包。广播协议:

以太网首部
6 字节 6 字节 2 字节
目的地址(0xFF 0xFF 0xFF 0xFF 0xFF 0xFF) 原地址(电脑网卡的物理地址) (类型)0xF0FF

接收相机端回应:

以太网首部 数据
6 字节 6 字节 2 字节 N 字节
目的地址(原发送的电脑网卡的物理地址) 原地址(相机的物理地址) (类型)0xF1FF 数据

数据格式为:

4 字节 60 字节 (接收到的长度-78)字节
相机 IP 预留 软件及算法信息

通过 mac 地址获取相机 IP,掩码和网关

客户端发送协议类型为 0xF8FF 的数据给相机端,相机端回复协议类型为 0xF8FF 的数据包。客户端发出的数据包:

以太网首部
6 字节 6 字节 2 字节
目的地址(相机的物理地址) 原地址(电脑网卡的物理地址) (类型)0xF8FF

接收相机端回应:

以太网首部 数据
6 字节 6 字节 2 字节 N 字节
目的地址(原发送的电脑网卡的物理地址) 原地址(相机的物理地址) (类型)0xF8FF 数据

数据格式为:

2 字节 4 字节 4 字节 4 字节 M 字节
数据长度 相机 ip 子网掩码 网关 (M 为数据长度-12)预留数据

跨网段修改 IP

客户端发送协议类型为 0xF2FF 的数据包给相机端,相机端无回复。定义如下:客户端发出的数据包:

以太网首部 数据
6 字节 6 字节 2 字节 12 字节
目的地址(相机的物理地址) 原地址(电脑网卡的物理地址) (类型)0xF2FF 数据

数据格式为:

4 字节 4 字节 4 字节
相机 ip 子网掩码 网关
特别声明: 有些内容设置了积分或者小金额收费,参与下方【限时活动】即可免费获取,目的在于增加网站互动性和站点推广,望参与!
华夏车牌识别相机设备TCP网络通信协议-停车技术员
华夏车牌识别相机设备TCP网络通信协议
此内容为付费资源,请付费后查看
50积分
付费资源
版权声明
资源使用声明:本站资源仅供内部学习研究(含软件设计思想与原理学习),严禁用于商业及其他非法用途。学习研究后请自觉删除,请勿传播,未及时删除造成的一切后果由使用者自行承担。
建议您支持正版软件及原创作者,如需商业使用请购买正版授权。
侵权与反馈:厂商技术资源以及网友投稿等内容本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。若您认为「停车技术员」发布的内容侵犯您的合法权益,或发现云盘链接失效,请及时联系我们,我们将第一时间处理。


分享是美德,转发时请务必附带本文原始链接,感谢您的理解与支持!
© 版权声明
评论 抢沙发

请登录后发表评论

    暂无评论内容