欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

集成海康威视Sadp SDK实现修改设备网络参数

发布时间:2023/12/31 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 集成海康威视Sadp SDK实现修改设备网络参数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

    下面将介绍集成SadpSDK的接口调用流程,以及使用到的接口功能说明。如有疑问欢迎留言探讨。

 

  • 修改网络参数        

           修改网络参数接口 SADP_ModifyDeviceNetParam_V40 的第一个参数是设备的Mac地址,第二个参数是设备admin用户的密码,第三个参数是网络参数结构体,第四个参数是锁定信息结构体,第五个参数是锁定信息结构体大小

           (注:一定要先搜索到设备才能对设备进行修改网络参数)

 

  • 示例代码

 

#include <stdio.h> #include <windows.h> #include "Sadp.h"//设备信息回调函数 void CALLBACK SadpDataCallBack(const SADP_DEVICE_INFO_V40 *lpDeviceInfoV40, void* pUserData) {printf("\r\n----------------------------------------\r\n");printf(" IP %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szIPv4Address); //设备ipprintf(" Mac %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szMAC); //设备Mac地址printf("SerialNO %s\r\n", lpDeviceInfoV40->struSadpDeviceInfo.szSerialNO); //设备序列号printf(" Result %d\r\n", lpDeviceInfoV40->struSadpDeviceInfo.iResult); //消息类型: 1.设备上线, 2.设备更新, 3.设备下线printf("\r\n----------------------------------------\r\n"); }//修改网络参数 int main(void) {//开启sadp日志 3(打印所以日志) "C:\\SadpLog"(日志目录) false(保留所有日志文件)SADP_SetLogToFile(3, "C:\\SadpLog", false);//开启sadp服务int iRet = SADP_Start_V40(SadpDataCallBack);if (iRet == 0){//开启失败,获取错误码int iError = SADP_GetLastError();printf("SADP_Start_V40 Failed! Err(%d)\r\n", iError);}//等待一会,修改网络参数前需要SDK搜索到被修改设备才行Sleep(10000);SADP_DEV_NET_PARAM struNetParam = { 0 };SADP_DEV_RET_NET_PARAM struDevRetNetParam = { 0 };strcpy(struNetParam.szIPv4Address, "192.168.1.64"); //ipstrcpy(struNetParam.szIPv4SubNetMask, "255.255.255.0");strcpy(struNetParam.szIPv4Gateway, "192.168.1.1");strcpy(struNetParam.szIPv6Address, "::");strcpy(struNetParam.szIPv6Gateway, "::");struNetParam.wPort = 8000; //netsdk服务端口struNetParam.dwSDKOverTLSPort = 0;struNetParam.byDhcpEnable = 0; //是否开启DHCPstruNetParam.byIPv6MaskLen = 64;struNetParam.wHttpPort = 80;//修改网络参数 参数1:设备Mac地址 参数2:密码 参数3:网络参数结构体 参数4:锁定信息结构体 参数5:锁定信息结构体大小iRet = SADP_ModifyDeviceNetParam_V40("a4-14-37-f9-e3-ee", "hik12345", &struNetParam, &struDevRetNetParam, sizeof(struDevRetNetParam));if (iRet == 0){//开启失败,获取错误码int iError = SADP_GetLastError();printf("SADP_ModifyDeviceNetParam_V40 Failed! Err(%d)\r\n", iError);if (iError == SADP_LOCKED){printf("设备已锁定,锁定时间:%d 分钟.", struDevRetNetParam.bySurplusLockTime);}else if (iError == SADP_PASSWORD_ERROR){printf("密码错误,剩余尝试修改次数:%d 次.", struDevRetNetParam.byRetryModifyTime);}else if (iError == SADP_NOT_ACTIVATED){printf("设备未激活");}}else{printf("SADP_ModifyDeviceNetParam_V40 Succ!\r\n");}//释放资源SADP_Stop();}

 

 

 

 

 

 

 

总结

以上是生活随笔为你收集整理的集成海康威视Sadp SDK实现修改设备网络参数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。