T5车牌识别相机SDK协议

版本变更记录

更新说明 更新日期
v1.1==》初步relaseSDK
v1.2==》1.增加加密设置接口;2.增加MQTT配置接口;3.增加设备搜索修改ip参数
v1.3==》1.弃用部分接口;2.修复部分接口不支持Delphi
v1.5==》1.增加串口波特率支持;2.修改配置MQTT接口;3.修改一些接口 枚举类型
V1.6==》1.修改RS485发送数据接口(修改数据结构体);2.修改MQTT支持OSS上传(修改数据结构体);3.修改线圈设置接口 2024-01-25
32位:修改支持 黄绿 新能源车牌 2024-08-05

SDK简介

概述

车牌识别一体机SDK是我公司推出的基于一体机的软件开发工具包,支持在windows系统下的开发。分为以下模块:视频、图片、识别、控制、串口、管理、维护等模块。

适用范围

SDK支持系统:Windows 32或64系统,支持语言:c++、c、java、delphi、c#等

文件依赖

完整的SDK包含的DLL文件有:avcodec.dll,avutil.dll,yydsLprSdk.dll。这些DLL文件缺一不可。

系统环境依赖

必须安装WinPcap_4_1_3.exe程序,才可以保证SDK正常运行。

SDK调用流程

descript

共用枚举

/* 命令通用返回 */

typedef enum{

DEVICE_NET_RET_OK = 0, // 正常

DEVICE_NET_RET_ERR, // 错误

DEVICE_NET_RET_MAX

}DEVICE_NET_RET;

SDK接口定义

SDK初始化

LPRYYDSClient_Init

接口描述 全局初始化,用于初始化网络,在所有其它调用接口调用之前调用。
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_Init()
参数说明
返回值 1表示成功,0表示失败
约束 在所有接口调用之前调用

LPRYYDSClient_UnInit

接口描述 全局释放,释放SzLPRClient_Setup打开的网络资源。
接口 __LPRCYYDS_API__ void __stdcall LPRYYDSClient_UnInit()
参数说明
返回值
约束 在程序结束时调用,释放SDK的资源

LPRYYDSClient_OpenLog

接口描述 全局初始化,用于打开或关闭日志记录。
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_OpenLog(bool bOpen)
参数说明 TRUE打开,FALSE关闭
返回值 1表示成功,0表示失败
约束 开启日志记录功能

设备搜索

LPRYYDSClient_StartFindDevice

接口描述 开始查找设备
接口 __LPRCYYDS_API__ LPRYYDSClientHandle __stdcall LPRYYDSClient_StartFindDevice(FindDeviceCallback func, void *pUserData)
参数说明 [IN] func找到的设备通过该回调函数返回

[IN] pUserData回调函数中的上下文

返回值 成功大于0,返回查找设备的句柄, 0表示失败
约束

查找设备回调函数定义:

typedef void (CALLBACK* FindDeviceCallback)(const LPRCYYDS_NETCFG *netCfg, void *pUserData);

结构

#define LPRCYYDS_IPLEN 24

typedef struct LPRCYYDS_NETCFG

{

int dhcp_enable; //设备DHCP使能

char ipaddr[LPRCYYDS_IPLEN];//设备IP

char netmask[LPRCYYDS_IPLEN];//设备子网掩码

char gateway[LPRCYYDS_IPLEN];//设备网关

char dns[LPRCYYDS_IPLEN]; //设备DNS

char mac[LPRCYYDS_IPLEN]; //设备MAC

int http_port; //设备HTTP端口

}LPRCYYDS_NETCFG;

LPRYYDSClient_StopFindDevice

接口描述 停止查找设备
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_StopFindDevice(LPRYYDSClientHandle handle)
参数说明 [IN] handle LPRYYDSClient_StartFindDevice返回的句柄
返回值 成功大于0,返回查找设备的句柄, 0表示失败
约束 同一个handle不能调用两次,否则会出错!

LPRYYDSClient_UpdateNetworkParam

接口描述 通过MAC修改指定设备网络参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_UpdateNetworkParam(LPRCYYDS_NETCFG *netCfg)
参数说明 [IN] netCfg 网络参数结构体
返回值 成功1,非1表示失败
约束 MAC唯一

typedef struct LPRCYYDS_NETCFG

{

int dhcp_enable;

char ipaddr[LPRCYYDS_IPLEN];

char netmask[LPRCYYDS_IPLEN];

char gateway[LPRCYYDS_IPLEN];

char dns[LPRCYYDS_IPLEN];

char mac[LPRCYYDS_IPLEN];

int http_port;

}LPRCYYDS_NETCFG;

设备连接

LPRYYDSLoadInfo

接口描述 设置登录设备的用户信息
接口 __LPRCYYDS_API__ void __stdcall LPRYYDSLoadInfo(char * name, char* pwd, unsigned char id[])
参数说明 [IN] name 设备的用户名

[IN] pwd 设备的密码

[IN] id 为两字节

返回值
约束 函数在 LPRYYDSClient_Init 与 LPRYYDSClient_Open 之间调用

LPRYYDSClient_Open

接口描述 打开一个设备
接口 __LPRCYYDS_API__ LPRYYDSClientHandle __stdcall LPRYYDSClient_Open(const char *pStrIP, WORD wPort, const char *pStrUserName, const char *pStrPassword)
参数说明 [IN] pStrIP设备的IP地址

[IN] wPort设备的端口号

[IN] pStrUserName访问设备所需用户名

[IN] pStrPassword访问设备所需密码

返回值 返回设备的操作句柄;

当打开成功返回大于0;

当打开失败时返回值说明如下

0连接失败

-1 用户不存在,用户名不能为空;

-2 用户和密码不匹配,密码不能为空;

-3 登陆者过多,超过3个,未登入,应该先进行登录

-4授权有效期已过,只能进行基本操作

-5认证失败,用户ID错误

-6认证失败,密码和用户ID不匹配

-7认证失败,密码和用户ID不匹配

约束

LPRYYDSClient_StartStream

接口描述 播放实时视频
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_StartStream(LPRYYDSClientHandle handle, HWND hWnd)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] hWnd窗口的句柄

返回值 1表示成功,0表示失败
约束

LPRYYDSClient_SetDisPlayWnd

接口描述 播放实时视频
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetDisPlayWnd(LPRYYDSClientHandle handle, HWND hWnd)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] hWnd窗口的句柄

返回值 1表示成功,0表示失败
约束

LPRYYDSClient_SetMsgCallBack

接口描述 设置连接状态的回调函数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetMsgCallBack(LPRYYDSClientHandle handle, MessageCallBack func, void *pUserData);
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

IN] func设备消息回调函数

[IN] pUserData回调函数中的上下文

返回值 1表示成功,0表示失败
约束

消息回调函数定义:

typedef void(CALLBACK * MessageCallBack)(LPRYYDSClientHandle handle, long msgType, void* lpStruct, int len, void* lpContext);

枚举定义:

//状态消息

enum MSG_TYPE

{

//连接状态 void*lpStruct = NULL

MSG_LINK_OK = 0, //成功

MSG_LINK_CONNECTING = 1, //正在连接(中间状态)

MSG_LINK_RECONNECT = 2, //重连

MSG_LINK_FAILED = 3, //重连失败

MSG_LINK_DISCONNECT = 4, //最终失败,放弃重连,需要断开连接释放资源

MSG_LINK_UNAUTHORIZED = 5, //用户或密码错误

//录像状态void*lpStruct = char*filename

MSG_RECORD_BEGIN = 0x100, //第一帧数据写入时回调产生此消息

MSG_RECORD_WRITE_ERROR, //录像异常错误,写文件失败

MSG_RECORD_FORMAT_CHANGED, //音视频格式,分辨率,帧率发生改变,内部已经停止录像,如果仍需要录像则需要重新调用开始录像, 一般此消息在视频重连后发生

MSG_RECORD_PACKET_FINISH, //录象打包完成,内部已经调用停止录像,外部直接再调用开始录像即可

//另外一份录像文件,可用于专门录制报警录像

MSG_RECORD_BEGIN_ANOTHER, //同上

MSG_RECORD_WRITE_ERROR_ANOTHER, //同上

MSG_RECORD_FORMAT_CHANGED_ANOTHER, //同上

MSG_RECORD_PACKET_FINISH_ANOTHER, //同上

//报警,消息

MSG_MOTION_DETECT = 0x200, //视频移动报警 void*lpStruct = MOTION_DETECT_INFO*pMDInfo

MSG_MOTION_DETECT_END, //移动侦测延时消息,默认5秒,报警触发后5秒内无触发则发送此消息

MSG_VIDEO_LOST, //视频丢失报警

MSG_ALARM_IN, //探头报警 void *lpstruct = int* index

//抓拍使用 void *lpstruct = (char*)filename

MSG_SHOT_FINISHED = 0X300, //抓拍完成,

MSG_SHOT_FAILED, //抓拍文件, 文件打开失败,或者系统内存不够

//播放使用

MSG_REPLAY_FINISHED = 0X400, //文件回放结束

MSG_LIVEVIEW_FAILED = 0X410,

MSG_SOUND_FAILED = 0X420,

//设备升级回调消息

MSG_UPGRADE_POS = 0X500,

MSG_LOGON_OK = 0X600,

MSG_LOGON_FAILED = 0X601,

MSG_LOGON_RECONNECT = 0X602,

};

LPRYYDSClient_Stop

接口描述 停止播放指定的播放句柄
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_Stop(LPRYYDSClientHandle handle)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄
返回值 1表示成功,0表示失败
约束 停止播放以后,该播放句柄就失效了

加密功能

LPRYYDSClient_SetEncryptoPara

接口描述 设置加密参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetEncryptoPara(LPRYYDSClientHandle handle, TNetEncyptoPara* value, TNetEncyptoPara_Ret* info)
参数说明 [IN] handle 由LPRYYDSClient_Open函数返回的句柄

[IN]value 设置的参数

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

结构体定义:

typedef struct TagNetEncyptoPara {

unsigned int level; // 1 ~4

unsigned int checkcode;//校验码

unsigned char key[16];

unsigned int startTime; // 开始时间戳/s

unsigned int endTime; // 结束时间戳/s

}TNetEncyptoPara;

typedef struct TagNetEncyptoPara_Ret {

DEVICE_NET_RET ret;

}TNetEncyptoPara_Ret;

level 1、None encrypt车牌不加密

level 2、aes-128-ecb-padding-7车牌输出结果加密。

level3、弃用

level4、相机授权时间加密 仅抓拍 无开闸白名单

LPRYYDSClient_GetEncryptoPara

接口描述 获取加密参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetEncryptoPara(LPRYYDSClientHandle handle, TNetEncyptoPara* info)
参数说明 [IN] handle 由LPRYYDSClient_Open函数返回的句柄

[OUT]value 返回设置的参数

返回值 1表示成功,0表示失败
约束

结构体定义:

typedef struct TagNetEncyptoPara {

unsigned int level; // 1 ~4

unsigned int checkcode;//校验码

unsigned char key[16];

unsigned int startTime; // 开始时间戳/s

unsigned int endTime; // 结束时间戳/s

}TNetEncyptoPara;

level 1、None encrypt车牌不加密

level 2、aes-128-ecb-padding-7车牌输出结果加密。

level3、弃用

level4、相机授权时间加密 仅抓拍 无开闸白名单

车牌识别结果回调

LPRYYDSClient_SetPlateInfoCallBack

接口描述 设置识别结果的回调函数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetPlateInfoCallBack(LPRYYDSClientHandle handle, LprcInfoCallBack func, void *pUserData, int bEnableImage);
参数说明 @param [IN] handle 由LPRYYDSClient_Open函数返回的句柄

@param [IN] func 识别结果回调函数,如果为NULL,则表示关闭该回调函数的功能

@param [IN] pUserData 回调函数中的上下文

@param [IN] bEnableImage 指定识别结果的回调是否需要包含截图信息:1为需要,0为不需要

返回值 1表示成功,0表示失败
约束

回调函数定义:

typedef void (CALLBACK* LprcInfoCallBack)(LPRYYDSClientHandle handle, void* pUserData, const TNetPush_LprResult* pResult, const LPRCYYDS_IMAGE_INFO* pImgFull, const LPRCYYDS_IMAGE_INFO* pImgPlateClip, const LPRCYYDS_IMAGE_INFO* pImgBmpPlateClip);

枚举定义:

typedef enum{

DEVICE_NET_LPRC_PLATEDETECT_DEFAULT = 0, // 默认无识别结果

DEVICE_NET_LPRC_PLATEDETECT_VLOOP, // 虚拟线圈有识别结果

DEVICE_NET_LPRC_PLATEDETECT_EXTIO_0_INVALID, // 外部IO_0触发无识别结果

DEVICE_NET_LPRC_PLATEDETECT_EXTIO_0, // 外部IO_0触发有识别结果

DEVICE_NET_LPRC_PLATEDETECT_EXTIO_1_INVALID, // 外部IO_1触发无识别结果

DEVICE_NET_LPRC_PLATEDETECT_EXTIO_1, // 外部IO_1触发有识别结果

DEVICE_NET_LPRC_PLATEDETECT_FORCE_INVALID, // 手动触发无识别结果

DEVICE_NET_LPRC_PLATEDETECT_FORCE, // 手动触发有识别结果

}DEVICE_NET_LPRC_PLATEDETECT;

// 以下是车牌类型定义

typedef enum{

DEVICE_NET_LPRC_PLATETYPE_UNKNOWN = 0, //未知车牌

DEVICE_NET_LPRC_PLATETYPE_BLUE, //蓝牌

DEVICE_NET_LPRC_PLATETYPE_BLACK, //黑牌

DEVICE_NET_LPRC_PLATETYPE_YELLOW, //单排黄牌

DEVICE_NET_LPRC_PLATETYPE_YELLOW2, //双排黄牌(大车尾牌,农用车)

DEVICE_NET_LPRC_PLATETYPE_POLICE, //警车车牌

DEVICE_NET_LPRC_PLATETYPE_ARMPOL, //武警车牌

DEVICE_NET_LPRC_PLATETYPE_INDIVI, //个性化车牌

DEVICE_NET_LPRC_PLATETYPE_ARMY, //单排军车

DEVICE_NET_LPRC_PLATETYPE_ARMY2, //双排军车

DEVICE_NET_LPRC_PLATETYPE_EMBASSY, //使馆牌

DEVICE_NET_LPRC_PLATETYPE_HONGKONG, //香港牌

DEVICE_NET_LPRC_PLATETYPE_TRACTOR, //拖拉机

DEVICE_NET_LPRC_PLATETYPE_MACAU, //澳门牌

DEVICE_NET_LPRC_PLATETYPE_CHANGNEI, //厂内牌

DEVICE_NET_LPRC_PLATETYPE_MINHANG, //民航牌

DEVICE_NET_LPRC_PLATETYPE_CONSULATE, //领事馆车牌

DEVICE_NET_LPRC_PLATETYPE_NEWENERGY, //新能源车牌

DEVICE_NET_LPRC_PLATETYPE_MAX

}DEVICE_NET_LPRC_PLATETYPE;

// 以下是车牌颜色定义

typedef enum{

DEVICE_NET_LPRC_PLATECOLOR_UNKNOWN = 0, // 未知

DEVICE_NET_LPRC_PLATECOLOR_BLUE, // 蓝色

DEVICE_NET_LPRC_PLATECOLOR_YELLOW, // 黄色

DEVICE_NET_LPRC_PLATECOLOR_WHITE, // 白色

DEVICE_NET_LPRC_PLATECOLOR_BLACK, // 黑色

DEVICE_NET_LPRC_PLATECOLOR_GREEN, // 绿色

DEVICE_NET_LPRC_PLATECOLOR, //黃绿色

DEVICE_NET_LPRC_PLATECOLOR_MAX

}DEVICE_NET_LPRC_PLATECOLOR;

结构定义:

typedef struct

{

unsigned uWidth; /**<宽度*/

unsigned uHeight; /**<高度*/

unsigned uPitch; /**<图像宽度的一行像素所占内存字节数*/

/**<图像像素格式,参考枚举定义图像格式(ImageFormatXXX)*/

unsigned uPixFmt;

unsigned uSize;

unsigned char *pJpegBuf; /**<图像内存的首地址*/

unsigned char *pBuffer; /**<图像内存的首地址*/

}SZ_LPRC_IMAGE_INFO;

typedef struct TagNetPush_LprResult

{

DEVICE_NET_LPRC_PLATEDETECT lprDetectFlag; // 输出类型

char license[17]; // 车牌字符串,汉字用GBK编码,当未检测到车牌时为空字符串

DEVICE_NET_LPRC_PLATECOLOR nColor; // 车牌颜色

DEVICE_NET_LPRC_PLATETYPE nType; // 车牌类型

TNetPush_Rect rcLocation; // 车牌在抓拍图片中的相对坐标

int nImageSize; // 抓拍图片的大小,单位为Bytes

unsigned int time[7]; // 抓拍时间 (年月日时分秒[星期])

unsigned char *pBuffer; // 图像数据

}TNetPush_LprResult;

/* 车牌识别结果 DEVICE_NET_PUSHMSGID_PLRRESULT*/

typedef struct TagNetPush_Rect{

unsigned int left; // 单位为像素点

unsigned int top;

unsigned int right;

unsigned int bottom;

}TNetPush_Rect;

读取SDK版本号

LPRYYDSClient_ReadSDKVersion

接口描述 获取设备SDK的版本号
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_ReadSDKVersion(char* Version, int nlen)
参数说明 [IN] Version保存信息的地址

[IN] nlen Version保存信息的大小

返回值 1表示成功,0表示失败
约束

获取当前的帧率

LPRYYDSClient_GetRealFps

接口描述 获取当前的帧率
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetRealFps(LPRYYDSClientHandle handle)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄
返回值 Int 返回获取到的结果
约束

网络参数

LPRYYDSClient_GetNetConfig

接口描述 设置设备网络参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetNetConfig(LPRYYDSClientHandle handle, TNetWiredPara* netcfg)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] netcfg保存网络参数的指针

返回值 1表示成功,0表示失败
约束

结构体定义:

typedef struct TagNetWiredPara{

DEVICE_NET_DHCP dhcpenable;

char ipaddr[16];

char netmask[16];

char gateway[16];

char dns[16];

unsigned short http_port;

}TNetWiredPara;

LPRYYDSClient_SetNetConfig

接口描述 设置设备网络参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetNetConfig(LPRYYDSClientHandle handle, TNetWiredPara* netcfg)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] netcfg网络参数的指针

返回值 1表示成功,0表示失败
约束

结构体定义:

typedef struct TagNetWiredPara{

DEVICE_NET_DHCP dhcpenable;

char ipaddr[16];

char netmask[16];

char gateway[16];

char dns[16];

unsigned short http_port;

}TNetWiredPara;

显示识别框

LPRYYDSClient_ShowStaticVLoops

接口描述 用于设置是否显示识别框
接口 __LPRCYYDS_API__ BOOL __stdcall LPRYYDSClient_ShowStaticVLoops(LPRYYDSClientHandle handle, BOOL bShowStaticVLoop);
参数说明 [IN] handle LPRYYDSClient_StartFindDevice返回的句柄

[IN] bShowStaticVLoop FALSE不显示,TRUE为显示

返回值 FALSE 设置失败,TRUE为设置成功
约束

变倍变焦控制

LPRYYDSClient_LensAction

接口描述 控制镜头电机动作,变倍变焦
接口 __LPRCYYDS_API__ void __stdcall LPRYYDSClient_LensAction(LPRYYDSClientHandle handle, const TagNetLensAction* pLensAction);
参数说明 [IN] handle LPRYYDSClient_StartFindDevice返回的句柄

[IN] pLensAction镜头执行动作结构体

返回值 1表示成功,0表示失败
约束

枚举定义:

/* 镜头执行动作 DEVICE_NET_CMDID_LENS_DOACTION*/

typedef enum{

DEVICE_NET_LENS_ACTION_FOCUSADD = 0,// 变焦加

DEVICE_NET_LENS_ACTION_FOCUSSUB,// 变焦减

DEVICE_NET_LENS_ACTION_ZOOMADD, // 变倍加

DEVICE_NET_LENS_ACTION_ZOOMSUB, // 变倍减

DEVICE_NET_LENS_ACTION_MAX

}DEVICE_NET_LENS_ACTION;

结构定义:

typedef struct TagNetLensAction{

DEVICE_NET_LENS_ACTION action;

}TNetLensAction;

LPRYYDSClient_SetImgZoomPara

接口描述 设置相机数码变焦
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetImgZoomPara(LPRYYDSClientHandle handle, TNetImgZoomPara* value, TNetImgZoomPara_Ret* info)
参数说明 [IN] handle 由LPRYYDSClient_Open函数返回的句柄

[IN] value 设置变焦参数

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

//图像缩放

typedef enum {

DEVICE_NET_IMG_ZOOM_MIN = 0,

DEVICE_NET_IMG_ZOOM_2_4M, // 2 到 4 M

DEVICE_NET_IMG_ZOOM_4_6M, // 4 到 6M

DEVICE_NET_IMG_ZOOM_6_8M, // 4 到 6M

DEVICE_NET_IMG_ZOOM_MAX

}DEVICE_NET_IMG_ZOOM;

typedef struct TagNetImgZoomPara {

DEVICE_NET_IMG_ZOOM zoomType; // 缩放比例 默认

NET_IMG_ZOOM_2_4M

}TNetImgZoomPara;

typedef struct TNetImgZoomPara_Ret {

DEVICE_NET_RET ret;

}TNetImgZoomPara_Ret;

LPRYYDSClient_GetImgZoomPara

接口描述 获取相机变焦参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetImgZoomPara(LPRYYDSClientHandle handle, TNetImgZoomPara* info)
参数说明 [IN] handle 由LPRYYDSClient_Open函数返回的句柄

[OUT] info 返回相机变焦参数

返回值 1表示成功,0表示失败
约束

//图像缩放

typedef enum {

DEVICE_NET_IMG_ZOOM_MIN = 0,

DEVICE_NET_IMG_ZOOM_2_4M, // 2 到 4 M

DEVICE_NET_IMG_ZOOM_4_6M, // 4 到 6M

DEVICE_NET_IMG_ZOOM_6_8M, // 4 到 6M

DEVICE_NET_IMG_ZOOM_MAX

}DEVICE_NET_IMG_ZOOM;

typedef struct TagNetImgZoomPara {

DEVICE_NET_IMG_ZOOM zoomType; // 缩放比例 默认

NET_IMG_ZOOM_2_4M

}TNetImgZoomPara;

typedef struct TNetImgZoomPara_Ret {

DEVICE_NET_RET ret;

}TNetImgZoomPara_Ret;

LED控制

LPRYYDSClient_SetLedLightCtl

接口描述 设置LED控制模式
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetLedLightCtl(LPRYYDSClientHandle handle, const TagNetLedPara *pledCtrl)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pledCtrl控制LED开关模式

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取补光灯控制模式参数 DEVICE_NET_CMDID_LED_GETPARA*/

typedef enum{

DEVICE_NET_LED_CTRLMODE_AUTO = 0, // 自动

DEVICE_NET_LED_CTRLMODE_OPEN, // 常开

DEVICE_NET_LED_CTRLMODE_CLOSE, // 常闭

DEVICE_NET_LED_CTRLMODE_MAX

}DEVICE_NET_LED_CTRLMODE;

typedef struct TagNetLedPara{

DEVICE_NET_LED_CTRLMODE mode;// 默认自动

unsigned int level; // 亮度等级1-7,默认为1

unsigned int maxlevel; // 支持最高级别(客户端只读)

}TNetLedPara;

LPRYYDSClient_GetLedLightCtl

接口描述 获取LED控制模式的参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetLedLightCtl(LPRYYDSClientHandle handle, TagNetLedPara *pledCtrl)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] pledCtrl控制LED开关模式

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取补光灯控制模式参数 DEVICE_NET_CMDID_LED_GETPARA*/

typedef enum{

DEVICE_NET_LED_CTRLMODE_AUTO = 0, // 自动

DEVICE_NET_LED_CTRLMODE_OPEN, // 常开

DEVICE_NET_LED_CTRLMODE_CLOSE, // 常闭

DEVICE_NET_LED_CTRLMODE_MAX

}DEVICE_NET_LED_CTRLMODE;

typedef struct TagNetLedPara{

DEVICE_NET_LED_CTRLMODE mode;// 默认自动

unsigned int level; // 亮度等级1-7,默认为1

unsigned int maxlevel; // 支持最高级别(客户端只读)

}TNetLedPara;

增益控制

LPRYYDSClient_GetExpGain

接口描述 获取增益控制信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetExpGain(LPRYYDSClientHandle handle, TNetExpGain* ispExpParams)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] ispExpParams用于保存增益控制信息的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取图像快门和增益 */

typedef enum{

DEVICE_NET_EXPGAIN_MODE_AUTO = 0, // 自动

DEVICE_NET_EXPGAIN_MODE_MENU, // 手动

DEVICE_NET_EXPGAIN_MODE_MAX

}DEVICE_NET_EXPGAIN_MODE;

结构体定义:

typedef struct TagNetExpGain{

DEVICE_NET_EXPGAIN_MODE nGainCtrlMode; // 增益控制模式,默认自动

unsigned int nMaxGainAuto; // 增益范围0-100,默认20

unsigned int nFixGainManu; // 默认20

DEVICE_NET_EXPGAIN_MODE nShutrCtrlMode; // 快门控制模式,默认自动

unsigned int nMaxShutrAuto; // 快门范围100-40000,默认5000,单位为毫秒

unsigned int nFixShutrManu; // 默认5000,单位为毫秒

}TNetExpGain;

LPRYYDSClient_SetExpGain

接口描述 设置增益控制信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetExpGain(LPRYYDSClientHandle handle, const TNetExpGain* ispExpParams)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] ispExpParams用于参数增益控制信息的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取图像快门和增益 */

typedef enum{

DEVICE_NET_EXPGAIN_MODE_AUTO = 0, // 自动

DEVICE_NET_EXPGAIN_MODE_MENU, // 手动

DEVICE_NET_EXPGAIN_MODE_MAX

}DEVICE_NET_EXPGAIN_MODE;

结构体定义:

typedef struct TagNetExpGain{

DEVICE_NET_EXPGAIN_MODE nGainCtrlMode; // 增益控制模式,默认自动

unsigned int nMaxGainAuto; // 增益范围0-100,默认20

unsigned int nFixGainManu; // 默认20

DEVICE_NET_EXPGAIN_MODE nShutrCtrlMode; // 快门控制模式,默认自动

unsigned int nMaxShutrAuto; // 快门范围100-40000,默认5000,单位为毫秒

unsigned int nFixShutrManu; // 默认5000,单位为毫秒

}TNetExpGain;

图像基本参数

LPRYYDSClient_GetImgBase

接口描述 获取图像基本参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetImgBase(LPRYYDSClientHandle handle, TNetImageBasePara* imgEnhanceParams)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] imgEnhanceParams 保存设置的图像基本参数的指针

返回值 1表示成功,0表示失败
约束

结构体定义:

typedef struct TagNetImageBasePara

{

unsigned int nBrightness; //亮度取值范围1-100,默认50

unsigned int nContrast; //对比度取值范围1-100,默认50

unsigned int nSaturation; //饱和度取值范围1-100,默认50

unsigned int nSharpness; //锐度取值范围1-100,默认50

}TNetImageBasePara;

LPRYYDSClient_SetImgBase

接口描述 设置图像基本参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetImgBase(LPRYYDSClientHandle handle, const TNetImageBasePara* imgEnhanceParams);
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] imgEnhanceParams用于保存设置的图像基本参数的指针

返回值 1表示成功,0表示失败
约束

结构体定义:

typedef struct TagNetImageBasePara

{

unsigned int nBrightness; //亮度取值范围1-100,默认50

unsigned int nContrast; //对比度取值范围1-100,默认50

unsigned int nSaturation; //饱和度取值范围1-100,默认50

unsigned int nSharpness; //锐度取值范围1-100,默认50

}TNetImageBasePara;

手动触发识别信号

LPRYYDSClient_ForceTrigger

接口描述 软件发送触发信号,强制输出当前时刻的数据并输出结果
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_ForceTrigger(LPRYYDSClientHandle handle)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄
返回值 1表示成功,0表示失败
约束 车牌识别结果通过回调函数的方式返回

视频OSD参数

LPRYYDSClient_GetOsdParam

接口描述 获取视频OSD参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetOsdParam(LPRYYDSClientHandle handle, TNetOSDPara* pParam)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] pParam用于保存OSD参数的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取字幕叠加信息参数 */

#define DEVICE_NET_OSDTEXTLEN (60)

typedef enum{

DEVICE_NET_OSD_ENABLE_OFF = 0, // 关闭

DEVICE_NET_OSD_ENABLE_ON, // 使能

DEVICE_NET_OSD_ENABLE_MAX

}DEVICE_NET_OSD_ENABLE;

typedef enum{

DEVICE_NET_OSD_TYPEDATE_Y_M_D=1, // YYYY-MM-DD

DEVICE_NET_OSD_TYPEDATE_M_D_Y, // MM-DD-YYYY

DEVICE_NET_OSD_TYPEDATE_D_M_Y, // DD-MM-YYYY

DEVICE_NET_OSD_TYPEDATE_YMD, // YYYY/MM/DD

DEVICE_NET_OSD_TYPEDATE_MDY, // MM/DD/YYYY

DEVICE_NET_OSD_TYPEDATE_DMY, // DD/MM/YYYY

DEVICE_NET_OSD_TYPEDATE_MAX

}DEVICE_NET_OSD_TYPEDATE;

typedef enum{

DEVICE_NET_OSD_TYPETIME_12H = 1, // 12小时制

DEVICE_NET_OSD_TYPETIME_24H, // 24小时制

DEVICE_NET_OSD_TYPETIME_MAX

}DEVICE_NET_OSD_TYPETIME;

结构体定义:

typedef struct TagNetOSDPara{

DEVICE_NET_OSD_ENABLE dstampenable; // 默认使能

DEVICE_NET_OSD_TYPEDATE dateFormat; // 默认 YYYY/MM/DD

unsigned int datePosX; // 默认20

unsigned int datePosY; // 默认20

DEVICE_NET_OSD_ENABLE tstampenable; // 默认使能

DEVICE_NET_OSD_TYPETIME timeFormat; // 默认24小时制

unsigned int timePosX; // 默认820

unsigned int timePosY; // 默认20

DEVICE_NET_OSD_ENABLE nTextEnable; // 默认不使能

unsigned int nTextPositionX;// 默认0

unsigned int nTextPositionY; // 默认0

char overlaytext[DEVICE_NET_OSDTEXTLEN]; //默认为空

}TNetOSDPara;

typedef struct TagNetOSDPara_Ret{

DEVICE_NET_RET ret;

}TNetOSDPara_Ret;

LPRYYDSClient_SetOsdParam

接口描述 设置视频OSD参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetOsdParam(LPRYYDSClientHandle handle, const TNetOSDPara* pParam)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pParam设置OSD参数的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取字幕叠加信息参数 */

#define DEVICE_NET_OSDTEXTLEN (60)

typedef enum{

DEVICE_NET_OSD_ENABLE_OFF = 0, // 关闭

DEVICE_NET_OSD_ENABLE_ON, // 使能

DEVICE_NET_OSD_ENABLE_MAX

}DEVICE_NET_OSD_ENABLE;

typedef enum{

DEVICE_NET_OSD_TYPEDATE_Y_M_D=1, // YYYY-MM-DD

DEVICE_NET_OSD_TYPEDATE_M_D_Y, // MM-DD-YYYY

DEVICE_NET_OSD_TYPEDATE_D_M_Y, // DD-MM-YYYY

DEVICE_NET_OSD_TYPEDATE_YMD, // YYYY/MM/DD

DEVICE_NET_OSD_TYPEDATE_MDY, // MM/DD/YYYY

DEVICE_NET_OSD_TYPEDATE_DMY, // DD/MM/YYYY

DEVICE_NET_OSD_TYPEDATE_MAX

}DEVICE_NET_OSD_TYPEDATE;

typedef enum{

DEVICE_NET_OSD_TYPETIME_12H = 1, // 12小时制

DEVICE_NET_OSD_TYPETIME_24H, // 24小时制

DEVICE_NET_OSD_TYPETIME_MAX

}DEVICE_NET_OSD_TYPETIME;

结构体定义:

typedef struct TagNetOSDPara{

DEVICE_NET_OSD_ENABLE dstampenable; // 默认使能

DEVICE_NET_OSD_TYPEDATE dateFormat; // 默认 YYYY/MM/DD

unsigned int datePosX; // 默认20

unsigned int datePosY; // 默认20

DEVICE_NET_OSD_ENABLE tstampenable; // 默认使能

DEVICE_NET_OSD_TYPETIME timeFormat; // 默认24小时制

unsigned int timePosX; // 默认820

unsigned int timePosY; // 默认20

DEVICE_NET_OSD_ENABLE nTextEnable; // 默认不使能

unsigned int nTextPositionX;// 默认0

unsigned int nTextPositionY; // 默认0

char overlaytext[DEVICE_NET_OSDTEXTLEN]; //默认为空

}TNetOSDPara;

typedef struct TagNetOSDPara_Ret{

DEVICE_NET_RET ret;

}TNetOSDPara_Ret;

预设省份

LPRYYDSClient_GetSupportedProvinces_EX

接口描述 获取已设置的预设省份
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetSupportedProvinces_EX(LPRYYDSClientHandle handle, TNetLprDefProvinceEx* pProvInfo)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] pProvInfo预设省份信息指针

返回值 1表示成功,0表示失败
约束

结构体定义:

#define NET_LPRC_PROVINCE_MAXINDEX (31)

typedef struct TagNetLprDefProvinceEX

{

unsigned int nIndexFirst; // 默认优先省份

unsigned int nIndexSecond; // 默认次要省份

unsigned int nIndexThird; // 默认次要省份

}TNetLprDefProvinceEx;

省份索引值如下:

“京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新”

LPRYYDSClient_SetSupportedProvinces_EX

接口描述 设置已设置的预设省份
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetSupportedProvinces_EX(LPRYYDSClientHandle handle, const TNetLprDefProvinceEx* pProvInfo)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pProvInfo设置省份信息的指针

返回值 1表示成功,0表示失败
约束

结构体定义:

#define NET_LPRC_PROVINCE_MAXINDEX (31)

typedef struct TagNetLprDefProvinceEX

{

unsigned int nIndexFirst; // 默认优先省份

unsigned int nIndexSecond; // 默认次要省份

unsigned int nIndexThird; // 默认次要省份

}TNetLprDefProvinceEx;

省份索引值如下:

“京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新”

支持识别的车牌类型

LPRYYDSClient_GetSupportedLprcPlateType

接口描述 获取设备端像机支持的识别的车牌类型参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetSupportedLprcPlateType(LPRYYDSClientHandle handle, TNetLprcPlateType *pLprcPlateType)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] TNetLprcPlateType 设置保存类型的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取车牌识别算法所支持的车牌类型 */

typedef enum{

// 以下表示开关的偏移量,最终还需要在DSP中转换一下.

DEVICE_NET_LPRC_PLATETYPE_OFFT_INDIVIDUAL = 0, // 个性化车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_TWOROWYELLOW, // 双层黄色车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_ARMPOLICE, // 单层武警车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_TWOROWARMY, // 双层军队车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_TRACTOR, // 农用车车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_ONLY_TWOROWYELLOW, // 只识别双层黄牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_EMBASSY, // 使馆车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_ONLY_LOCATION, // 只定位车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_ARMPOLICE2, // 双层武警车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_CHANGNEI, // 厂内车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_MINHANG, // 民航车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_CONSULATE, // 领事馆车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_NEWENERGY, // 新能源车牌开启

DEVICE_NET_LPRC_PLATETYPE_OFFT_MAX

}DEVICE_NET_LPRC_PLATETYPE_OFFT;

结构定义:

typedef struct TagNetLprcPlateType{

int nPlateType; // 默认为0

}TNetLprcPlateType;

//nPlateType 值为各枚举DEVICE_NET_LPRC_PLATETYPE_OFFT的或值。

虚拟线圈触发规则

LPRYYDSClient_SetTriggerLoopEx

接口描述 设置车牌识别与虚拟线圈的触发规则
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetTriggerLoopEx(LPRYYDSClientHandle handle, const TagNetLprcTriggerPara* pVirtualLoop)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pVirtualLoop保存触发规则的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取车牌识别算法触发区域 */

#define DEVICE_NET_LPRC_REGAREA_COUNT 8

typedef enum{

DEVICE_NET_NET_LPRC_DIR_BIDIR = 0, //双向触发

DEVICE_NET_NET_LPRC_DIR_UP2DOWN, //从上到下方向的车辆触发

DEVICE_NET_NET_LPRC_DIR_DOWN2UP, //从下到上方向的车辆触发

}DEVICE_NET_NET_LPRC_DIR;

typedef enum{

DEVICE_NET_LPRC_ENABLE_OFF = 0, // 关闭

DEVICE_NET_LPRC_ENABLE_ON, // 使能

DEVICE_NET_LPRC_ENABLE_MAX

}DEVICE_NET_LPRC_ENABLE;

typedef enum{

DEVICE_NET_LPRC_EXTIO_0_TRIG = 0, //外部IO_0触发,默认混合纯视频流模式

DEVICE_NET_LPRC_EXTIO_1_TRIG, //外部IO_1触发,默认混合纯视频流模式

DEVICE_NET_LPRC_EXTIO_MUX_TRIG, //外部IO_0或IO_1触发,默认混合纯视频流模式

DEVICE_NET_LPRC_VERTEX_TRIG, //纯视频流模式虚拟线圈触发

DEVICE_NET_LPRC_TRIG_MAX

}DEVICE_NET_LPRC_TRIG_MODE;

结构体定义:

typedef struct TagNet_LPRC_VERTEX{

unsigned X_1000; //水平方向相对坐标,取值范围0-1000

unsigned Y_1000; //竖直方向相对坐标,取值范围0-1000

}TNet_LPRC_VERTEX;

//虚拟线圈信息定义

typedef struct TagNetLprcTriggerPara

{

DEVICE_NET_LPRC_ENABLE byEnable; //是否有效,默认使能

DEVICE_NET_LPRC_TRIG_MODE nTrigMode;//触发模式

unsigned int uNumVertex; //顶点实际个数,默认为4

TNet_LPRC_VERTEX struRoiVertex[DEVICE_NET_LPRC_REGAREA_COUNT]; //识别区域,顶点数组,默认为{{100,275},{900,275},{900,725},{100,725}},

TNet_LPRC_VERTEX struVloopVertex[DEVICE_NET_LPRC_REGAREA_COUNT]; //虚拟触发区域,顶点数组,默认为{{100,522},{900,522},{900,725},{100,725}},

DEVICE_NET_NET_LPRC_DIR eCrossDir; //穿越方向限制,默认为双向触发

unsigned int uTriggerTimeGap; //对相同车牌的触发时间间隔的限制,单位为秒,默认为10

}TNetLprcTriggerPara;

LPRYYDSClient_GetTriggerLoopEx

接口描述 获取车牌识别与虚拟线圈的触发规则
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetTriggerLoopEx(LPRYYDSClientHandle handle, TagNetLprcTriggerPara* pVirtualLoop)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] pVirtualLoop保存触发规则的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取车牌识别算法触发区域 */

#define DEVICE_NET_LPRC_REGAREA_COUNT 8

typedef enum{

DEVICE_NET_NET_LPRC_DIR_BIDIR = 0, //双向触发

DEVICE_NET_NET_LPRC_DIR_UP2DOWN, //从上到下方向的车辆触发

DEVICE_NET_NET_LPRC_DIR_DOWN2UP, //从下到上方向的车辆触发

}DEVICE_NET_NET_LPRC_DIR;

typedef enum{

DEVICE_NET_LPRC_ENABLE_OFF = 0, // 关闭

DEVICE_NET_LPRC_ENABLE_ON, // 使能

DEVICE_NET_LPRC_ENABLE_MAX

}DEVICE_NET_LPRC_ENABLE;

typedef enum{

DEVICE_NET_LPRC_EXTIO_0_TRIG = 0, //外部IO_0触发,默认混合纯视频流模式

DEVICE_NET_LPRC_EXTIO_1_TRIG, //外部IO_1触发,默认混合纯视频流模式

DEVICE_NET_LPRC_EXTIO_MUX_TRIG, //外部IO_0或IO_1触发,默认混合纯视频流模式

DEVICE_NET_LPRC_VERTEX_TRIG, //纯视频流模式虚拟线圈触发

DEVICE_NET_LPRC_TRIG_MAX

}DEVICE_NET_LPRC_TRIG_MODE;

结构体定义:

typedef struct TagNet_LPRC_VERTEX{

unsigned X_1000; //水平方向相对坐标,取值范围0-1000

unsigned Y_1000; //竖直方向相对坐标,取值范围0-1000

}TNet_LPRC_VERTEX;

//虚拟线圈信息定义

typedef struct TagNetLprcTriggerPara

{

DEVICE_NET_LPRC_ENABLE byEnable; //是否有效,默认使能

DEVICE_NET_LPRC_TRIG_MODE nTrigMode;//触发模式

unsigned int uNumVertex; //顶点实际个数,默认为4

TNet_LPRC_VERTEX struRoiVertex[DEVICE_NET_LPRC_REGAREA_COUNT]; //识别区域,顶点数组,默认为{{100,275},{900,275},{900,725},{100,725}},

TNet_LPRC_VERTEX struVloopVertex[DEVICE_NET_LPRC_REGAREA_COUNT]; //虚拟触发区域,顶点数组,默认为{{100,522},{900,522},{900,725},{100,725}},

DEVICE_NET_NET_LPRC_DIR eCrossDir; //穿越方向限制,默认为双向触发

unsigned int uTriggerTimeGap; //对相同车牌的触发时间间隔的限制,单位为秒,默认为10

}TNetLprcTriggerPara;

车牌识别最大与最小车牌尺寸

LPRYYDSClient_SetLprsMaxPlateSize

接口描述 设置车牌识别最大与最小车牌尺寸
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetLprsMaxPlateSize(LPRYYDSClientHandle handle, const TagNetLprcMaxPlateSize *pMaxPlateSize)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pMaxPlateSize车牌识别最大与最小车牌信息的指针

返回值 1表示成功,0表示失败
约束

结构定义:

/*设置获取车牌识别算法最大车牌尺寸 */

typedef struct TagNetLprcMaxPlateSize{

unsigned int nMax; // 检测的最大车牌宽度,以像素为单位,默认为600

unsigned int nMin; // 检测的最小车牌宽度,以像素为单位,默认为25

}TNetLprcMaxPlateSize;

LPRYYDSClient_GetLprsMaxPlateSize

接口描述 获取车牌识别最大与最小车牌尺寸
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetLprsMaxPlateSize(LPRYYDSClientHandle handle, TagNetLprcMaxPlateSize *pMaxPlateSize)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] pMaxPlateSize保存车牌识别最大与最小车牌信息的指针

返回值 1表示成功,0表示失败
约束

结构定义:

/*设置获取车牌识别算法最大车牌尺寸 */

typedef struct TagNetLprcMaxPlateSize{

unsigned int nMax; // 检测的最大车牌宽度,以像素为单位,默认为600

unsigned int nMin; // 检测的最小车牌宽度,以像素为单位,默认为25

}TNetLprcMaxPlateSize;

设备时间管理

LPRYYDSClient_GetDevDateTime

接口描述 获取设备时间
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetDevDateTime(LPRYYDSClientHandle handle, TNetDateTime* datetimecfg)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] datetimecfg保存获取时间的指针

返回值 1表示成功,0表示失败
约束

结构定义:

/*设置获取设备当前系统时间 */

typedef struct TagDATE_PARAM{

unsigned int year; // 已经偏置了1900

unsigned int month; // 1-12

unsigned int day;

}DATE_PARAM;

typedef struct TagTIME_PARAM{

unsigned int hour;// 对于24小时制0-23,对于12小时制0-11

unsigned int min;// 0-59

unsigned int sec;// 0-59

}TIME_PARAM;

typedef struct TagNetDateTime{

DATE_PARAM p_date_param;

TIME_PARAM p_time_param;

}TNetDateTime;

LPRYYDSClient_SetDevDateTime

接口描述 设置设备时间
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetDevDateTime(LPRYYDSClientHandle handle, const TNetDateTime* datetimecfg)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] datetimecfg设置时间参数的指针

返回值 1表示成功,0表示失败
约束

结构定义:

/*设置获取设备当前系统时间 */

typedef struct TagDATE_PARAM{

unsigned int year; // 已经偏置了1900

unsigned int month; // 1-12

unsigned int day;

}DATE_PARAM;

LPRYYDSClient_GetDevNtpParam

接口描述 获取设备时间同步参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetDevNtpParam(LPRYYDSClientHandle handle, TNetNtpPara* timeSrccfg)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] timeSrccfg保存时间同步参数的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取时间同步参数 */

#define NET_NTPSERVER_LEN (64)

typedef enum{

DEVICE_NET_NTPENABLE_OFF = 0, // 关闭

DEVICE_NET_NTPENABLE_ON, // 同步使能

DEVICE_NET_NTPENABLE_MAX

}DEVICE_NET_NTPENABLE;

结构体定义:

typedef struct TagNetNtpPara{

DEVICE_NET_NTPENABLE ntp_enable; // 默认关闭

char ntp_server[NET_NTPSERVER_LEN]; // ntp服务器地址 默认为”time.windows.com”

unsigned int refreshInterval; // 同步时间间隔(单位:秒)默认为 300

}TNetNtpPara;

LPRYYDSClient_SetDevNtpParam

接口描述 设置设备时间同步参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetDevNtpParam(LPRYYDSClientHandle handle, const TNetNtpPara* timeSrccfg)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] timeSrccfg设置时间同步参数的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取时间同步参数 */

#define NET_NTPSERVER_LEN (64)

typedef enum{

DEVICE_NET_NTPENABLE_OFF = 0, // 关闭

DEVICE_NET_NTPENABLE_ON, // 同步使能

DEVICE_NET_NTPENABLE_MAX

}DEVICE_NET_NTPENABLE;

结构体定义:

typedef struct TagNetNtpPara{

DEVICE_NET_NTPENABLE ntp_enable; // 默认关闭

char ntp_server[NET_NTPSERVER_LEN]; // ntp服务器地址 默认为”time.windows.com”

unsigned int refreshInterval; // 同步时间间隔(单位:秒)默认为 300

}TNetNtpPara;

LPRYYDSClient_SyncLocalPcTime

接口描述 同步本地电脑时间
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SyncLocalPcTime(LPRYYDSClientHandle handle)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄
返回值 1表示成功,0表示失败
约束

TF卡管理

LPRYYDSClient_GetTFCardInfo

接口描述 获取设备TF卡信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetTFCardInfo(LPRYYDSClientHandle handle, TNetTFCardInfo* pTfCardInfo)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] pTfCardInfo保存TF卡信息的结构体

返回值 1表示成功,0表示失败
约束

枚举定义:

/*获取TF卡状态、容量以及使用情况 */

typedef enum{

DEVICE_NET_NET_TFCARD_STATUS_INOK = 0,// TF卡已经插入并且运行正常

DEVICE_NET_NET_TFCARD_STATUS_INERR, // TF卡已经插入但是读写运行异常

DEVICE_NET_NET_TFCARD_STATUS_OUT, // 未检测到TF卡

DEVICE_NET_NET_TFCARD_STATUS_MAX

}DEVICE_NET_NET_TFCARD_STATUS;

结构体定义:

typedef struct TagNetTFCardInfo{

DEVICE_NET_NET_TFCARD_STATUS status;

unsigned int totalsize; // TF卡的总容量,单位为MBytes;

unsigned int used; // 已经使用的容量,单位为MBytes;

}TNetTFCardInfo;

LPRYYDSClient_FormatTFCard

接口描述 格式化TF卡
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_FormatTFCard(LPRYYDSClientHandle handle)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄
返回值 1表示成功,0表示失败
约束

设备维护

LPRYYDSClient_GetDeviceInfo

接口描述 获取设备信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetDeviceInfo(LPRYYDSClientHandle handle, TagNetDeviceInfo* pDeviceInfo)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pDeviceInfo保存设备信息的结构体指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*获取设备信息 */

typedef enum{

DEVICE_NET_ACTIVESTATUS_OK = 0, // 已经激活

DEVICE_NET_ACTIVESTATUS_ERR, // 未激活

DEVICE_NET_ACTIVESTATUS_MAX

}DEVICE_NET_ACTIVESTATUS;

结构定义:

typedef struct TagNetDeviceInfo{

char devicetype[32]; // 设备型号

char phymac[18]; // Device MAC Addr,字符串的方式传递,”11-22-33-44-55-66″

DEVICE_NET_ACTIVESTATUS activestatus; // 激活状态

char sn[32]; // 序列号

char hwversion[32]; // 硬件版本

char swversion[32]; // 软件版本

char lpralgversion[32]; // 车牌识别算法版本

}TNetDeviceInfo;

LPRYYDSClient_ResetSettingDev

接口描述 恢复出厂设置
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_ResetSettingDev(LPRYYDSClientHandle handle, const TagNetResetSetting* pResetSetting);
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pResetSetting参数恢复等级

返回值 1表示成功,0表示失败
约束

枚举定义:

/*恢复出厂设置 */

typedef enum{

DEVICE_NET_RESETSETTING_LEVEL_LIGHT = 0, // 轻量级参数恢复

DEVICE_NET_RESETSETTING_LEVEL_WEIGHT, // 重量级参数恢复,保留网络参数、用户名密码、序列号

DEVICE_NET_RESETSETTING_LEVEL_MAX

} DEVICE_NET_RESETSETTING;

结构定义:

typedef struct TagNetResetSetting{

DEVICE_NET_RESETSETTING level; // 参数恢复等级

}TNetResetSetting;

LPRYYDSClient_RebootDevice

接口描述 重启设备
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_RebootDevice(LPRYYDSClientHandle handle, const TagNetRebootDevice* pResetSetting)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pResetSetting重启设备时的延时间隔

返回值 1表示成功,0表示失败
约束

/*重启设备 */

typedef struct TagNetRebootDevice{

unsigned int delaysec; // 接收到该命令开始计时,等待delaysec后执行重启操作,为0表示立即重启

}TNetRebootDevice;

LPRYYDSClient_UpgradeRequest

接口描述 设备升级
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_UpgradeRequest(LPRYYDSClientHandle handle, char *pFullPathName)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pFullPathName设备升级的文件名

返回值 0表示成功;1 系统繁忙,不能升级;2 升级数据校验错误;3 No Found TF Card;4 内存不够;5 硬件版本不匹配;6 文件过大;7 升级文件格式异常;8 读取文件异常
约束

LPRYYDSClient_UpgradeStatusCallBack

接口描述 设置设备升级的回调函数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_UpgradeStatusCallBack(LPRYYDSClientHandle handle, UpdateStatusFunCallBack pUpdateStatusFun, void* pUserData)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pUpdateStatusFun设备升级时升级状态的回调函数

[IN] pUserData用户自定义的参数,一般为更新状态的类对象

返回值 1表示成功,0表示失败
约束

// 升级状态回调函数

typedef void (CALLBACK* UpdateStatusFunCallBack)(LPRYYDSClientHandle handle, int percent, void *lpContext)

LPRYYDSClient_Export_Config

接口描述 导出设备中的参数到文件中
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_Export_Config(LPRYYDSClientHandle handle, char *Path)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] Path保存参数的文件

返回值 1表示成功,0表示失败, -1 文件打开失败
约束

LPRYYDSClient_Import_Config

接口描述 将文件的参数导入到文件设备中
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_Import_Config(LPRYYDSClientHandle handle, char *Path)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] Path保存参数的文件

返回值 1表示成功;

0表示失败;

-1 文件打开失败;

-2文件发送失败;

-3文件接收失败;

-4导入的配置文件和相机当前软件版本不匹配;

-5 导入的配置文件不完整或被损坏;

约束

设备描述信息

LPRYYDSClient_SetDevDescription

接口描述 设置设备描述信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetDevDescription(LPRYYDSClientHandle handle,TagDevDescription* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] info设置的设备描述信息

返回值 1表示成功,0表示失败
约束

结构体定义

typedef struct TagDevDescription

{

char description[128]; // 设备描述

}TDevDescription;

LPRYYDSClient_GetDevDescription

接口描述 获取设备描述信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetDevDescription(LPRYYDSClientHandle handle, TagDevDescription* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回的设备描述信息

返回值 1表示成功,0表示失败
约束

结构体定义

typedef struct TagDevDescription

{

char description[128]; // 设备描述

}TDevDescription;

设备定时重启

LPRYYDSClient_SetRebootTime

接口描述 设置设备重启时间
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetRebootTime(LPRYYDSClientHandle handle, TNetRebootTime* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] info像机重启时间信息

返回值 1表示成功,0表示失败
约束

结构体定义

typedef struct TagNetRebootTime {

unsigned int enable;

unsigned int wday; // 取 [0,7] 其中0代表每一天,1代表星期一 7 代表星期天

unsigned int hour;

unsigned int min;

unsigned int startflag;

}TNetRebootTime;

LPRYYDSClient_GetRebootTime

接口描述 获取重启时间
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetRebootTime(LPRYYDSClientHandle handle, TNetRebootTime* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回像机重启时间信息

返回值 1表示成功,0表示失败
约束

结构体定义

typedef struct TagNetRebootTime {

unsigned int enable;

unsigned int wday; // 取 [0,7] 其中0代表每一天,1代表星期一 7 代表星期天

unsigned int hour;

unsigned int min;

unsigned int startflag;

}TNetRebootTime;

图片质量

LPRYYDSClient_SetJpegQuality

接口描述 设置JPEG编码质量
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetJpegQuality(LPRYYDSClientHandle handle, const TNetJpegQuality *pParameter)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pParameter JPEG编码质量参数的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取JPEG编码质量 */

typedef enum{

DEVICE_NET_JPEGQUALITY_100 = 0,

DEVICE_NET_JPEGQUALITY_90,

DEVICE_NET_JPEGQUALITY_80,

DEVICE_NET_JPEGQUALITY_70,

DEVICE_NET_JPEGQUALITY_60,

DEVICE_NET_JPEGQUALITY_50,

DEVICE_NET_JPEGQUALITY_40,

DEVICE_NET_JPEGQUALITY_30,

DEVICE_NET_JPEGQUALITY_20,

DEVICE_NET_JPEGQUALITY_10,

DEVICE_NET_JPEGQUALITY_MAX

}DEVICE_NET_JPEGQUALITY;

结构体定义:

typedef struct TagNetJpegQuality{

DEVICE_NET_JPEGQUALITY quality;

}TNetJpegQuality;

LPRYYDSClient_GetJpegQuality

接口描述 获取设置的JPEG编码质量
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetJpegQuality(LPRYYDSClientHandle handle, TNetJpegQuality *pParameter)
参数说明 [IN] handle由LPRYYDSClient_Open数返回的句柄

[OUT] pParameter 保存JPEG编码质量参数的指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/*设置获取JPEG编码质量 */

typedef enum{

DEVICE_NET_JPEGQUALITY_100 = 0,

DEVICE_NET_JPEGQUALITY_90,

DEVICE_NET_JPEGQUALITY_80,

DEVICE_NET_JPEGQUALITY_70,

DEVICE_NET_JPEGQUALITY_60,

DEVICE_NET_JPEGQUALITY_50,

DEVICE_NET_JPEGQUALITY_40,

DEVICE_NET_JPEGQUALITY_30,

DEVICE_NET_JPEGQUALITY_20,

DEVICE_NET_JPEGQUALITY_10,

DEVICE_NET_JPEGQUALITY_MAX

}DEVICE_NET_JPEGQUALITY;

结构体定义:

typedef struct TagNetJpegQuality{

DEVICE_NET_JPEGQUALITY quality;

}TNetJpegQuality;

图像保存为JPEG到指定路径

LPRYYDSClient_ImageSaveToJpegEx

接口描述 将图像保存为JPEG到指定路径,可指定图像尺寸的模式
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_ImageSaveToJpegEx(const LPRCYYDS_IMAGE_INFO *pImgInfo, const char *pFullPathName, int nQuality, IMG_SIZE_MODE mode)
参数说明 [IN] pImgInfo图像结构体,目前只支持默认的格式,即ImageFormatRGB

[IN] pFullPathName设带绝对路径和JPG后缀名的文件名字符串

[IN] nQuality JPEG压缩的质量,取值范围1~100

[IN] mode图像大小的模式

返回值 1表示成功,0表示失败
约束 给定的文件名中的路径需要存在

结构定义:

/**图像信息*/

typedef struct

{

unsigned uWidth; /**<宽度*/

unsigned uHeight; /**<高度*/

unsigned uPitch; /**<图像宽度的一行像素所占内存字节数*/

unsigned uPixFmt; /**<图像像素格式,参考枚举定义图像格式(ImageFormatXXX)*/

unsigned uSize;

unsigned char *pJpegBuf;

unsigned char *pBuffer; /**<图像内存的首地址*/

}LPRCYYDS_IMAGE_INFO;

typedef enum _IMG_SIZE_MODE{

IMG_MODE_NONE = 0,

IMG_MODE_CIF,

IMG_MODE_D1,

IMG_MODE_720P,

IMG_MODE_1080P

}IMG_SIZE_MODE;

手动抓拍

LPRYYDSClient_GetSnapShootToJpeg

接口描述 保存正在播放的视频的当前帧的截图到指定路径,用于手动抓拍。
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetSnapShootToJpeg(LPRYYDSClientHandle handle, const char *pFullPathName, int nQuality)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pFullPathName设带绝对路径和JPG后缀名的文件名字符串

[IN] nQuality JPEG压缩的质量,取值范围1~100

返回值 1表示成功,0表示失败
约束

串口控制

LPRYYDSClient_SerialTransferIn

接口描述 设置设备串口通迅端口
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SerialTransferIn(LPRYYDSClientHandle handle, TagNetSerialTransferIn* inValue, TagNetSerialTransferIn_Ret* retValue)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] inValue设置串口参数的结构体指针

[OUT] retValue返回设置的结果

返回值 1表示成功,0表示失败
约束

枚举定义:

typedef enum{

DEVICE_NET_SERIAL_PORT_1 = 0, // Port 1

DEVICE_NET_SERIAL_PORT_2, // Port 2

DEVICE_NET_SERIAL_PORT_MAX

}DEVICE_NET_SERIAL_PORT;

typedef enum {

DEVICE_NET_SERIALIN_EN_OFF = 0,

DEVICE_NET_SERIALIN_EN_ON,

DEVICE_NET_SERIALIN_EN_MAX

}DEVICE_NET_SERIALIN_EN;

结构定义:

typedef struct TagNetSerialTransferIn {

DEVICE_NET_SERIAL_PORT uPort; // 485端口号

DEVICE_NET_SERIALIN_EN enable; // 打开或关闭

}TNetSerialTransferIn;

typedef struct TagNetSerialTransferIn_Ret {

DEVICE_NET_RET ret;

}TNetSerialTransferIn_Ret;

LPRYYDSClient_SerialTransferOut

接口描述 设置串口端口输出数据
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SerialTransferOut(LPRYYDSClientHandle handle, TagNetSerialTransferOut* inValue, TagNetSerialTransferOut_Ret* retValue)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] inValue串口输出的内容

[OUT] retValue返回设置的结果

返回值 1表示成功,0表示失败
约束

枚举定义:

typedef enum{

DEVICE_NET_SERIAL_PORT_1 = 0, // Port 1

DEVICE_NET_SERIAL_PORT_2, // Port 2

DEVICE_NET_SERIAL_PORT_MAX

}DEVICE_NET_SERIAL_PORT;

/*485透传*/

结构定义:

typedef struct TagNetSerialTransferOut {

DEVICE_NET_SERIAL_PORT uPort; // 485端口号

unsigned int length; // 发送数据的长度,取值范围0-256

unsigned char *buffer; // 发送数据的缓冲区,没有使用就填0

}TNetSerialTransferOut;

typedef struct TagNetSerialTransferOut_Ret {

DEVICE_NET_RET ret;

}TNetSerialTransferOut_Ret;

LPRYYDSClient_SetSerialParameter

接口描述 设置串口参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetSerialParameter(LPRYYDSClientHandle handle, const TNetSerialPara *pSerialPara)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] pSerialPara设置串口参数的结构体指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/* 设置获取串口参数 */

typedef enum{

DEVICE_NET_SERIAL_PORT_1 = 0, // Port 1

DEVICE_NET_SERIAL_PORT_2, // Port 2

DEVICE_NET_SERIAL_PORT_MAX

}DEVICE_NET_SERIAL_PORT;

LPRYYDSClient_GetSerialParameter

接口描述 获取串口参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetSerialParameter(LPRYYDSClientHandle handle, int nSerialPort, TNetSerialPara *pSerialPara)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] nSerialPort 指定的串口号

[OUT] pSerialPara 保存串口参数的结构体指针

返回值 1表示成功,0表示失败
约束

枚举定义:

/* 设置获取串口参数 */

typedef enum{

DEVICE_NET_SERIAL_PORT_1 = 0, // Port 1

DEVICE_NET_SERIAL_PORT_2, // Port 2

DEVICE_NET_SERIAL_PORT_MAX

}DEVICE_NET_SERIAL_PORT;

typedef enum{

DEVICE_NET_BAUDRATE_300 = 0, // 300

DEVICE_NET_BAUDRATE_600, // 600

DEVICE_NET_BAUDRATE_1200, // 1200

DEVICE_NET_BAUDRATE_2400, // 2400

DEVICE_NET_BAUDRATE_4800, // 4800

DEVICE_NET_BAUDRATE_9600, // 9600

DEVICE_NET_BAUDRATE_19200, // 19200

DEVICE_NET_BAUDRATE_38400, // 38400

DEVICE_NET_BAUDRATE_57600, // 57600

DEVICE_NET_BAUDRATE_115200, // 115200

DEVICE_NET_BAUDRATE_MAX

}DEVICE_NET_SERIAL_BAUDRATE;

typedef enum{

DEVICE_NET_PARITY_NONE = 0, // none

DEVICE_NET_PARITY_ODD, // odd

DEVICE_NET_PARITY_EVEN, // even

DEVICE_NET_PARITY_MAX

}DEVICE_NET_SERIAL_PARITY;

typedef enum{

DEVICE_NET_DATABIT_7 = 0, // 7 bit

DEVICE_NET_DATABIT_8, // 8 bit

DEVICE_NET_DATABIT_MAX

}DEVICE_NET_SERIAL_DATABIT;

typedef enum{

DEVICE_NET_STOPBIT_1 = 0, // 1 bit

DEVICE_NET_STOPBIT_2, // 2 bit

DEVICE_NET_STOPBIT_MAX

}DEVICE_NET_SERIAL_STOPBIT;

typedef enum{

DEVICE_NET_SERIAL_CTRLMODE_SOFT = 0,

DEVICE_NET_SERIAL_CTRLMODE_CAMERA,

DEVICE_NET_SERIAL_CTRLMODE_MAX

}DEVICE_NET_SERIAL_CTRLMODE;

结构定义:

typedef struct TagNetSerialPara{

DEVICE_NET_SERIAL_PORT uPort; // 端口号

DEVICE_NET_SERIAL_BAUDRATE uBaudRate; // 波特率 300,600,1200,2400,4800,9600

DEVICE_NET_SERIAL_PARITY uParity; // 校验值 none(0),odd(1),even(2)

DEVICE_NET_SERIAL_DATABIT uDataBits; // 数据位 7,8

DEVICE_NET_SERIAL_STOPBIT uStopBit; // 停止位 1,2

DEVICE_NET_SERIAL_CTRLMODE ctrlMode; // 控制模式,供脱机程序使用,默认为0(软件控制)

}TNetSerialPara;

LPRYYDSClient_SetRS485MsgCallBack

接口描述 设置串口接收数据的回调函数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetRS485MsgCallBack(LPRYYDSClientHandle handle, Rs485MsgCallBack func)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] func 接收数据回调函数,如果为NULL,则表示关闭该回调函数的功能

返回值 1表示成功,0表示失败
约束

//485数据的回调函数 port:0/1

typedef void (CALLBACK* Rs485MsgCallBack)(LPRYYDSClientHandle handle, int port,void* pRS485Data,int datalen);

GPIO状态

LPRYYDSClient_GetGPIOValue

接口描述 获取GPIO的输入状态,将数据上报给上位机软件
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetGPIOValue(LPRYYDSClientHandle handle, int gpioIn, int *value);
参数说明 [IN] handle 由LPRYYDSClient_Open函数返回的句柄

[IN] gpioIn 数据为0或1

返回值 value 0开关量-断路,1开关量-短路 2电平量-低电平 3电平量-高电平
约束

显示实时车牌

LPRYYDSClient_SetSaveChePaiResult

接口描述 用于设置是否显示实时车牌信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetSaveChePaiResult(LPRYYDSClientHandle handle, TNetLprcDrawRealTimeResualt *Res)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] Res用于设置的参数

返回值 1表示成功,0表示失败
约束

枚举定义:

//用于设置实时显示车牌信息

typedef enum

{

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT_OFF = 0, // 关闭,不显示

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT_ON, // 打开,显示

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT_MAX

}DEVICE_NET_LPRC_DRAW_REALTIMERESUALT;

结构定义:

typedef struct TagNetLprcDrawRealTimeResualt

{

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT enable;// 默认打开

}TNetLprcDrawRealTimeResualt;

LPRYYDSClient_GetChePaiResult

接口描述 用于获取显示实时车牌信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetChePaiResult(LPRYYDSClientHandle handle, TNetLprcDrawRealTimeResualt* Res)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[out] Res用于保存获取的结果

返回值 1表示成功,0表示失败
约束

枚举定义:

//用于设置实时显示车牌信息

typedef enum

{

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT_OFF = 0, // 关闭,不显示

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT_ON, // 打开,显示

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT_MAX

}DEVICE_NET_LPRC_DRAW_REALTIMERESUALT;

结构定义:

typedef struct TagNetLprcDrawRealTimeResualt

{

DEVICE_NET_LPRC_DRAW_REALTIMERESUALT enable;// 默认打开

}TNetLprcDrawRealTimeResualt;

实时车牌框

LPRYYDSClient_SetSaveChePaiFrame

接口描述 用于设置是否显示实时车牌框
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetSaveChePaiFrame(LPRYYDSClientHandle handle, TNetLprcDrawPlateRect *PlateRect)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] Res设置的参数信息

返回值 1表示成功,0表示失败
约束

枚举定义:

//用于设置是否显示车牌框

typedef enum

{

DEVICE_NET_LPRC_DRAW_PLATERECT_OFF = 0, // 关闭,不显示

DEVICE_NET_LPRC_DRAW_PLATERECT_ON, // 打开,显示

DEVICE_NET_LPRC_DRAW_PLATERECT_MAX

}DEVICE_NET_LPRC_DRAW_PLATERECT;

结构体定义:

typedef struct TagNetLprcDrawPlateRect

{

DEVICE_NET_LPRC_DRAW_PLATERECT enable;// 默认打开

}TNetLprcDrawPlateRect;

LPRYYDSClient_GetChePaiFrame

接口描述 用于获取是否显示车牌框
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetChePaiFrame(LPRYYDSClientHandle handle, TNetLprcDrawPlateRect* PlateRect);
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] PlateRect保存设置的结果

返回值 1表示成功,0表示失败
约束

枚举定义:

//用于设置是否显示车牌框

typedef enum

{

DEVICE_NET_LPRC_DRAW_PLATERECT_OFF = 0, // 关闭,不显示

DEVICE_NET_LPRC_DRAW_PLATERECT_ON, // 打开,显示

DEVICE_NET_LPRC_DRAW_PLATERECT_MAX

}DEVICE_NET_LPRC_DRAW_PLATERECT;

结构体定义:

typedef struct TagNetLprcDrawPlateRect

{

DEVICE_NET_LPRC_DRAW_PLATERECT enable;// 默认打开

}TNetLprcDrawPlateRect;

背光补偿,强光抑制

LPRYYDSClient_SetBLCPara

接口描述 设置背光补偿,强光抑制信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetBLCPara(LPRYYDSClientHandle handle, TNetBLCPara* value, TNetBLCPara_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value设置的背光补偿,强光抑制信息

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

枚举定义:

/* 设置获取背光补偿,强光抑制 */

typedef enum {

DEVICE_NET_BLC_ENABLE_OFF = 0, // 关闭

DEVICE_NET_BLC_ENABLE_ON, // 使能

DEVICE_NET_BLC_ENABLE_MAX

}DEVICE_NET_BLC_ENABLE;

结构定义:

typedef struct TagNetBLCPara {

DEVICE_NET_BLC_ENABLE enblc; // 默认关闭

}TNetBLCPara;

typedef struct TagNetBLCPara_Ret {

DEVICE_NET_RET ret;

}TNetBLCPara_Ret;

LPRYYDSClient_GetBLCPara

接口描述 获取背光补偿,强光抑制信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetBLCPara(LPRYYDSClientHandle handle, TNetBLCPara* info);
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回背光补偿,强光抑制的信息

返回值 1表示成功,0表示失败
约束

枚举定义:

/* 设置获取背光补偿,强光抑制*/

typedef enum {

DEVICE_NET_BLC_ENABLE_OFF = 0, // 关闭

DEVICE_NET_BLC_ENABLE_ON, // 使能

DEVICE_NET_BLC_ENABLE_MAX

}DEVICE_NET_BLC_ENABLE;

结构定义:

typedef struct TagNetBLCPara {

DEVICE_NET_BLC_ENABLE enblc; // 默认关闭

}TNetBLCPara;

typedef struct TagNetBLCPara_Ret {

DEVICE_NET_RET ret;

}TNetBLCPara_Ret;

车牌映射

LPRYYDSClient_SetPlatereMap

接口描述 获取车牌映射信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetPlatereMap(LPRYYDSClientHandle handle, TNetLprPlateMap* value,TNetLprPlateMap_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open数返回的句柄

[IN] value 设置车牌映射信息

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

结构定义:

/* 车牌映射 */

#define DEVICE_NET_PM_MAXNUM (20)

typedef struct TagNetLprPlateMap {

int enable; // 0-disable,1-enable

char src[DEVICE_NET_PM_MAXNUM][16]; // 字符长度最大为15字节(最后一个字节为结束符),为空表示该项不生效

char dst[DEVICE_NET_PM_MAXNUM][16];

}TNetLprPlateMap;

LPRYYDSClient_GetPlatereMap

接口描述 获取车牌映射信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetPlatereMap(LPRYYDSClientHandle handle,TNetLprPlateMap* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回车牌映射信息

返回值 1表示成功,0表示失败
约束

结构定义:

/* 车牌映射 */

#define DEVICE_NET_PM_MAXNUM (20)

typedef struct TagNetLprPlateMap {

int enable; // 0-disable,1-enable

char src[DEVICE_NET_PM_MAXNUM][16]; // 字符长度最大为15字节(最后一个字节为结束符),为空表示该项不生效

char dst[DEVICE_NET_PM_MAXNUM][16];

}TNetLprPlateMap;

车牌过滤

LPRYYDSClient_SetPlateFilter

接口描述 设置车牌过滤信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetPlateFilter(LPRYYDSClientHandle handle, TNetLprcPlateFilter* value,TNetLprcPlateFilter_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value设置的车牌过滤信息

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

结构定义:

/* 上报结果过滤 */

#define DEVICE_NET_PF_MAXNUM (20)

typedef struct TagNetLprcPlateFilter {

int enable; // 允许车牌过滤,0-不过滤,上报所有的识别类型,1-过滤

int type;// 过滤类型,默认为0-精确匹配

char str[DEVICE_NET_PF_MAXNUM][16];

}TNetLprcPlateFilter;

typedef struct TagNetLprcPlateFilter_Ret {

DEVICE_NET_RET ret;

}TNetLprcPlateFilter_Ret;

LPRYYDSClient_GetPlateFilter

接口描述 获取车牌过滤信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetPlateFilter(LPRYYDSClientHandle handle, TNetLprcPlateFilter* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回车牌过滤的信息

返回值 1表示成功,0表示失败
约束

结构定义:

#define NET_PF_MAXNUM (20)

typedef struct TagNetLprcPlateFilter

{

int enable; // 允许车牌过滤,0-不过滤,上报所有的识别类型,1-过滤

int type;// 保留字段,过滤类型,默认为0-精确匹配

// 当车牌输出结果中有包含本字段中的任意字符串,相机将不输出;

char str[NET_PF_MAXNUM][16];

}TNetLprcPlateFilter;

车队模式

LPRYYDSClient_SetCheDuiMode

接口描述 设置车队通过模式
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetCheDuiMode(LPRYYDSClientHandle handle, TagNetCheDuiMode* value, TagNetCheDuiMode_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] info设置的车队通过模式信息

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

结构定义:

/* 车队模式 */

typedef struct TagNetCheDuiMode {

int brunning; // 0-关闭,1-开启

}TNetCheDuiMode;

typedef struct TagNetCheDuiMode_Ret {

DEVICE_NET_RET ret;

}TNetCheDuiMode_Ret;

LPRYYDSClient_GetCheDuiMode

接口描述 获取车队通过模式
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetCheDuiMode(LPRYYDSClientHandle handle, TagNetCheDuiMode* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回车队通过模式信息

返回值 1表示成功,0表示失败
约束

结构定义:

/* 车队模式 */

typedef struct TagNetCheDuiMode {

int brunning; // 0-关闭,1-开启

}TNetCheDuiMode;

typedef struct TagNetCheDuiMode_Ret {

DEVICE_NET_RET ret;

}TNetCheDuiMode_Ret;

设置设备的继电器控制参数

LPRYYDSClient_SetRelay_Action

接口描述 设置设备的继电器控制参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetRelay_Action(LPRYYDSClientHandle handle, TNetRelayAction* value)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] value设置的继电器参数

返回值 1表示成功,0表示失败
约束

枚举定义

/* 镜头继电器动作 */

typedef enum

{

DEVICE_NET_RELAY_ACTION_OPEN1_AUTOCLOSE = 0,// 开闸OUT1,打开继电器,打开后1.5秒自动关闭

DEVICE_NET_RELAY_ACTION_OPEN2_AUTOCLOSE, // 开闸OUT2,打开继电器,打开后1.5秒自动关闭

DEVICE_NET_RELAY_ACTION_OPEN1,// 开闸OUT1,打开继电器,一直都打开

DEVICE_NET_RELAY_ACTION_OPEN2, // 开闸OUT2,打开继电器,一直都打开

DEVICE_NET_RELAY_ACTION_CLOSE1,//关闸OUT1,立刻关闭

DEVICE_NET_RELAY_ACTION_CLOSE2,//关闸OUT2,立刻关闭

DEVICE_NET_RELAY_ACTION_MAX

}DEVICE_NET_RELAY_ACTION;

结构定义:

typedef struct TagNetRelayAction

{

DEVICE_NET_RELAY_ACTION action;

}TNetRelayAction;

typedef struct TagNetRelayAction_Ret

{

DEVICE_NET_RET ret;

}TNetRelayAction_Ret;

稳定结果输出

LPRYYDSClient_SetStableOutput

接口描述 设置稳定结果输出
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetStableOutput(LPRYYDSClientHandle handle, TNetStableOutput* value,TNetStableOutput_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value设置的稳定结果输出信息

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

结构定义:

/* 稳定结果输出 */

typedef struct TagNetStableOutput {

int enable; // 0-关闭稳定结果输出,1-打开稳定结果输出,默认关闭

}TNetStableOutput;

typedef struct TagNetStableOutput_Ret {

DEVICE_NET_RET ret;

}TNetStableOutput_Ret;

LPRYYDSClient_GetStableOutput

接口描述 获取稳定结果输出设置
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetStableOutput(LPRYYDSClientHandle handle, TNetStableOutput* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回的稳定结果输出信息

返回值 1表示成功,0表示失败
约束

结构定义:

/* 稳定结果输出 */

typedef struct TagNetStableOutput {

int enable; // 0-关闭稳定结果输出,1-打开稳定结果输出,默认关闭

}TNetStableOutput;

typedef struct TagNetStableOutput_Ret {

DEVICE_NET_RET ret;

}TNetStableOutput_Ret;

获取唯一网络标识符

LPRYYDSClient_GetNetUniqueID

接口描述 获取唯一网络标识符
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetNetUniqueID(LPRYYDSClientHandle handle,TagNetUniqueID* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回的唯一网络标识符信息

返回值 1表示成功,0表示失败
约束

结构定义:

typedef struct TagNetUniqueID

{

char devicetype[16]; //网络标识符

}TNetUniqueID;

主从模式

LPRYYDSClient_SetMasterSlavePara

接口描述 设置主从像机配置参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetMasterSlavePara(LPRYYDSClientHandle handle, TNetMasterSlavePara* value, TNetMasterSlavePara_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value像机主从参数信息

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

结构定义:

//主从相机参数配置

typedef struct TagNetMasterSlavePara {

unsigned char enable; //是否启用主从相机模式 1-启用 0-不启用

unsigned char master; //是否主相机 1-主相机 0-从相机

unsigned int timeout; //车牌匹配超时时间(s)

//Uint16 mMaterPort; //主相机端口

char materIP[16]; //主相机IP

}TNetMasterSlavePara;

typedef struct TagNetMasterSlavePara_Ret{

DEVICE_NET_RET ret;

}TNetMasterSlavePara_Ret;

LPRYYDSClient_GetMasterSlavePara

接口描述 获取主从像机配置参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetMasterSlavePara(LPRYYDSClientHandle handle, TNetMasterSlavePara* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info返回像机的主从配置参数

返回值 1表示成功,0表示失败
约束

结构定义:

//主从相机参数配置

typedef struct TagNetMasterSlavePara {

unsigned char enable; //是否启用主从相机模式 1-启用 0-不启用

unsigned char master; //是否主相机 1-主相机 0-从相机

unsigned int timeout; //车牌匹配超时时间(s)

//Uint16 mMaterPort; //主相机端口

char materIP[16]; //主相机IP

}TNetMasterSlavePara;

typedef struct TagNetMasterSlavePara_Ret{

DEVICE_NET_RET ret;

}TNetMasterSlavePara_Ret;

白名单管理

LPRYYDSClient_AddOneWhite

接口描述 添加一条白名单
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_AddOneWhite(LPRYYDSClientHandle handle, TNetAddWhiteList* value, TNetAddWhiteList_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value添加的白名单信息

[OUT] info 返回数据库名单信息

返回值 1表示成功,0表示失败
约束

宏定义:

typedef enum { // 以下是车牌类型定义,

DEVICE_NET_LPRC_PLATETYPE_NEW_UNKNOWN = 0,//未知车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_BLUE = 1,//蓝牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_BLACK = 2,//黑牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW = 3,//单排黄牌

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW2 = 4,//双排黄牌(大车尾牌,农用车)

DEVICE_NET_LPRC_PLATETYPE_NEW_POLICE = 5,//警车车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL = 6,//武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_INDIVI = 7,//个性化车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY = 8,//单排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY2 = 9,//双排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_EMBASSY = 10,//使馆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_HONGKONG = 11,//香港进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_TRACTOR = 12,//农用车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_COACH = 13,//教练车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MACAO = 14,//澳门进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2 = 15,//双层武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL_ZONGDUI = 16,//武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2_ZONGDUI = 17,//双层武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MINHANG = 18,//民航

DEVICE_NET_LPRC_PLATETYPE_NEW_NEWENERGY = 19,//新能源

DEVICE_NET_LPRC_PLATETYPE_NEW_MAX

}DEVICE_NET_LPRC_PLATETYPE_NEW;

typedef enum { //车辆颜色定义,与15相机偏移数值1

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_UNKNOWN = 0,//未知

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_WHITE = 1,//白

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_SILVER = 2,//灰(银)

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_YELLOW = 3,//黄

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PINK = 4,//粉

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_RED = 5,//红

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GREEN = 6,//绿

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLUE = 7,//蓝

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BROWN = 8,//棕

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLACK = 9,//黑

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GRAY = 10,//深灰

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ORANGE = 11,//橙色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CYAN = 12,//青色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PURPLE = 13,//紫色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CHAMPAGNE = 14,//香槟

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ITASHA = 15,//花色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_MAX

}DEVICE_NET_LPRC_VEHICLECOLOR_NEW;

结构定义:

/*黑白名单*/

#define DEVICE_NET_MAX_TIMESEG_NUMS (21)

typedef struct TagTimeSeg { /*时间段定义*/

//char weekDay; //星期几(1~7)

short startMin;

short offMin; //

}TTimeSeg;

typedef struct TagWhiteListInfo {

unsigned long long idx; //序号

char plateID[16]; //车牌号码, 汉字用gbk编码

unsigned int timeOnCreate; //创建时间

unsigned int timeEnable; //生效时间

unsigned int timeOverdue; //过期时间

char enable; //是否启用(0不启用 1启用)

char isBlack; //是否黑名单(0-白名单 1-黑名单)

DEVICE_NET_LPRC_VEHICLECOLOR_NEW vehicleColor; //车辆颜色

DEVICE_NET_LPRC_PLATETYPE_NEW plateType; //车牌类型

char useTimeSeg; //是否使用时间段

TTimeSeg timeSeg[DEVICE_NET_MAX_TIMESEG_NUMS]; //时间段

int customerID; //客户ID

char vehicleRemark[32]; //车辆备注

}TWhiteListInfo;

/*添加单个黑白名单*/

typedef struct TagNetAddWhiteList {

TWhiteListInfo whiteList;

}TNetAddWhiteList;

typedef struct TagNetAddWhiteList_Ret {

//DEVICE_NET_RET ret;

TWhiteListInfo whiteList;

}TNetAddWhiteList_Ret;

LPRYYDSClient_AddWhiteList

接口描述 批量添加黑白名单
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_AddWhiteList(LPRYYDSClientHandle handle, TNetAddWhiteLists* value, TNetAddWhiteLists_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value添加的白名单信息

[OUT] info 返回添加结果

返回值 1表示成功,0表示失败
约束

宏定义:

typedef enum { // 以下是车牌类型定义,

DEVICE_NET_LPRC_PLATETYPE_NEW_UNKNOWN = 0,//未知车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_BLUE = 1,//蓝牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_BLACK = 2,//黑牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW = 3,//单排黄牌

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW2 = 4,//双排黄牌(大车尾牌,农用车)

DEVICE_NET_LPRC_PLATETYPE_NEW_POLICE = 5,//警车车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL = 6,//武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_INDIVI = 7,//个性化车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY = 8,//单排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY2 = 9,//双排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_EMBASSY = 10,//使馆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_HONGKONG = 11,//香港进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_TRACTOR = 12,//农用车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_COACH = 13,//教练车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MACAO = 14,//澳门进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2 = 15,//双层武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL_ZONGDUI = 16,//武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2_ZONGDUI = 17,//双层武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MINHANG = 18,//民航

DEVICE_NET_LPRC_PLATETYPE_NEW_NEWENERGY = 19,//新能源

DEVICE_NET_LPRC_PLATETYPE_NEW_MAX

}DEVICE_NET_LPRC_PLATETYPE_NEW;

typedef enum { //车辆颜色定义,与15相机偏移数值1

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_UNKNOWN = 0,//未知

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_WHITE = 1,//白

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_SILVER = 2,//灰(银)

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_YELLOW = 3,//黄

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PINK = 4,//粉

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_RED = 5,//红

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GREEN = 6,//绿

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLUE = 7,//蓝

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BROWN = 8,//棕

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLACK = 9,//黑

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GRAY = 10,//深灰

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ORANGE = 11,//橙色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CYAN = 12,//青色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PURPLE = 13,//紫色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CHAMPAGNE = 14,//香槟

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ITASHA = 15,//花色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_MAX

}DEVICE_NET_LPRC_VEHICLECOLOR_NEW;

结构定义:

/*黑白名单*/

#define DEVICE_NET_MAX_TIMESEG_NUMS (21)

typedef struct TagTimeSeg { /*时间段定义*/

//char weekDay; //星期几(1~7)

short startMin;

short offMin; //

}TTimeSeg;

typedef struct TagWhiteListInfo {

unsigned long long idx; //序号

char plateID[16]; //车牌号码, 汉字用utf-8编码

unsigned int timeOnCreate; //创建时间

unsigned int timeEnable; //生效时间

unsigned int timeOverdue; //过期时间

char enable; //是否启用

char isBlack; //是否黑名单(0-白名单 1-黑名单)

DEVICE_NET_LPRC_PLATETYPE_NEW vehicleColor; //车辆颜色

DEVICE_NET_LPRC_PLATETYPE_NEW plateType; //车牌类型

char useTimeSeg; //是否使用时间段

TTimeSeg timeSeg[DEVICE_NET_MAX_TIMESEG_NUMS]; //时间段

int customerID; //客户ID

char vehicleRemark[32]; //车辆备注

}TWhiteListInfo;

/*添加批量黑白名单*/

#define DEVICE_NET_WHITELISTS_NUMBERS (20)

typedef struct TagWhiteLists {

int num;

TWhiteListInfo lists[DEVICE_NET_WHITELISTS_NUMBERS];

}TWhiteLists;

typedef struct TagNetAddWhiteLists {

TWhiteLists whiteLists;

}TNetAddWhiteLists;

typedef struct TagNetAddWhiteLists_Ret {

DEVICE_NET_RET ret;

}TNetAddWhiteLists_Ret;

LPRYYDSClient_DeleteOneWhite

接口描述 删除一条黑白名单记录
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_DeleteOneWhite(LPRYYDSClientHandle handle,TNetDelWhiteList* value,TNetDelWhiteList_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value 想要删除的车牌号码

[OUT] info 返回删除结果

返回值 1表示成功,0表示失败
约束

结构定义:

/*删除黑白名单*/

typedef struct TagNetDelWhiteList {

char plateID[16]; //车牌号码

}TNetDelWhiteList;

typedef struct TagNetDelWhiteList_Ret {

DEVICE_NET_RET ret;

}TNetDelWhiteList_Ret;

LPRYYDSClient_ClearWhiteList

接口描述 删除所有黑白名单记录
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_ClearWhiteList(LPRYYDSClientHandle handle, TNetClearWhiteList_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄
返回值 1表示成功,0表示失败
约束

/*清空黑白名单*/

typedef struct TagNetClearWhiteList_Ret {

DEVICE_NET_RET ret;

}TNetClearWhiteList_Ret;

LPRYYDSClient_Whitelist_QueryOne

接口描述 根据车牌查询相应的白名单信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_Whitelist_QueryOne(LPRYYDSClientHandle handle, TNetQueryWhiteList* value, TNetQueryWhiteList_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value查询的信息

[OUT] Info返回的白名单信息

返回值 1表示成功,0表示失败
约束

宏定义:

typedef enum { // 以下是车牌类型定义,

DEVICE_NET_LPRC_PLATETYPE_NEW_UNKNOWN = 0,//未知车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_BLUE = 1,//蓝牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_BLACK = 2,//黑牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW = 3,//单排黄牌

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW2 = 4,//双排黄牌(大车尾牌,农用车)

DEVICE_NET_LPRC_PLATETYPE_NEW_POLICE = 5,//警车车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL = 6,//武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_INDIVI = 7,//个性化车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY = 8,//单排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY2 = 9,//双排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_EMBASSY = 10,//使馆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_HONGKONG = 11,//香港进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_TRACTOR = 12,//农用车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_COACH = 13,//教练车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MACAO = 14,//澳门进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2 = 15,//双层武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL_ZONGDUI = 16,//武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2_ZONGDUI = 17,//双层武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MINHANG = 18,//民航

DEVICE_NET_LPRC_PLATETYPE_NEW_NEWENERGY = 19,//新能源

DEVICE_NET_LPRC_PLATETYPE_NEW_MAX

}DEVICE_NET_LPRC_PLATETYPE_NEW;

typedef enum { //车辆颜色定义,与15相机偏移数值1

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_UNKNOWN = 0,//未知

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_WHITE = 1,//白

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_SILVER = 2,//灰(银)

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_YELLOW = 3,//黄

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PINK = 4,//粉

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_RED = 5,//红

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GREEN = 6,//绿

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLUE = 7,//蓝

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BROWN = 8,//棕

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLACK = 9,//黑

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GRAY = 10,//深灰

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ORANGE = 11,//橙色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CYAN = 12,//青色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PURPLE = 13,//紫色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CHAMPAGNE = 14,//香槟

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ITASHA = 15,//花色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_MAX

}DEVICE_NET_LPRC_VEHICLECOLOR_NEW;

结构定义:

/*黑白名单*/

#define DEVICE_NET_MAX_TIMESEG_NUMS (21)

typedef struct TagTimeSeg { /*时间段定义*/

//char weekDay; //星期几(1~7)

short startMin;

short offMin; //

}TTimeSeg;

typedef struct TagWhiteListInfo {

unsigned long long idx; //序号

char plateID[16]; //车牌号码, 汉字用gbk编码

unsigned int timeOnCreate; //创建时间

unsigned int timeEnable; //生效时间

unsigned int timeOverdue; //过期时间

char enable; //是否启用

char isBlack; //是否黑名单(0-白名单 1-黑名单)

DEVICE_NET_LPRC_PLATETYPE_NEW vehicleColor; //车辆颜色

DEVICE_NET_LPRC_PLATETYPE_NEW plateType; //车牌类型

char useTimeSeg; //是否使用时间段

TTimeSeg timeSeg[DEVICE_NET_MAX_TIMESEG_NUMS]; //时间段

int customerID; //客户ID

char vehicleRemark[32]; //车辆备注

}TWhiteListInfo;

/*按车牌查询黑白名单*/

typedef struct TagNetQueryWhiteList {

char plateID[16]; //车牌号码

}TNetQueryWhiteList;

typedef struct TagNetQueryWhiteList_Ret {

TWhiteListInfo list;

}TNetQueryWhiteList_Ret;

LPRYYDSClient_Whitelist_QueryBatch

接口描述 根据页查询相应的白名单信息
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_Whitelist_QueryBatch(LPRYYDSClientHandle handle, TNetQueryWhiteLists* value, TNetQueryWhiteLists_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value查询的信息

[OUT] Info返回的白名单信息

返回值 1表示成功,0表示失败
约束

宏定义:

typedef enum { // 以下是车牌类型定义,

DEVICE_NET_LPRC_PLATETYPE_NEW_UNKNOWN = 0,//未知车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_BLUE = 1,//蓝牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_BLACK = 2,//黑牌小汽车

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW = 3,//单排黄牌

DEVICE_NET_LPRC_PLATETYPE_NEW_YELLOW2 = 4,//双排黄牌(大车尾牌,农用车)

DEVICE_NET_LPRC_PLATETYPE_NEW_POLICE = 5,//警车车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL = 6,//武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_INDIVI = 7,//个性化车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY = 8,//单排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMY2 = 9,//双排军车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_EMBASSY = 10,//使馆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_HONGKONG = 11,//香港进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_TRACTOR = 12,//农用车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_COACH = 13,//教练车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MACAO = 14,//澳门进出中国大陆车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2 = 15,//双层武警车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL_ZONGDUI = 16,//武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_ARMPOL2_ZONGDUI = 17,//双层武警总队车牌

DEVICE_NET_LPRC_PLATETYPE_NEW_MINHANG = 18,//民航

DEVICE_NET_LPRC_PLATETYPE_NEW_NEWENERGY = 19,//新能源

DEVICE_NET_LPRC_PLATETYPE_NEW_MAX

}DEVICE_NET_LPRC_PLATETYPE_NEW;

typedef enum { //车辆颜色定义,与15相机偏移数值1

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_UNKNOWN = 0,//未知

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_WHITE = 1,//白

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_SILVER = 2,//灰(银)

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_YELLOW = 3,//黄

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PINK = 4,//粉

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_RED = 5,//红

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GREEN = 6,//绿

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLUE = 7,//蓝

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BROWN = 8,//棕

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_BLACK = 9,//黑

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_GRAY = 10,//深灰

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ORANGE = 11,//橙色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CYAN = 12,//青色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_PURPLE = 13,//紫色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_CHAMPAGNE = 14,//香槟

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_ITASHA = 15,//花色

DEVICE_NET_LPRC_VEHICLECOLOR_NEW_MAX

}DEVICE_NET_LPRC_VEHICLECOLOR_NEW;

结构定义:

/*黑白名单*/

#define DEVICE_NET_MAX_TIMESEG_NUMS (21)

typedef struct TagTimeSeg { /*时间段定义*/

//char weekDay; //星期几(1~7)

short startMin;

short offMin; //

}TTimeSeg;

typedef struct TagWhiteListInfo {

unsigned long long idx; //序号

char plateID[16]; //车牌号码, 汉字用gbk编码

unsigned int timeOnCreate; //创建时间

unsigned int timeEnable; //生效时间

unsigned int timeOverdue; //过期时间

char enable; //是否启用

char isBlack; //是否黑名单(0-白名单 1-黑名单)

DEVICE_NET_LPRC_PLATETYPE_NEW vehicleColor; //车辆颜色

DEVICE_NET_LPRC_PLATETYPE_NEW plateType; //车牌类型

char useTimeSeg; //是否使用时间段

TTimeSeg timeSeg[DEVICE_NET_MAX_TIMESEG_NUMS]; //时间段

int customerID; //客户ID

char vehicleRemark[32]; //车辆备注

}TWhiteListInfo;

/*查询黑白名单页*/

typedef struct TagNetQueryWhiteLists {

int pageIdx; //页码

char plateID[16]; //车牌号码

}TNetQueryWhiteLists;

typedef struct TagNetQueryWhiteLists_Ret {

int count; //黑白名单总记录数

TWhiteLists lists;

}TNetQueryWhiteLists_Ret;

MQTT配置

LPRYYDSClient_GetMqttPara

接口描述 获取MQTT设置
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_GetMqttPara(LPRYYDSClientHandle handle, TNetEncyptoPara* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[OUT] info 返回参数

返回值 1表示成功,0表示失败
约束

结构体定义:

//MQTT设置

typedef struct TagNetmqtt {

unsigned int mqEnable; // mq 使能

unsigned char serverip[128]; // mq 服务器IP 地址

unsigned char username[128]; // 登录时的用户名和密码

unsigned char password[128];

unsigned int qos; //qos

unsigned int keepalive; //保活心跳

unsigned int imguptupe; //图片上传类型 0 base64 1 oss

unsigned char endpoint[256];

unsigned char accessKeyId[256];

unsigned char accessKeySecret[256];

unsigned char bucketName[256];

unsigned char subTopic[10][64]; // mq 订阅地址 支持10个订阅地址

}TNetmqtt;

LPRYYDSClient_SetMqttPara

接口描述 设置MQTT参数
接口 __LPRCYYDS_API__ int __stdcall LPRYYDSClient_SetMqttPara(LPRYYDSClientHandle handle, TNetmqtt* value, TNetmqtt_Ret* info)
参数说明 [IN] handle由LPRYYDSClient_Open函数返回的句柄

[IN] value 设置的参数

[OUT] info 返回设置结果

返回值 1表示成功,0表示失败
约束

结构体定义:

//MQTT设置

typedef struct TagNetmqtt {

unsigned int mqEnable; // mq 使能 0关闭,1开启

unsigned char serverip[128]; // mq 服务器IP 地址 (带端口号,例如:locolhost:1883)

unsigned char username[128]; // 登录时的用户名和密码

unsigned char password[128];

unsigned int qos; //qos

unsigned int keepalive; //保活心跳

unsigned int imguptupe; //图片上传类型 0 base64 1 oss

unsigned char endpoint[256];

unsigned char accessKeyId[256];

unsigned char accessKeySecret[256];

unsigned char bucketName[256];

unsigned char subTopic[10][64]; // mq 订阅地址 支持10个订阅地址

}TNetmqtt;

typedef struct TagNetmqtt_Ret {

DEVICE_NET_RET ret;

}TNetmqtt_Ret;

停车技术员温馨提示:此处有惊喜!
© 版权声明
评论 抢沙发

请登录后发表评论

    暂无评论内容