调用对面相机

chongqing-yashichuangneng
LAPTOP-S9HJSOEB\昊天 2 years ago
parent c669e47693
commit a6511d2069

@ -3401,6 +3401,21 @@ DVR实现巡航数据结构
public int nReserved; public int nReserved;
} }
public static class NET_DVR_LOCAL_TCP_PORT_BIND_CFG extends Structure {
public short wLocalBindTcpMinPort; //本地绑定Tcp最小端口
public short wLocalBindTcpMaxPort; //本地绑定Tcp最大端口
public byte[] byRes = new byte[60]; //保留
//高版本方法覆盖
@Override
protected List getFieldOrder() {
return Arrays.asList("wLocalBindTcpMinPort","wLocalBindTcpMaxPort","byRes");
}
}
//硬解码预览参数 //硬解码预览参数
public static class NET_DVR_CARDINFO extends Structure public static class NET_DVR_CARDINFO extends Structure
{ {

@ -249,6 +249,7 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
short wPicQuality = 0; short wPicQuality = 0;
HCNetSDK.NET_DVR_JPEGPARA jpegpara = new HCNetSDK.NET_DVR_JPEGPARA(wPicSize, wPicQuality); HCNetSDK.NET_DVR_JPEGPARA jpegpara = new HCNetSDK.NET_DVR_JPEGPARA(wPicSize, wPicQuality);
boolean picResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_CaptureJPEGPicture(lUserId, 1, jpegpara, path); boolean picResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_CaptureJPEGPicture(lUserId, 1, jpegpara, path);
log.info("cameraId:"+cameraId +" 拍摄照片:"+path);
if (!picResult) { if (!picResult) {
log.error("pic error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId); log.error("pic error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
} }

@ -24,6 +24,9 @@ public class HikLoginModuleImpl implements CameraControlLoginModule {
static HikExceptionCallBack hikExceptionCallBack = new HikExceptionCallBack(); static HikExceptionCallBack hikExceptionCallBack = new HikExceptionCallBack();
public void BindPort(int port ) {
}
/** /**
* \if ENGLISH_LANG * \if ENGLISH_LANG
* Init * Init
@ -36,6 +39,16 @@ public class HikLoginModuleImpl implements CameraControlLoginModule {
Pointer pointer = null; Pointer pointer = null;
if(!hasInit){ if(!hasInit){
Boolean ok = hcNetsdk.NET_DVR_Init(); Boolean ok = hcNetsdk.NET_DVR_Init();
HCNetSDK.NET_DVR_LOCAL_TCP_PORT_BIND_CFG strLocalTcpBind = new HCNetSDK.NET_DVR_LOCAL_TCP_PORT_BIND_CFG();
strLocalTcpBind.read();
strLocalTcpBind.wLocalBindTcpMinPort = (short) 3000;
strLocalTcpBind.wLocalBindTcpMaxPort = (short) 3000;
strLocalTcpBind.write();
Pointer pStrLocalTcoBind = strLocalTcpBind.getPointer();
if (hcNetsdk.NET_DVR_SetSDKLocalCfg(0, pStrLocalTcoBind) == false) {
System.out.println("绑定失败,错误码为" + hcNetsdk.NET_DVR_GetLastError());
}else
System.out.println("绑定成功");
if(!ok){ if(!ok){
log.error("hik Initialize SDK failed"); log.error("hik Initialize SDK failed");
return false; return false;

@ -12,6 +12,7 @@ import com.zhehekeji.web.service.RFID.RFIDSocket;
import com.zhehekeji.web.service.hikLightSource.HikControlSocket; import com.zhehekeji.web.service.hikLightSource.HikControlSocket;
import com.zhehekeji.web.service.ksec.KsecNettyClient; import com.zhehekeji.web.service.ksec.KsecNettyClient;
import com.zhehekeji.web.service.sick.SickSocket; import com.zhehekeji.web.service.sick.SickSocket;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -504,6 +505,21 @@ public class PlcService {
} }
} }
/**
* id
* @param plcCmdInfo
* @param leftRight
* @param cameraId
* @return
*/
public Integer getCameraByPlcCmd(PlcCmdInfo plcCmdInfo, Integer leftRight, Integer cameraId) {
Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId());
Integer integer = cameraId.equals(street.getCamera1Id()) ? street.getCamera2Id() : street.getCamera1Id();
return integer;
}
public Integer getCameraByPlcCmd(PlcCmdInfo plcCmdInfo,Integer leftRight){ public Integer getCameraByPlcCmd(PlcCmdInfo plcCmdInfo,Integer leftRight){
Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId()); Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId());
//判断单双伸 type=0 单伸 1为双伸 //判断单双伸 type=0 单伸 1为双伸
@ -592,7 +608,6 @@ public class PlcService {
lightSources.forEach(lightSource -> { lightSources.forEach(lightSource -> {
HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),1); HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),1);
}); });
Integer cameraId = getCameraByPlcCmd(plcCmdInfo,plcCmdInfo.getLeftRight1());
//重庆亚士创能盘点时先用同侧相机拍摄货物顶部 //重庆亚士创能盘点时先用同侧相机拍摄货物顶部
Integer leftRightTop = plcCmdInfo.getLeftRight1() == 1 ? 2 : 1; Integer leftRightTop = plcCmdInfo.getLeftRight1() == 1 ? 2 : 1;
@ -603,6 +618,7 @@ public class PlcService {
cameraCmdCode = cmdCode + "-" + plcCmdInfo.getLeftRightStr(1) + "-IN"; cameraCmdCode = cmdCode + "-" + plcCmdInfo.getLeftRightStr(1) + "-IN";
} }
Integer cameraId = getCameraByPlcCmd(plcCmdInfo,plcCmdInfo.getLeftRight1(),cameraIdTop);
log.info("1 camera ptz:"+cameraCmdCode); log.info("1 camera ptz:"+cameraCmdCode);
gyrateCameraByCode(cameraIdTop, cameraCmdCode); gyrateCameraByCode(cameraIdTop, cameraCmdCode);
try { try {

Loading…
Cancel
Save