梯控对接
This commit is contained in:
parent
3e81ca335f
commit
30f70fd08d
9
pom.xml
9
pom.xml
@ -91,15 +91,12 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<!-- 环境标识,需要与配置文件的名称相对应 -->
|
<!-- 环境标识,需要与配置文件的名称相对应 -->
|
||||||
<profiles.active>dev</profiles.active>
|
<profiles.active>dev</profiles.active>
|
||||||
<nacos.server>47.109.37.87:8848</nacos.server>
|
<nacos.server>192.168.24.101:8848</nacos.server>
|
||||||
<logstash.address>47.109.37.87:4560</logstash.address>
|
<logstash.address>192.168.24.101:4560</logstash.address>
|
||||||
<!-- <nacos.server>192.168.110.207:8848</nacos.server>-->
|
|
||||||
<!-- <logstash.address>192.168.110.207:4560</logstash.address>-->
|
|
||||||
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
|
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
|
||||||
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
|
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
|
||||||
<nacos.username>nacos</nacos.username>
|
<nacos.username>nacos</nacos.username>
|
||||||
<nacos.password>nacos</nacos.password>
|
<nacos.password>nacos</nacos.password>
|
||||||
<!-- <logstash.address>127.0.0.1:4560</logstash.address>-->
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
</profile>
|
</profile>
|
||||||
@ -107,8 +104,6 @@
|
|||||||
<id>prod</id>
|
<id>prod</id>
|
||||||
<properties>
|
<properties>
|
||||||
<profiles.active>prod</profiles.active>
|
<profiles.active>prod</profiles.active>
|
||||||
<!-- <nacos.server>127.0.0.1:8848</nacos.server>-->
|
|
||||||
<!-- <logstash.address>127.0.0.1:4560</logstash.address>-->
|
|
||||||
<nacos.server>47.109.37.87:8848</nacos.server>
|
<nacos.server>47.109.37.87:8848</nacos.server>
|
||||||
<logstash.address>47.109.37.87:4560</logstash.address>
|
<logstash.address>47.109.37.87:4560</logstash.address>
|
||||||
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
|
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
|
||||||
|
@ -13,6 +13,7 @@ import org.springframework.boot.ApplicationRunner;
|
|||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -37,18 +38,28 @@ public class HikDeviceApplicationRunner implements ApplicationRunner {
|
|||||||
|
|
||||||
@Async
|
@Async
|
||||||
public void hikElevatorInfoLogin() {
|
public void hikElevatorInfoLogin() {
|
||||||
List<SisElevatorInfoVo> sisElevatorInfoVos = elevatorInfoService.queryAll();
|
/*List<SisElevatorInfoVo> sisElevatorInfoVos = elevatorInfoService.queryAll();
|
||||||
if (CollUtil.isNotEmpty(sisElevatorInfoVos)) {
|
if (CollUtil.isNotEmpty(sisElevatorInfoVos)) {
|
||||||
sisElevatorInfoVos.forEach(item -> {
|
sisElevatorInfoVos.forEach(item -> {
|
||||||
// 执行设备登录操作
|
// 执行设备登录操作
|
||||||
HikApiService.getInstance().login(item.getControlIp(), item.getControlPort().shortValue(), item.getControlAccount(), item.getControlPwd());
|
HikApiService.getInstance().login(item.getControlIp(), item.getControlPort().shortValue(), item.getControlAccount(), item.getControlPwd());
|
||||||
// todo 更新设备心跳信息
|
|
||||||
});
|
});
|
||||||
|
}*/
|
||||||
|
String ip = "192.168.24.188";
|
||||||
|
short port = 8000;
|
||||||
|
String account = "admin";
|
||||||
|
String pwd = "qweasd123";
|
||||||
|
HikApiService.getInstance().login(ip, port, account, pwd);
|
||||||
|
List<Integer> arrs = Arrays.asList(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
|
||||||
|
for (int i = 0; i < arrs.size(); i++) {
|
||||||
|
HikApiService.getInstance().controlGateway(ip, (i + 1), arrs.get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Async
|
||||||
public void hikNetCameraLogin() {
|
public void hikNetCameraLogin() {
|
||||||
String ip = "192.168.24.17";
|
String ip = "192.168.24.19";
|
||||||
short port = 8000;
|
short port = 8000;
|
||||||
String account = "admin";
|
String account = "admin";
|
||||||
String pwd = "xzf13579";
|
String pwd = "xzf13579";
|
||||||
|
@ -2,22 +2,30 @@ package org.dromara.sis.sdk.hik.calback;
|
|||||||
|
|
||||||
import cn.hutool.core.codec.Base64Encoder;
|
import cn.hutool.core.codec.Base64Encoder;
|
||||||
import com.sun.jna.Pointer;
|
import com.sun.jna.Pointer;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.sis.sdk.hik.HCNetSDK;
|
import org.dromara.sis.sdk.hik.HCNetSDK;
|
||||||
|
import org.dromara.sis.sdk.hik.HikApiService;
|
||||||
|
import org.dromara.sis.sdk.huawei.HuaWeiBoxApi;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
||||||
|
|
||||||
|
private final HuaWeiBoxApi huaWeiBoxApi;
|
||||||
|
|
||||||
private static final int COMM_UPLOAD_FACESNAP_RESULT = 0x1112;
|
private static final int COMM_UPLOAD_FACESNAP_RESULT = 0x1112;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
|
public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) {
|
||||||
if (lCommand == COMM_UPLOAD_FACESNAP_RESULT) {// 读取抓拍人脸数据
|
if (lCommand == COMM_UPLOAD_FACESNAP_RESULT) {// 读取抓拍人脸数据
|
||||||
|
long s = System.currentTimeMillis();
|
||||||
log.info("hik 抓拍信息上报完成,lCommand={}", lCommand);
|
log.info("hik 抓拍信息上报完成,lCommand={}", lCommand);
|
||||||
HCNetSDK.NET_VCA_FACESNAP_RESULT result = new HCNetSDK.NET_VCA_FACESNAP_RESULT();
|
HCNetSDK.NET_VCA_FACESNAP_RESULT result = new HCNetSDK.NET_VCA_FACESNAP_RESULT();
|
||||||
result.write();
|
result.write();
|
||||||
@ -29,6 +37,7 @@ public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
|||||||
byte[] smallImg = new byte[result.dwFacePicLen];
|
byte[] smallImg = new byte[result.dwFacePicLen];
|
||||||
buffers.rewind();
|
buffers.rewind();
|
||||||
buffers.get(smallImg);
|
buffers.get(smallImg);
|
||||||
|
String dir = "";
|
||||||
// 读取人脸大图
|
// 读取人脸大图
|
||||||
// ByteBuffer buffers1 = result.pBuffer2.getByteBuffer(0, result.dwBackgroundPicLen);
|
// ByteBuffer buffers1 = result.pBuffer2.getByteBuffer(0, result.dwBackgroundPicLen);
|
||||||
// byte[] bigImg = new byte[result.dwBackgroundPicLen];
|
// byte[] bigImg = new byte[result.dwBackgroundPicLen];
|
||||||
@ -36,6 +45,31 @@ public class HikAlarmCallBack implements HCNetSDK.FMSGCallBack_V31 {
|
|||||||
// buffers1.get(bigImg);
|
// buffers1.get(bigImg);
|
||||||
// todo 进行人脸比对
|
// todo 进行人脸比对
|
||||||
String smallImgBase64Str = Base64Encoder.encode(smallImg);
|
String smallImgBase64Str = Base64Encoder.encode(smallImg);
|
||||||
|
|
||||||
|
long s1 = System.currentTimeMillis();
|
||||||
|
Long person = huaWeiBoxApi.findPerson(smallImgBase64Str);
|
||||||
|
log.info("人脸比对执行完成,耗时:{}", System.currentTimeMillis() - s1);
|
||||||
|
if (person == null) {
|
||||||
|
log.info("未命中人脸数据,暂不处理。");
|
||||||
|
log.info("权限下发执行完成,耗时:{}", System.currentTimeMillis() - s);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
log.info("人脸比对完成,personId={}", person);
|
||||||
|
// List<Integer> arrs = Arrays.asList(2, 2, 2, 3, 3, 3 ,3, 3, 3, 3, 3, 3, 3, 3, 3, 3);
|
||||||
|
List<Integer> arrs = Arrays.asList(3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
|
||||||
|
for (int i = 0; i < arrs.size(); i++) {
|
||||||
|
HikApiService.getInstance().controlGateway("192.168.24.188", (i + 1), arrs.get(i));
|
||||||
|
}
|
||||||
|
log.info("权限下发执行完成,耗时:{}", System.currentTimeMillis() - s);
|
||||||
|
try {
|
||||||
|
Thread.sleep(10000L);
|
||||||
|
List<Integer> ass = Arrays.asList(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3);
|
||||||
|
for (int i = 0; i < arrs.size(); i++) {
|
||||||
|
HikApiService.getInstance().controlGateway("192.168.24.188", (i + 1), arrs.get(i));
|
||||||
|
}
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
log.info("未知报警类型,lCommand={}", lCommand);
|
log.info("未知报警类型,lCommand={}", lCommand);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user