当前位置: 首页 > news >正文

门户网站建设的请示有什么有趣的网站

门户网站建设的请示,有什么有趣的网站,wordpress视频教程式,怎么开通微信小程序商店记录一下使用Java的SpringBoot大华SDK在智慧公厕项目中使大华惠智双目半球网络摄像机DH-IPC-HD4140X-E2获取人流量统计数据 首先根据说明书登录摄像头#xff0c;一般摄像头都有自己的账号和密码(可能是admin admin 也可能是admin 888888 还有可能是admin 12345)#xff0c;…记录一下使用Java的SpringBoot大华SDK在智慧公厕项目中使大华惠智双目半球网络摄像机DH-IPC-HD4140X-E2获取人流量统计数据 首先根据说明书登录摄像头一般摄像头都有自己的账号和密码(可能是admin admin 也可能是admin 888888 还有可能是admin 12345)有IP的(可能是192.168.1.108)在同一个网段内浏览器访问摄像头的IP就可以访问web页面 使用windows系统自带的浏览器Microsoft Edge 谷歌浏览器也可以主要是要安装插件 下载安装插件(如果电脑之前安装过就可以不用安装) 安装完成之后 重启浏览器登录(更保险) 可能有提示要加载那就允许 设置人流量统计的相关参数 首先在设置 智能方案里把图标点亮 在设置-人数统计里选择人数统计 绘制区域和绘制方向线 绘制区域表示人流统计的区域只有这个区域内的才统计的绘制方向线这个默认是入的方向线 参数设置进入和离开人数需要打钩灵敏度这个的配置需要根据实际来确认 人数统计报警的进入人数和离开人数需要设置成1滞留人数不需要设置(这样用程序去监听的时候就能被动获取报警数据) 布撤防配置 标定配置 安装高度和安装角度 自动维护配置 这个很关键必须要配置不然这个摄像头运行时间过长会被卡死的可能是数据满了 网络设置 根据实际需求设置IP地址 首先去官网拿到开发需要的SDK https://support.dahuatech.com/tools/sdkExploit 新建一个SpringBoot项目后调用sdk在这里使用的是win10 64位的sdk需要重新封装去除gui方面的那部分代码 SpringBoot调用sdk的核心代码 DaHuaConstantConfig .java public class DaHuaConstantConfig {// 摄像头的IP地址public static final String DA_HUA_IP 192.168.1.108;// 摄像头的获取人流数据的端口是37777 不是80端口 这里有坑public static final int DA_HUA_PORT 37777;// 登录的账号public static final String DA_HUA_ADMIN admin;// 登录的密码public static final String DA_HUA_PASSWORD admin;// 通道 默认0public static final int DA_HUA_SUB_CHANNEL 0;// 登录状态 默认false 当登录成功后truepublic static boolean DA_HUA_LOGIN_STATE false;// 自定义状态public static boolean DA_HUA_SUB_STATE false; } DaHuaDisConnectCallBack.java import com.netsdk.lib.NetSDKLib; import com.sun.jna.Pointer; import org.slf4j.Logger; import org.slf4j.LoggerFactory;// 设备断线回调: 通过 CLIENT_Init 设置该回调函数当设备出现断线时SDK会调用该函数public class DaHuaDisConnectCallBack implements NetSDKLib.fDisConnect {private final Logger log LoggerFactory.getLogger(this.getClass());public void invoke(NetSDKLib.LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) {log.error(Device:pchDVRIPPort:nDVRPort-DisConnectCallBack);DaHuaConstantConfig.DA_HUA_LOGIN_STATE false;DaHuaConstantConfig.DA_HUA_SUB_STATE false;// 断线提示}} DaHuaHaveReConnectCallBack.java import com.netsdk.demo.module.VideoStateSummaryModule; import com.netsdk.lib.NetSDKLib; import com.sun.jna.Pointer; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;// 网络连接恢复设备重连成功回调 // 通过 CLIENT_SetAutoReconnect 设置该回调函数当已断线的设备重连成功时SDK会调用该函数public class DaHuaHaveReConnectCallBack implements NetSDKLib.fHaveReConnect {private final Logger log LoggerFactory.getLogger(this.getClass());public void invoke(NetSDKLib.LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) {log.error(ReConnect Device[%s] Port[%d]\n, pchDVRIP, nDVRPort);DaHuaConstantConfig.DA_HUA_LOGIN_STATE true;// 断线后需要重新订阅ExecutorService service Executors.newSingleThreadExecutor();service.execute(new Runnable() {Overridepublic void run() {log.warn(Reconnect Device ReAttache next);if (VideoStateSummaryModule.getM_hAttachMap().size() 0) { // 如果断前正在订阅// 重订阅事件log.warn(Reconnect Device ReAttache need);VideoStateSummaryModule.reAttachAllVideoStatSummary(DaHuaNetSdkManCountThread.humanNumberStatisticCB);DaHuaConstantConfig.DA_HUA_SUB_STATE true;}}});service.shutdown();} } DaHuaHumanNumberStatisticCallBack .java import com.netsdk.lib.NetSDKLib; import com.sun.jna.Pointer; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;// 人流统计数据回调 public class DaHuaHumanNumberStatisticCallBack implements NetSDKLib.fVideoStatSumCallBack {private final Logger log LoggerFactory.getLogger(this.getClass());public void invoke(NetSDKLib.LLong lAttachHandle, NetSDKLib.NET_VIDEOSTAT_SUMMARY stVideoState, int dwBufLen, Pointer dwUser) throws ParseException {try {// 自定义接收的类CsRecordHumanNumber csRecordHumanNumber new CsRecordHumanNumber();csRecordHumanNumber.setEnteredToday(stVideoState.stuEnteredSubtotal.nToday); // 当日进入的人数csRecordHumanNumber.setEnteredHour(stVideoState.stuEnteredSubtotal.nHour);// 单位小时内进入的人数csRecordHumanNumber.setEnteredTotal(stVideoState.stuEnteredSubtotal.nTotal);// 设备运行后进入的总人数csRecordHumanNumber.setExitedToday(stVideoState.stuExitedSubtotal.nToday);// 当日出去的人数csRecordHumanNumber.setExitedHour(stVideoState.stuExitedSubtotal.nHour);// 单位小时内出去的人数csRecordHumanNumber.setExitedTotal(stVideoState.stuExitedSubtotal.nTotal);// 设备运行后出去的总人数log.info(csRecordHumanNumber.toString());// to do 把数据传给Spring去插入数据库或者其他处理} catch (IOException e) {e.printStackTrace();}}} DaHuaNetSdkManCountThread.java 创建连接的线程类 import com.netsdk.demo.module.LoginModule; import com.netsdk.demo.module.VideoStateSummaryModule; import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class DaHuaNetSdkManCountThread extends Thread {private static final Logger log LoggerFactory.getLogger(DaHuaNetSdkManCountThread.class);// 设备断线通知回调private static final DaHuaDisConnectCallBack disConnectCB new DaHuaDisConnectCallBack();// 网络连接恢复private static final DaHuaHaveReConnectCallBack haveReConnectCB new DaHuaHaveReConnectCallBack();// 人数统计回调事件public static DaHuaHumanNumberStatisticCallBack humanNumberStatisticCB new DaHuaHumanNumberStatisticCallBack();public void run(){System.out.println(Thread.currentThread().getName() NetSdk);if(LoginModule.init(disConnectCB, haveReConnectCB)){login();}}// 登录public static boolean login() {if (LoginModule.login(DaHuaConstantConfig.DA_HUA_IP, DaHuaConstantConfig.DA_HUA_PORT, DaHuaConstantConfig.DA_HUA_ADMIN, DaHuaConstantConfig.DA_HUA_PASSWORD)) {int chanNum LoginModule.m_stDeviceInfo.byChanNum;log.info(da-hua-sdk-login success:chanNum);DaHuaConstantConfig.DA_HUA_LOGIN_STATE true;if (!VideoStateSummaryModule.channelAttached(DaHuaConstantConfig.DA_HUA_SUB_CHANNEL)) {if (VideoStateSummaryModule.attachVideoStatSummary(DaHuaConstantConfig.DA_HUA_SUB_CHANNEL, humanNumberStatisticCB)) {log.info(da-hua-sdk human number open:);DaHuaConstantConfig.DA_HUA_SUB_STATE true;} else {DaHuaConstantConfig.DA_HUA_SUB_STATE false;}}return true;}return false;} } 放在SpringBoot启动页面内启动 DaHuaNetSdkManCountThread daHuaNetSdkManCountThread new DaHuaNetSdkManCountThread(); daHuaNetSdkManCountThread.start();启动后控制台输出 08:41:39.142 spring-boot-logging [main] INFO o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup 08:41:39.166 spring-boot-logging [main] INFO o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler [http-nio-8780] 08:41:39.188 spring-boot-logging [main] INFO o.a.tomcat.util.net.NioSelectorPool - Using a shared selector for servlet write/read 08:41:39.217 spring-boot-logging [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8780 (http) with context path 08:41:39.223 spring-boot-logging [main] INFO com.lavatory.CloudRoomApplication - Started CloudRoomApplication in 6.143 seconds (JVM running for 7.822) Thread-4 NetSdk load library: C:\Users\18380\AppData\Local\Temp\dhnetsdk.dll C:/DevelopSpace/ZexinSpaces/smart-lavatory-system/lavatory-client/lavatory-client-terminal/libs/win64/ load library: C:\Users\18380\AppData\Local\Temp\dhnetsdk.dll dhnetsdk----C:\Users\18380\AppData\Local\Temp\dhnetsdk.dll load library: C:\Users\18380\AppData\Local\Temp\dhconfigsdk.dll dhconfigsdk----C:\Users\18380\AppData\Local\Temp\dhconfigsdk.dll arch-amd64--name-Windows 10 arch-amd64--name-Windows 10 load library: C:\Users\18380\AppData\Local\Temp\dhconfigsdk.dll Login Success [ 192.168.1.108 ] 08:41:44.239 spring-boot-logging [Thread-4] INFO c.l.d.n.DaHuaNetSdkManCountThread - da-hua-sdk-login success:1 Attach Succeed at Channel 0 ! AttachHandle: 681853824. Wait Device Notify Information 08:41:44.847 spring-boot-logging [Thread-4] INFO c.l.d.n.DaHuaNetSdkManCountThread - da-hua-sdk human number open: 08:43:30.676 spring-boot-logging [Thread-6] INFO c.l.d.n.DaHuaHumanNumberStatisticCallBack - CsRecordHumanNumber(enteredToday68, enteredHour18, enteredTotal2278, exitedToday63, exitedHour17, exitedTotal2268) CsRecordHumanNumber(enteredToday68, enteredHour18, enteredTotal2278, exitedToday63, exitedHour17, exitedTotal2268) 08:43:37.655 spring-boot-logging [Thread-8] INFO c.l.d.n.DaHuaHumanNumberStatisticCallBack - CsRecordHumanNumber(enteredToday68, enteredHour18, enteredTotal2278, exitedToday64, exitedHour18, exitedTotal2269) CsRecordHumanNumber(enteredToday68, enteredHour18, enteredTotal2278, exitedToday64, exitedHour18, exitedTotal2269) 这个就是从摄像头设备里取到的客流统计值 CsRecordHumanNumber(enteredToday68, enteredHour18, enteredTotal2278, exitedToday63, exitedHour17, exitedTotal2268) CsRecordHumanNumber(enteredToday68, enteredHour18, enteredTotal2278, exitedToday64, exitedHour18, exitedTotal2269)
http://www.dnsts.com.cn/news/37287.html

相关文章:

  • 北京金创网站建设做 爱 网站视频
  • wordpress标签分类河池网站优化
  • 丹徒网站建设咨询长沙营销网站建设公司
  • 禹州市城乡建设局网站怎么可以创建网站
  • ftp网站上传之后怎么办小程序网站开发太原
  • 8图片这样的网站怎么做wordpress 主机推荐
  • 做网站排名有用吗域名是网址吗
  • 如何做淘客网站爱城市网官方下载
  • 企业进行网站建设的方式有( )做地方旅游网站目的意义
  • 西安网站seo方法网站建设的钱计入什么科目
  • 网站建设名头浅谈中兴电子商务网站建设
  • 代人做网站动画设计制作
  • 网站关键词优化怎么弄怎么做seo网站推广
  • 长沙手机网站建设哪些WordPress设置模块间距
  • 电子商务等于做网站吗天津制作网站公司
  • 唐山哪里建设网站好青岛做网站找什么公司
  • 长沙优质营销网站建设设计枣庄做网站
  • 杭州网站推广大全网站开发方向c语言
  • 国外平面设计师网站如何引导企业老板做网站
  • 广东注册公司在哪个网站申请这么便宜?
  • 没有网站可以做app吗硬件开发包
  • 做关键字要改网站我想开一家网店怎么开
  • 网站推广软件代账公司网站模板
  • 做网站网络公司无收入个人网站排行
  • 营销型网站建设哪里好wordpress安装主题之后首页不变
  • 免费网站建设合同范本网站更换空间改版收录
  • python做网站毕业设计南宁网站开发招聘
  • 如何获取网站js图片商业空间设计网站大全
  • 临汾网站建设价格营销型网站能解决什么问题
  • 嘉兴港区建设局网站企业网站建设重要性