1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 海康设备通过SDK获取和设置设备网络参数

海康设备通过SDK获取和设置设备网络参数

时间:2021-08-01 16:15:30

相关推荐

海康设备通过SDK获取和设置设备网络参数

目录

1、获取网络相关参数

2、设置网络相关参数

1、获取网络相关参数

//获取设备的网络参数private void getNetCfg(int iUserID) {_DVR_NETCFG_V30 m_strNetCfg = new _DVR_NETCFG_V30();m_strNetCfg.dwSize = m_strNetCfg.size();m_strNetCfg.write();Pointer pStrDeviceCfg = m_strNetCfg.getPointer();IntByReference pInt = new IntByReference(0);boolean b_GetCfg = _DVR_GetDVRConfig(iUserID, _DVR_GET_NETCFG_V30,0Xffffffff, pStrDeviceCfg, m_strNetCfg.dwSize, pInt);if (b_GetCfg == false) {logger.error("获取参数失败 错误码:" + _DVR_GetLastError());}m_strNetCfg.read();byte[] byMACAddr = netCfg.struEtherNet[0].byMACAddr;List<String> macEles = new ArrayList<>();for (byte macEle : byMACAddr) {macEles.add(String.format("%02x", macEle));}String mac = StringUtils.join(macEles, "-");String subnetMask = new String(netCfg.struEtherNet[0].struDVRIPMask.sIpV4).trim();String gateway = new String(netCfg.struGatewayIpAddr.sIpV4).trim();logger.info("查询到到海康设备sn:{}, mac:{}, 子网掩码:{}, 网关:{}", sn, mac, subnetMask, gateway);}

2、设置网络相关参数

private void setNetCfg(int iUserID, ControllerInfo controllerInfo) {_DVR_NETCFG_V30 m_strNetCfg = new _DVR_NETCFG_V30();m_strNetCfg.dwSize = m_strNetCfg.size();m_strNetCfg.write();Pointer pStrDeviceCfg = m_strNetCfg.getPointer();IntByReference pInt = new IntByReference(0);boolean b_GetCfg = _DVR_GetDVRConfig(iUserID, _DVR_GET_NETCFG_V30,0Xffffffff, pStrDeviceCfg, m_strNetCfg.dwSize, pInt);if (b_GetCfg == false) {logger.error("获取参数失败 错误码:" + _DVR_GetLastError());}m_strNetCfg.read();m_strNetCfg.struEtherNet[0].struDVRIP.sIpV4 = controllerInfo.getIp().getBytes(); // ipm_strNetCfg.struEtherNet[0].wDVRPort = controllerInfo.getPort().shortValue(); // portm_strNetCfg.struEtherNet[0].struDVRIPMask.sIpV4 = controllerInfo.getSubnetMask().getBytes(); // 子网掩码m_strNetCfg.struGatewayIpAddr.sIpV4 = controllerInfo.getGateway().getBytes(); // 网关m_strNetCfg.write();boolean b_SetCameraParam = _DVR_SetDVRConfig(iUserID, _DVR_SET_NETCFG_V30, 1, pStrDeviceCfg, m_strNetCfg.size());if (!b_SetCameraParam) {logger.error("设置前端参数失败,错误码:" + _DVR_GetLastError());}m_strNetCfg.read();logger.info("成功设置海康设备ip:[{}]", controllerInfo.getIp());}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。