目录
最近在做一个项目,是需要对接大华设备sdk,并且使用小程序形式调用sdk,这就需要用到设备功能中的主动注册,将设备注册到我们的服务器上才可以进行设备的接口调用来操作设备。项目前端为uniapp,后端采用springboot。
这里主要记录对接sdk过程中的心得和经验以及遇到的一些小问题。
源码地址:大华sdk主动注册springboot工程,示例源码https://download.csdn.net/download/weixin_47315082/88115277
1、sdk下载
下载地址:https://support.dahuatech.com/tools/sdkExploit
2、文件说明
sdk结构如图所示,可以选择在此基础上二次开发,也可以复制到自己的工程中,或者直接打成jar包引用,我的项目业务代码较多,就将需要用到的放到自己工程中了,详细可以看第四步。
doc中包含说明文档跟开发文档,开发前一定详细阅读,里面有介绍设备设置以及接入流程之类的。libs与res则是依赖包,不需要改动。src中common与lib也是依赖包,不需要改动,demo是示例,里面内置了大量的示例方法可以提供参考,很有作用。
3、文档解读
(1)初始化
初始化是SDK 进行各种业务的第一步。初始化本身不包含监控业务,但会设置一些影响全局业务的参数。
注意:
1)SDK 的初始化将会占用一定的内存。
2)同一个进程内,只有第一次初始化有效。
3)使用完毕后需要调用 SDK 清理接口以释放资源。
本次项目是单体工程,只在项目启动时调用启动类方法来初始化一次SDK,并且在项目关闭时调用SDK清理接口。
(2)主动注册功能
SDK文档是通用文档,可自行根据设备提供的地址(不同设备可能不同)在大华官网下载使用说明。
参考:
1)大华门禁快速操作手册.pdf https://download.csdn.net/download/weixin_47315082/87963799https://download.csdn.net/download/weixin_47315082/87963799 2)大华门禁使用说明书.pdf https://download.csdn.net/download/weixin_47315082/87963794
https://download.csdn.net/download/weixin_47315082/87963794 主动注册,指的是设备主动注册到服务器,向用户指定的服务器汇报当前设备网络所在位置,方便服务器客户端软件访问设备。
NetSDK 主动注册主要用于解决诸如公网服务器无法搜索内网设备等网络限制问题,或是设备端IP 不固定的情况(例如,设备处于4G 网络或者Wi-Fi 网络时IP 可能不固定)。同时也有利于监
听服务器高效配置设备,实现应用场景的快速实现或恢复。
文档中的主动注册说明,是对demo中的主动注册示例进行说明,实际开发中可不需要这么复杂,根据项目情况进行选择,比如我的项目只需要在设备上进行配置,然后服务器上只需要开启监听,然后登录设备即可,后续再完善其他业务,流程图参考如下:
这里监听可以跟初始化一样,项目启动之后只开启一次监听,因为所有设备的操作都必须在监听条件下完成,因此中途不能停止监听(已踩过坑,停止之后会导致业务执行失败)。
(3)主动注册设置
主动注册配置,即对设备的主动注册信息进行配置,包括配置主动注册使能、设备ID 和要注册到的平台的IP 地址等。
设备开启之后,自行进行初始化、登录等操作,这里不再详细说明,管理员账号密码必须牢记,后续调用主动注册接口会用到。
步骤1 登录设备WEB界面。
步骤2 选择“网络设置 > 主动注册”。
步骤3 选择“启用”,输入“主机IP”、“端口”和“子设备ID”。
步骤4 单击