二次开发接口文档
- 格式:doc
- 大小:434.80 KB
- 文档页数:18
NVR的SDK二次开发接口文档采购的海康NVR及IPC的产品需支持SDK版本在XXX上能够支持输出RTSP协议流以下SDK的接口是必须的1账号验证用户登录NVR:实现用户的认证功能,登录成功后,返回的用户ID作为其他功能操作的唯一标识。
1.1SDK初始化1)初始化SDK接口:NET_DVR_Init函数:BOOLNET_DVR_Init()参数:无返回值:TRUE表示成功,FALSE表示失败。
说明:调用设备网络SDK其他函数的前提。
2)释放SDK资源接口:NET_DVR_Cleanup函数:BOOLNET_DVR_Cleanup()参数:无返回值:TRUE表示成功,FALSE表示失败。
说明:在结束之前最后调用。
接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。
1.2NVR用户的认证/登录1)激活设备接口:NET_DVR_ActivateDevice函数:BOOLNET_DVR_ActivateDevice(char*sDVRIP,WORDwDVRPort,LPNET_DVR _ACTIVATECFGlpActivateCfg)参数:[in]sDVRIP 设备IP地址[in]wDVRPort设备端口[in]lpActivateCfg激活参数,包括激活使用的初始密码返回值:TRUE表示成功,FALSE表示失败。
接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。
说明:出厂设备需要先激活,然后再使用激活使用的初始密码登录设备。
2)IPServer或者DDNS域名解析,获取动态IP地址和端口号接口:NET_DVR_GetDVRIPByResolveSvr_EX函数:BOOLNET_DVR_GetDVRIPByResolveSvr_EX(char*sServerIP,WORDwServe rPort,BYTE*sDVRName,WORDwDVRNameLen,BYTE*sDVRSerialNumber,WOR DwDVRSerialLen,char*sGetIP,DWORD*dwPort)参数:[in]sServerIP 解析服务器的IP地址[in]wServerPort 解析服务器的端口号,IPServer解析服务器端口号为7071,HiDDNS服务器的端口号为80[in]sDVRName 设备名称[in]wDVRNameLen 设备名称的长度[in]sDVRSerialNumber 设备的序列号[in]wDVRSerialLen 设备序列号的长度[out]sGetIP 获取到的设备IP地址指针[out]dwPort 获取到的设备端口号指针返回值:TRUE表示成功,FALSE表示失败。
接口开发文档一、开发包目录结构1.1demo 文件夹包含了sdk 接口调用源代码,可供二次开发参考。
使用C++开发的MFC 程序。
1.2dll 文件夹包含了二次开发所需的所有动态库,demo 编译好的exe 文件需要放在该文件夹内才可以运行。
1.3include 文件夹包含了二次开发所需要的头文件。
1.4lib 文件夹包含了二次开发所需要的lib 静态库。
1.5DSS 二次开发指南(C++).pdf指导二次开发用户如何新建VS2005 工程运行demo 文件夹中的demo。
1.6dpsdk 开发包的程序版本信息。
1.7常见问题解答.pdf二次开发常见问题以及解决方式。
1.8大华平台SDK 开发手册(C++版).chm二次开发接口使用说明。
二、术语和缩略语1、DPSDK:DSS 平台二次开发SDK 包2、CMS:中心管理服务3、DMS:设备管理模块4、demo:程序示例(功能类似DSS 平台客户端)5、web 管理员端:在浏览器中输入DSS 平台的ip 即可打开管理员端6、CameraID:通道id,形如:$1$0$07、DeviceID:设备id三、Demo 操作方法运行demo把“demo/bin/”目录下面的3 个文件,如下图所示拷贝到“dll”文件夹下面,运行。
登陆平台图 1 登陆界面登陆界面如图 1 所示,其中: IP:DSS 平台ip 地址;端口:9000;用户名:web 管理员端配置的用户;密码:web管理员端配置的用户对应的密码。
点击“登录”按钮,登陆平台。
登陆成功的界面如图2 所示:1235图2 主界面上图选中的 5个模块分别是:1、组织树;2、实时视频;3、本地录像;4、云台操作;5、执行结果。
主界面功能介绍、组织树操作步骤:点击“加载所有组织结构”按钮加载组织结构是其他操作的前提,是为了获取 DSS平台上所有的设备信息。
、实时视频模块操作步骤:1)确保已经成功加载组织结构。
2)输入CamID(通道ID)。
二次开发接口说明目录短信二次接口技术 (2)支持多种操作体统:WINDOWS、LINUX、UNIX (2)支持多种开发语言: C#、VB、delphi、VC++、ASP、JAVA、.NET 等 (2)支持多种开发方式:Web Service、Http协议、数据库引擎 (2)Web Service接入模式 (3)注册接口Reg (3)更改密码UpPwd (4)修改注册信息 UpdReg (5)查询余额SelSum (6)发送短信 Send (7)群发短信 BatchSend (9)接收短信 Get (10)帐号充值 ChargeUp (12)注销 UnReg (13)彩信余额查询 BalanceMMs (14)群发彩信接口 BatchSendMMS (14)群发错误接口 GetReportFailMMS (15)彩信充值接口 ChargeUpMMS (15)彩信接收接口 GetMMS (16)彩信发送接口 SendMMS (16)代理商增减条数 AgentChangeAccount (17)代理商下面客户注册 AgentMakeAccount (17)Http接入模式 (18)注册接口Reg (18)更改密码UpPwd (18)修改注册信息 UpdReg (19)查询余额SelSum (19)发送短信 Send (20)接收短信 Get (21)帐号充值 ChargeUp (21)注销 UnReg (22)彩信查询余额 BalanceMMS (22)彩信群发接口 BatchSendMMS (22)彩信群发错误报告接口 GetReportFailMMS (23)彩信充值接口 ChargeUpMMS (24)彩信接收接口 GetMMS (24)彩信发送接口 SendMMS (24)代理商增减条数 AgentChangeAccount (25)代理商下面的客户注册 AgentMakeAccount (25)数据库接口 (26)Mobilesend消息发送表 (27)MobileGet消息接收表 (27)SQL脚本创建表代码: (28)MmsSEND消息发送表 (29)MmsGet消息接收表 (30)SQL脚本创建表代码: (30)短信二次接口技术随着移动商务应用和3G无线技术的加速普及和深入发展与用户需求的变化,短信用户群由时尚人群不断向企业、行业用户扩展。
Uniscope-二次开发文档APIUniscope Globe API 接口说明uniscope.globe空间方法:void createInterface (object div, function onCreated, function onCreateFail);参数: div: 控件创建的位置onCreated:创建成功响应的方法onCreateFail:创建失败响应的方法功能:创建一个新的Globe方法:void addEventListener (object targetObject, string eventID, function callbackListener); 参数: targetObject: 事件的触发者eventID:触发事件IDcallbackListener:响应事件的方法功能:添加一个全局事件方法:void removeEventListener(object targetObject, string eventID, function callbackListener); 参数: targetObject: 事件的触发者eventID:触发事件IDcallbackListener:响应事件的方法功能:移除一个全局事件属性:poiClickedHandler类型:eventHandler功能:poi被点击时触发的事件句柄属性:documentChangedHandler类型:eventHandler功能:文档被修改时触发的事件句柄uniscope.globe.measure方法:void clearResult();参数:无功能:清除所有的测量结果方法:void lineLength (function callbackOnResult);参数:callbackOnResult: 测量完成的响应函数功能:进行空间直线距离的测量功能:挖填方分析方法:void lineOfSight(double srcHeight, double destHeight, String pointString, function callbackOnResult );参数: srcHeight: 原始点的相对高度destHeight: 目标点的相对高度pointString: 视线的顶点集callbackOnResult: 完成后的回调函数功能:挖填方分析uniscope.search方法:void createInterface( String serverUrl);参数:serverUrl:服务的路径功能:uniscope.search初始化方法:void getPoiByKeyword(String keyword, String cityName, int pageIndex, int pageLength, function callbackOnResult );参数: keyword: 查询关键字cityName: 城市名pageIndex: 显示页号pageLength: 每页条数callbackOnResult: 完成后的回调函数功能:POI关键字查询方法:void getPoiByRect(String keyword, String cityName, double north, double south,double east, double west, int pageIndex, int pageLength, function callbackOnResult );参数: keyword: 查询关键字cityName: 城市名north, south, east, west: 矩形的参数pageIndex: 显示页号pageLength: 每页条数callbackOnResult: 完成后的回调函数功能:POI关键字查询方法:void getPoiByCircle(String keyword,String cityName, double centerLon, double centerLat, double radius, int pageIndex, int pageLength, function callbackOnResult );参数: keyword: 查询关键字cityName: 城市名centerLon: 圆形区域中心点经度centerLat: 圆形区域中心点纬度radius: 圆形区域半径pageIndex: 显示页号pageLength: 每页条数callbackOnResult: 完成后的回调函数功能:POI圆形区域查询方法:void getBuildingByKeyword(String keyword, String cityName, int pageIndex, int pageLength, function callbackOnResult );参数: keyword: 查询关键字cityName: 城市名pageIndex: 显示页号pageLength: 每页条数callbackOnResult: 完成后的回调函数功能:Building关键字查询方法:void getBuildingByRect(String keyword, String cityName, double north, double south, double east, double west, int pageIndex, int pageLength, function callbackOnResult );参数: keyword: 查询关键字cityName: 城市名north, south, east, west: 矩形的参数pageIndex: 显示页号pageLength: 每页条数callbackOnResult: 完成后的回调函数功能:Building矩形区域查询方法:void getBuildingByCircle(String keyword,String cityName, double centerLon, double centerLat, double radius, int pageIndex, int pageLength, function callbackOnResult );参数: keyword: 查询关键字cityName: 城市名centerLon: 圆形区域中心点经度centerLat: 圆形区域中心点纬度radius: 圆形区域半径pageIndex: 显示页号pageLength: 每页条数callbackOnResult: 完成后的回调函数功能:Building圆形区域查询方法:void getBuildingByPoint(String keyword,String cityName, double ptLon, double ptLat, int pageIndex, int pageLength, function callbackOnResult );参数: keyword: 查询关键字cityName: 城市名ptLon: 经度ptLat: 纬度pageIndex: 显示页号pageLength: 每页条数callbackOnResult: 完成后的回调函数功能:Building点选查询eventHandler对象方法:void addEventHandler(object targetObject, function callbackListener);参数: targetObject: 事件的触发者(可设置为null)callbackListener:响应事件的方法功能:添加一个响应函数方法:void removeEventHandler(object targetObject, function callbackListener); 参数: targetObject: 事件的触发者(可设置为null)callbackListener:响应事件的方法功能:移除一个响应函数方法:void clearEventHandler();参数: targetObject: 事件的触发者(可设置为null)callbackListener:响应事件的方法功能:清除所有的响应函数方法:void notifyEvent(object argument);参数:argument: 参数功能:触发事件IUSEarth对象属性:ImageLayers类型:IUSLayers功能:获得Image 图层的集合属性:ModelLayers类型:IUSLayers功能:获得Model图层的集合属性:POILayers类型:IUSLayers属性:VectorLayers:类型:IUSLayers功能:获得Vector 图层的集合属性:UserDocument类型:IUSUserDocument功能:获得用户数据文档属性:GlobeObserver类型:IUSGlobeObserver功能:获得摄像机属性:TrackControl类型:IUSTrackControl功能:获得飞行路线控制器属性:Factory类型:IUSFactory功能:对象工厂属性:Measure类型:IUSMeasure功能:测量模块属性:ShapeCreator类型:IUSShapeCreator功能:几何对象创建属性:Paint类型:IUSPaint功能:绘制简单几何图形的接口属性:HtmlBalloon类型:IUSHtmlBalloon功能:HTML弹出气泡属性:Event类型:IUSEvent功能:事件模块属性:RootPath类型:StringIUSLayers接口属性:Count类型:Int功能:获得图层的数量属性:Item类型:IUSLayer功能:获得某一图层;IUSLayer接口属性:Name类型:String功能:获得图层的名字属性:Visible类型:Boolean功能:获得/设置图层的可见性IUSUserDocument接口方法:void ImportXmlString(String xmlString, bool bAsync);参数:xmlString: 导入的XmlStringbAsync: 是否异步读入功能:将一个XmlString导入USEarth中方法:String LoadXmlFile(String xmlFilePath);参数:xmlFilePath: 文件的路径功能:从本地文件中读入xmlString方法:void SaveXmlFile(String xmlFilePath, String xmlString); 参数:xmlFilePath: 文件的路径xmlString: 需要写入的xmlString功能:将xmlString写入本地文件中方法:void DeleteXmlFile (String xmlFilePath); 参数: xmlFilePath: 文件的路径功能:删除本地文件中的xml方法:void DeleteXmlFile (String xmlFilePath); 参数: xmlFilePath: 文件的路径功能:删除本地文件中的xml IUSGlobeObserver接口方法:void Forward();参数:无功能:视点向前移动方法:void Backward();参数:无功能:视点向后移动方法:void MoveLeft();参数:无功能:视点向左移动方法:void MoveRight();参数:无功能:视点向右移动方法:void TurnLeft();参数:无功能:视点向左旋转方法:void TurnRight();参数:无功能:视点向右旋转方法:void LookUp();参数:无功能:视点向上旋转方法:void LookDown();参数:无功能:视点向下旋转方法:void ZoomIn();参数:无功能:视点靠近目标点方法:void ZoomOut();参数:无功能:视点远离目标点方法:void Resume();参数:无功能:视点返回全球状态方法:void NorthView();参数:无功能:视点返回到正北姿态方法:void TopView();参数:无功能:视点返回到顶视姿态方法:void Stop();参数:无功能:停止当前视点的运动状态方法:void FlyTo( double lon, double lat, double alt, double heading, double tilt, double range); 参数: lon: 目标点经度lat: 目标的纬度alt: 目标点高程heading: 朝向(与正北方向的夹角 0 <= heading <= 360 )tilt: 俯仰(垂直指向地心方向的射线的夹角。
二次开发文档介绍
一、程序简介二次开发文档是一种软件开发中常用的技术文档,它主
要是为了提供给程序的开发人员更加详细的程序规范、开发工具、程序架
构以及相关的详细说明等等,为程序开发人员提供统一的开发指南。
二、
二次开发文档的内容1、程序的结构说明:主要包括程序的整体架构、流
程模型、功能模型、数据模型等;2、程序的功能说明:主要描述程序实
现的功能及其功能性;3、程序的开发工具:主要说明程序开发所需要使
用的相关工具,以及如何使用;4、程序开发环境:主要介绍程序开发所
需要的软件环境、配置及相关文件;5、接口文档:主要包括程序与其他
程序、数据库之间的接口文档;6、安全文档:主要包括程序的安全设置、安全策略等;7、测试文档:主要包括程序的测试计划、测试环境、测试
用例、测试方法等。
三、二次开发文档的用途二次开发文档主要作为技术
文档使用,有助于程序开发过程中的更高级功能模块的把控和控制,在把
控这个模块的各个方面的同时,也能帮助开发人员更快的完成程序的开发、测试和维护等等。
NVR的SKD二次开发接口文档NVR的SDK二次开发接口文档采购的海康NVR及IPC的产品需支持SDK版本在XXX上能够支持输出RTSP协议流以下SDK 的接口是必须的 1 账号验证用户登录NVR:实现用户的认证功能,登录成功后,返回的用户ID 作为其他功能操作的唯一标识。
SDK初始化1) 初始化SDK 接口:NET_DVR_Init 函数:BOOL NET_DVR_Init() 参数:无返回值:TRUE 表示成功,FALSE 表示失败。
说明:调用设备网络SDK 其他函数的前提。
2) 释放SDK 资源接口:NET_DVR_Cleanup 函数:BOOL NET_DVR_Cleanup() 参数:无返回值:TRUE 表示成功,FALSE 表示失败。
说明:在结束之前最后调用。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
NVR用户的认证/登录1) 激活设备接口:NET_DVR_ActivateDevice 函数:BOOL NET_DVR_ActivateDevice(char* sDVRIP, WORD wDVRPort, LPNET_DVR_ACTIV ATECFGlpActivate Cfg) 参数:[in]sDVRIP 设备IP 地址[in]wDVRPort 设备端口[in]lpActivateCfg 激活参数,包括激活使用的初始密码返回值:TRUE 表示成功,FALSE 表示失败。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
说明:出厂设备需要先激活,然后再使用激活使用的初始密码登录设备。
2) IPServer 或者DDNS 域名解析,获取动态IP 地址和端口号接口:NET_DVR_GetDVRIPByResolveSvr_EX 函数:BOOL NET_DVR_GetDVRIPByResolveSvr_EX (char* sServerIP, WORD wServerPort, BYTE* sDVRName, WORDwDVRNameLen, BYTE* sDVRSerialNumber, WORD wDVRSerialLen, char* sGetIP, DWORD* dwPort) 参数:[in]sServerIP 解析服务器的IP 地址[in]wServerPort 解析服务器的端口号,IP Server 解析服务器端口号为7071,HiDDNS 服务器的端口号为80 [in]sDVRName 设备名称[in]wDVRNameLen 设备名称的长度[in]sDVRSerialNumber 设备的序列号[in]wDVRSerialLen 设备序列号的长度[out]sGetIP 获取到的设备IP 地址指针[out]dwPort 获取到的设备端口号指针返回值:TRUE 表示成功,FALSE 表示失败。
NVR的SDK二次开发接口文档采购的海康NVR及IPC的产品需支持SDK版本在XXX上能够支持输出RTSP协议流以下SDK的接口是必须的1账号验证用户登录NVR:实现用户的认证功能,登录成功后,返回的用户ID 作为其他功能操作的唯一标识。
1.1SDK初始化1)初始化SDK接口:NET_DVR_Init函数: BOOL NET_DVR_Init()参数:无返回值: TRUE 表示成功,FALSE 表示失败。
说明:调用设备网络SDK 其他函数的前提。
2)释放SDK 资源接口:NET_DVR_Cleanup函数: BOOL NET_DVR_Cleanup()参数:无返回值: TRUE 表示成功,FALSE 表示失败。
说明:在结束之前最后调用。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
1.2NVR用户的认证/登录1)激活设备接口:NET_DVR_ActivateDevice函数:BOOL NET_DVR_ActivateDevice(char* sDVRIP, WORD wDVRPort, LPNET_DVR_ACTIVATECFGlpActivateCfg)参数:[in]sDVRIP 设备IP 地址[in]wDVRPort 设备端口[in]lpActivateCfg 激活参数,包括激活使用的初始密码返回值: TRUE 表示成功,FALSE 表示失败。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
说明:出厂设备需要先激活,然后再使用激活使用的初始密码登录设备。
2)IPServer 或者DDNS 域名解析,获取动态IP 地址和端口号接口:NET_DVR_GetDVRIPByResolveSvr_EX函数:BOOL NET_DVR_GetDVRIPByResolveSvr_EX (char* sServerIP, WORD wServerPort, BYTE* sDVRName, WORD wDVRNameLen, BYTE* sDVRSerialNumber, WORD wDVRSerialLen,char* sGetIP, DWORD* dwPort)参数:[in]sServerIP 解析服务器的IP 地址[in]wServerPort 解析服务器的端口号,IP Server 解析服务器端口号为7071,HiDDNS 服务器的端口号为80[in]sDVRName 设备名称[in]wDVRNameLen 设备名称的长度[in]sDVRSerialNumber 设备的序列号[in]wDVRSerialLen 设备序列号的长度[out]sGetIP 获取到的设备IP 地址指针[out]dwPort 获取到的设备端口号指针返回值: TRUE 表示成功,FALSE 表示失败。
FreeCMS商业版二次开发文档目录1、文档概述 (1)1.1文档的建立 (1)1.2文档的目标 (1)2、FREECMS二次开发概述 (2)2.1概述 (2)2.2系统目录框架 (3)2.3搭建开发环境 (4)3、后台功能开发 (10)3.1后台菜单项配置 (10)3.2后台功能开发 (10)4、前台模板开发 (16)4.1基本概念 (16)4.2模板制作流程 (19)4.3开发模板标签 (20)FreeCMS商业版二次开发文档1、文档概述1.1 文档的建立✓本文档是专门针对FreeCMS商业版产品的二次开发而编写的指导性手册;它从后台功能配置、前台模板开发和二次开发所需的接口三个方面详细阐述了有关二次开发中所涉及的问题。
✓本文档是由FreeCMS产品开发组共同建立和维护的。
在实际的应用中,FreeCMS 开发组有义务不断更新和补充完善本文档。
1.2 文档的目标本文档旨在解决以下问题:✓如何应用和扩展FreeCMS体系;✓如何对后台权限及后台功能菜单等进行配置;✓如何利用模板机制开发集成所需功能;✓如何使用FreeCMS系统提供的二次开发接口。
2、FreeCMS二次开发概述2.1 概述本文档假设您熟悉java开发及相关开发工具的使用。
FreeCMS主要使用的技术有:mybatis3、spring、spring mvc、freemaker、jquery、jsp。
FreeCMS是作为一个开放的平台设计的,遵从以下几个原则:1.可自由配置无论前台页面还是后台功能,系统都坚持可配置的原则,后台管理菜单项可以通过简单的配置自定义。
第三章将详细介绍如何配置各功能项。
2.数据与显示分离后台录入的数据与前台显示的样式分离已经成为网站建设者的共识,分离能够随意更改数据或者界面而不影响到另一方。
FreeCMS通过强大模板机制将数据与显示结合在一起,同时能够将二次开发的功能加入模板中。
第四章将详细介绍如何实现。
3.提供丰富的二次开发接口通过二次开发接口,FreeCMS使用者能够方便的获取系统数据、集成相关功能。
浪潮堡垒机二次开发文档一、引言浪潮堡垒机是一款用于服务器安全管理的产品,通过实现对服务器的统一管理、堡垒机认证授权、安全审计等功能,提升了服务器的安全性和管理效率。
然而,对于一些特定的企业或个人用户来说,浪潮堡垒机的原生功能可能无法完全满足其需求。
因此,浪潮堡垒机提供了二次开发接口,允许用户根据自身需求进行定制开发,以实现更加个性化的功能。
二、二次开发接口概述浪潮堡垒机的二次开发接口主要包括以下几个方面的功能:1. 用户认证接口:通过该接口可以扩展堡垒机的用户认证方式,实现自定义的认证逻辑,如与企业内部的用户管理系统对接。
2. 授权管理接口:通过该接口可以自定义授权策略,实现对用户的权限精细控制,包括命令控制、文件传输控制等。
3. 安全审计接口:通过该接口可以自定义审计规则,实现对堡垒机用户行为的审计,并将审计结果进行存储或导出。
4. 事件通知接口:通过该接口可以实现对堡垒机事件的监听和通知,例如用户登录、授权变更等。
三、二次开发流程1. 环境搭建:首先需要在开发环境中搭建好浪潮堡垒机的二次开发环境,包括安装相关开发工具和配置开发环境。
2. 接口调研:根据自身需求,对浪潮堡垒机提供的二次开发接口进行调研,了解接口的功能和使用方式。
3. 接口设计:根据需求设计接口的调用方式和参数传递规则,同时考虑接口的安全性和稳定性。
4. 开发实现:根据接口设计,进行具体的开发实现工作,包括编写代码、进行单元测试和集成测试等。
5. 调试优化:在开发完成后,进行测试和调试工作,保证二次开发功能的正确性和稳定性。
6. 部署上线:将开发完成的二次开发功能部署到正式环境中,进行线上测试和用户使用。
四、常见二次开发应用场景1. 用户认证方式扩展:通过二次开发,可以实现与企业内部用户管理系统的对接,实现单点登录或统一身份认证。
2. 权限精细控制:通过二次开发,可以实现对用户的权限进行更加精细的控制,例如根据用户角色、IP地址等进行权限控制。
⼆次开发接⼝说明V3.01.概述精伦电⼦开发的⼆代⾝份证读卡系列机具适⽤于相关⾏业的联机型应⽤。
产品提供了完善的⼆次软件开发接⼝(API)。
本⼿册对开发接⼝的⽂件组成、函数定义格式、调⽤⽅法及返回值等进⾏详细的说明。
本通⽤开发包⽀持的设备型号如下:1、iDR200(串⼝和USB⼝)。
2、iDR320(必须进⼊“同步应⽤”模式)。
3、iDR400-1(必须进⼊“同步”模式)。
4、iDR210(USB-HID免驱动接⼝)。
5、iDR210(串⼝)。
注意:完全兼容原2.0版本开发接⼝,⽀持USB-HID接⼝和串⼝的iDR210。
1、如果使⽤原开发包采⽤动态调⽤dll⽅式,只需直接替换原dll即可。
2、如果使⽤原开发包采⽤的静态调⽤⽅式,则在不改变代码的情况下,对原程序重新编译链接即可。
2.系统要求使⽤本API的PC机,必须满⾜下列条件:●Windows 98、Windows 2000 Pro、Windows 2000 Server、Windows XP。
●⾄少32兆内存(32M RAM or Larger)。
●⾄少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)。
●⾄少⼀个空闲普通串⼝或USB⼝(视⽤户需求⽽定)。
3.接⼝⽂件说明接⼝⽂件包括:Dewlt.dll 相关动态联接库sdtapi.dll 相关动态联接库JpgDll.dll 相关动态联接库SavePhoto.dll 相关动态联接库sdtapi.h 相关动态联接库头⽂件适⽤开发语⾔:Visual C++ 5.0 及以后版本C++ Builder 5.0 及以后版本Visual Basic 5.0 及以后版本Delphi 3.0 及以后版本PowerBuilder 5.0 及以后版本4.接⼝函数说明4.1.端⼝函数4.1.1.端⼝初始化函数原型:int InitComm (int iPort)说明:本函数⽤于打开串⼝或USB并检测读卡设备是否就绪。
接口开发文档一、开发包目录结构1.1demo 文件夹包含了sdk 接口调用源代码,可供二次开发参考。
使用 C++开发的 MFC 程序。
1.2dll 文件夹包含了二次开发所需的所有动态库,demo 编译好的e xe 文件需要放在该文件夹才可以运行。
1.3include 文件夹包含了二次开发所需要的头文件。
1.4lib 文件夹包含了二次开发所需要的l ib 静态库。
1.5DSS 二次开发指南(C++).pdf指导二次开发用户如何新建V S2005 工程运行d emo 文件夹中的d emo。
1.6Version.xmldpsdk 开发包的程序版本信息。
1.7常见问题解答.pdf二次开发常见问题以及解决方式。
1.8大华平台S DK 开发手册(C++版).chm二次开发接口使用说明。
二、术语和缩略语1、D PSDK:DSS 平台二次开发S DK 包2、C MS:中心管理服务3、D MS:设备管理模块4、d emo:程序示例(功能类似D SS 平台客户端)5、w eb 管理员端:在浏览器中输入D SS 平台的i p 即可打开管理员端6、C ameraID:通道i d,形如:10000010$1$0$07、D eviceID:设备i d三、Demo 操作方法3.1 运行d emo把“demo/bin/”目录下面的3个文件,如下图所示3.2 登陆平台登陆界面如图 1 所示,其中: IP:DSS 平台ip 地址;端口:9000;用户名:web 管理员端配置的用户;密码:web管理员端配置的用户对应的密码。
点击“登录”按钮,登陆平台。
登陆成功的界面如图2所示:1235图2主界面上图选中的 5个模块分别是:1、组织树;2、实时视频;3、本地录像;4、云台操作;5、执行结果。
3.3 主界面功能介绍3.3.1、组织树操作步骤:点击“加载所有组织结构”按钮加载组织结构是其他操作的前提,是为了获取 DSS平台上所有的设备信息。
3.3.2、实时视频模块操作步骤:1)确保已经成功加载组织结构。
2)输入C amID(通道I D)。
3)点击“打开视频”按钮,即可打开视频。
如果打开视频失败会在“模块5”的位置提示错误码。
注释1:CamID(通道I D)的获取方式有1)展开模块1组织树,寻找到对应的编码器通道,即可看到该通道对应的通道I D;2)登陆w eb 管理员端,选择基本配置-设备管理-编码器界面,看到“编码”列给出的是“设备I D”。
使用设备I D 组成通道I D 即:设备I D$1$0$0。
$1代表编码器,$0 代表单元序号,默认为0,$0 代表通道号。
具体信息参考“常见问题解答”。
3.3.3、本地录像模块操作步骤:1)确保已经成功加载组织结构。
2)确保已经成功打开实时视频。
3)点击“开始录像”按钮即可开始本地录像。
在打开实时视频以后可以录像,并保存到本地磁盘。
3.3.4、云台控制模块操作步骤:1)确保已经成功加载组织结构。
2)确保已经成功打开实时视频。
打开实时视频以后,针对球机设备可以操作八方向、调节球机镜头、设置预置点等。
3.3.5、执行结果模块将所有操作的结果输出。
并输出对应的操作失败错误码。
3.4 回放界面功能介绍3.4.1 录像查询操作步骤:1)确保已经成功加载组织结构。
2)输入CameraID(通道ID)。
3)选择查询的开始和结束时间。
4)选择录像来源。
5)选择录像类型。
点击“查询录像”按钮查询录像。
3.4.2 录像回放操作步骤:1)确保已经成功加载组织结构。
2)确保已经查询到录像文件。
3)选中录像文件,点击“按文件回放”按钮。
3.4.2 录像下载操作步骤:1)确保已经成功加载组织结构。
2)确保已经查询到录像文件。
3)选中录像文件,点击“按文件下载”按钮。
3.5 报警功能3.5.1 查询报警操作步骤:1)确保已经成功加载组织结构。
2)输入 CamID(通道 ID)。
3)选择报警类型,点击“查询”按钮。
需要注意的是查询视频类报警(即:视频丢失/移动侦测/视频遮挡)时 CamID 为1000001$1$0$0,查询其他报警(除上述3种报警类型)的时候C amID 为1000001$3$0$0。
因为视频类报警是由“视频通道”产生,其他报警是由“报警输入通道”产生。
3.5.2 报警布控操作步骤:1)确保已经成功加载组织结构。
2)输入设备ID。
3)输入通道号,(视频类报警使用“视频通道号”,其他报警使用“报警通道号”)。
4)选择报警类型,点击“布控”按钮即可。
注释:视频类报警类型包含1)视频丢失 2)移动侦测 3)视频遮挡。
3.6 语音对讲3.6.1 打开语音对讲操作步骤:1)确保已经成功加载组织结构。
2)输入 CamID(通道 ID),选择对讲参数, 3)点击“开始语音对讲”按钮。
如果参数错误会弹窗提示正确参数信息。
3.6.2 关闭语音对讲操作步骤:1)确保已经成功打开语音对讲。
2)点击“根据序列号停止语音对讲”或者“根据通道号停止语音对讲”按钮。
3.7 电视墙目前Demo不能新建电视墙任务,只能获取平台配置好的电视墙信息。
电视墙的任务需要在平台客户端添加。
3.7.1 电视墙操作操作步骤:1)确保已经成功加载组织树。
2)点击“获取电视墙总数”按钮。
3)点击“获取电视墙信息”按钮。
4)选择电视墙ID。
5)点击“获取电视墙布局”按钮。
即可显示电视墙对应的屏幕分割信息。
上图显示ID 为3 的电视墙的名字是tt 状态是1(代表启用)。
电视墙有4 块屏幕,屏i d、屏名称、屏坐标、是否绑定解码器(1_1000943 代表绑定解码器,解码器id 为1000943)。
3.7.2 屏幕分割和开窗操作操作步骤:1)确保已经成功获取到电视墙屏幕信息。
2)选择一个屏幕。
3)执行分割和开窗操作。
所有的融合屏<NVD 除外>都只做开窗。
非融合和融合的NVD 都只做分割。
开窗操作(left,上)代表窗口左上角坐标,width 和H eight 代表宽和高的比例,围是0-100。
例如:(left,上)为(0,0);(width,Height)为(50,50)。
3.7.3 设置视频源操作操作步骤:1)确保已经成功获取到电视墙屏幕信息。
2)输入编码器通道 ID。
3)输入窗口号(分割和开窗操作的窗口号从0开始)。
4)点击“设置”按钮。
5)点击“关闭”按钮清除窗口视频源。
6)点击“清屏”按钮清除所有屏幕上的窗口和视频源。
四、常见问题1 概述本文档列出了使用大华 SDK 进行二次开发时出现的常见问题以及对应的解决方法。
方便第三方开发者快速定位问题,提高二次开发效率。
2 问题列表2.1 W ebDemo 问题汇总2.1.1 在I E 浏览器中打开w ebDemo 视频窗口显示因为没有注册o cx。
在o cx 文件夹中双击r eg.bat 只有提示注册成功才可以。
2.2 O CX 控件问题汇总2.2.1 OCX 无法注册1、OCX控件时微软推出已久的技术,其注册方法及出错原因可在微软官方文档上查询,或者可以自行在网上查找解决方法。
OCX 注册问题本不属于D PSDK支持畴。
2、不过我们还是提供一些建议,以便您快速排除问题:(1)用“管理员权限”打开“开始”-“附件”-“命令提示符”,输入“regsvr32 ocx 的全路径”即可。
(2)我们提供的OCX 控件是32 位程序,请确保系统有32 位兼容库,具体判断方法为C:\Windows\SysWOW64 这个文件夹下是否有“regsvr32.exe”这个文件,若没有,请重新安装系统。
若有,请按(1)中的方式打开命令提示符,输入“c:\windows\SysWOW64\regsvr32ocx 全路径”即可,如“c:\windows\SysWOW64\regsvr32Z:\DPSDK_OCX\ocx\DPSDK_OCX.ocx ”如以上 2 点仍然没有能够成功注册,请在网上,根据自己的系统信息自行搜索解决方案。
3、在注册d ll 或者o cx 的时候,经常会遇到这么一个问题:模块已加载,但对d llregisterServer的调用失败,错误代码为0x8004*****解决方法:在批处理的第一行加入:cd /d %~dp0 然后在批处理上右键选择使用管理员权限运行4、Windows7 出现:应用程序无法启动,因为应用程序的并行配置不正确有关详细信息,请参阅应用程序事件日志,或使用命令行s xstrace.exe 工具。
”解决方法:出现这个问题是因为安装windows7 后,或使用ghost 版本安装后,windows7没有安装V isual C++ 库,而有些软件需要V isual C++ 库所以到微软官方下载:Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) 下载:.microsoft./downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=zh- 安装2.2.2 64 位系统下O CX 无法使用目前O CX 控件只有32 位的程序,所以在64 位系统下,需要下载32 位的I E,用32 位的I E加载O CX 控件即可。
2.2.3 Ocx 注册成功但是在页面加载失败运行I E,工具->Internet 选项->安全,确保I nternet 和本地I ntranet 和可信站点的自定义级别中的A ctiveX 选项都不是禁止状态,将禁止状态改为提示状态。
2.2.4 Ocx 开发包d emo 程序运行不起来DPSDK_OCX.ocx 未注册,可以采用一下两种方法注册:运行->CMD,regsvr32 DPSDK_OCX.ocx 绝对路径运行o cx 开发包文件夹里面的r eg.bat 批处理,注意:DPSDK_OCX.ocx 必须要和r eg.bat 放在同一个路径。
如果仍旧注册失败需要安装 vs 发布包,vcredist_x86.exe,可以从微软官网上直接下载2.2.5 如何获通道I D(CameraID)在浏览器输入 DSS 平台的 ip 打开 web 管理员端,用管理员身份登录平台,找到“基本设置”-“设备管理”-“编码器”页面的“编码”列是所有的设备ID。
而CameraID 的格式为:"设备 ID$1$0$通道号",如设备 ID 为“1000000”,且设备下有 3 个视频通道,那么这 3 个CameraID 为"1000000$1$0$0"、"1000000$1$0$1"、"1000000$1$0$2"。