EasyCVR实现智慧楼宇道闸控制流程及参考代码分享
TSINGSEE青犀视频团队根据城市建设里各种不同的场景需求,做了很多解决方案,其中智慧城市、智慧工地、智慧校园等都是我们曾经实践过很多次且稳定运用于各项目团队的方案。随着智能化城市的升级需求,我们逐渐将智能分析的各项功能融入进这些方案当中,旨在为用户提供更加完整的智能分析平台。
我们在做智慧楼宇的智能分析解决方案时,考虑到了闸门的自动智能控制功能,基于EasyCVR平台,我们可以基本总结以下闸门控制的实现流程,本文就和大家分享一下。
流程说明
步骤1:调用 CLIENT_Init 函数完成 SDK 初始化流程。
步骤2:初始化成功后,调用 CLIENT_LoginEx2 函数登录设备。
步骤3:调用 CLIENT_ControlDeviceEx 函数控制道闸开启或关闭。
步骤4:业务使用完后,调用 CLIENT_Logout 函数登出设备。
步骤5:SDK 功能使用完后,调用 CLIENT_Cleanup 函数释放 SDK 资源。
参考代码:
int main()
{
NET_CTRL_OPEN_STROBE stuOpenStrobe = {0};
stuOpenStrobe.dwSize = sizeof(NET_CTRL_OPEN_STROBE);主要功能 33
stuOpenStrobe.nChannelId = 0;
sprintf(stuOpenStrobe.szPlateNumber,"浙 A54321");
//开启道闸
BOOL bRet = CLIENT_ControlDeviceEx(lLoginHandle,DH_CTRL_OPEN_STROBE,&stuOpenStrobe);
if(FALSE == bRet)
{
printf("CLIENT_ControlDeviceEx: Open strobe failed! Error code %x.\n", CLIENT_GetLastError());
return -1;
}
NET_CTRL_CLOSE_STROBE stuCloseStrobe = {0};
stuCloseStrobe.dwSize = sizeof(NET_CTRL_CLOSE_STROBE);
stuCloseStrobe.nChannelId = 0;
//关闭道闸
bRet = CLIENT_ControlDeviceEx(lLoginHandle,DH_CTRL_CLOSE_STROBE,&stuCloseStrobe);
if(FALSE == bRet)
{
printf("CLIENT_ControlDeviceEx: Close strobe failed! Error code %x.\n", CLIENT_GetLastError());
return -2;
}
return 0;
}