python 调用海康SDK,登录,设置回调,布防,撤防,注销以及释放SDK

import os
import ctypes
import datetime
import time
#获取所有的库文件到一个列表
path = "/home/caobin/chike/chike/CH_HCNetSDK_V5.2.7.4_build20170606_Linux64/lib/"
so_list = []
def add_so(path,so_list):
    files = os.listdir(path)
    for file in files:
        if not os.path.isdir(path+file):
            if file.endswith(".so"): so_list.append(path+file)
        else:
            add_so(path+file+"/",so_list)
add_so(path,so_list)

for lib in so_list:
    print(lib)

lUserID = 0
m_lAlarmHandle = 0
def callCpp(func_name,*args):
    for so_lib in so_list:
        # print(so_lib)
        try:
            lib = ctypes.cdll.LoadLibrary(so_lib)
            try:
                value = eval("lib.%s"%func_name)(*args)
                print("调用的库:"+so_lib)
                print("执行成功,返回值:"+str(value))
                return value
            except:
                continue
        except:
            print("库文件载入失败:"+so_lib)
            continue
    print("没有找到接口!")
    return False

#定义结构体
class LPNET_DVR_DEVICEINFO_V30(ctypes.Structure):
    _fields_ = [
        ("sSerialNumber", ctypes.c_byte * 48),
        ("byAlarmInPortNum", ctypes.c_byte),
        ("byAlarmOutPortNum", ctypes.c_byte),
        ("byDiskNum", ctypes.c_byte),
        ("byDVRType", ctypes.c_byte),
        ("byChanNum", ctypes.c_byte),
        ("byStartChan", ctypes.c_byte),
        ("byAudioChanNum", ctypes.c_byte),
        ("byIPChanNum", ctypes.c_byte),
        ("byZeroChanNum", ctypes.c_byte),
        ("byMainProto", ctypes.c_byte),
        ("bySubProto", ctypes.c_byte),
        ("bySupport", ctypes.c_byte),
        ("bySupport1", ctypes.c_byte),
        ("bySupport2", ctypes.c_byte),
        ("wDevType", ctypes.c_uint16),
        ("
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值