c# - 将 ZK 人脸字符串模板上传到设备时出现问题
问题描述
设备型号:SpeedFace-H5L
SDK 我正在使用:StandAlone SDK-Ver6.3.1.34
通过 TCP/IP 连接
当我使用 GetUserFaceStr 时,我得到了所有模板,但是当我尝试执行 SetUserFaceStr 时,操作失败并返回 -103 错误代码,在文档中它说这个错误意味着“-103 设备发回面部版本错误”
Fp版本代码是
axCZKEM1.GetSysOption(GetMachineNumber(), "ZKFaceVersion", out strTemp);
扔给我一个 58 人脸算法
这是获取和设置面孔的代码
public int sta_SetAllUserFaceInfo(ListBox lblOutputInfo, ProgressBar prgSta, ListView lvUserInfo)
{
if (GetConnectState() == false)
{
lblOutputInfo.Items.Add("*Please connect first!");
return -1024;
}
if (lvUserInfo.Items.Count == 0)
{
lblOutputInfo.Items.Add("*There is no data can upload!");
return -1023;
}
string sEnrollNumber = "";
string sEnabled = "";
bool bEnabled = false;
string sName = "";
string sPassword = "";
int iPrivilege = 0;
string sTmpData = "";
int iLength = 0;
int iFaceIndex = 50;
int num = 0;
axCZKEM1.EnableDevice(iMachineNumber, false);
for (int i = 0; i < lvUserInfo.Items.Count; i++)
{
sEnrollNumber = lvUserInfo.Items[i].SubItems[0].Text;
sEnabled = lvUserInfo.Items[i].SubItems[1].Text;
if (sEnabled == "true")
{
bEnabled = true;
}
else
{
bEnabled = false;
}
sName = lvUserInfo.Items[i].SubItems[2].Text;
sPassword = lvUserInfo.Items[i].SubItems[3].Text;
iPrivilege = Convert.ToInt32(lvUserInfo.Items[i].SubItems[4].Text);
iLength = Convert.ToInt32(lvUserInfo.Items[i].SubItems[5].Text);
sTmpData = lvUserInfo.Items[i].SubItems[6].Text;
if (axCZKEM1.SSR_SetUserInfo(iMachineNumber, sEnrollNumber, sName, sPassword, iPrivilege, bEnabled))//upload user information to the device
{
if(axCZKEM1.SetUserFaceStr(iMachineNumber, sEnrollNumber, iFaceIndex, sTmpData, iLength)) //upload face templates information to the device
{
num++;
prgSta.Value = num % 100;
}
else
{
axCZKEM1.GetLastError(ref idwErrorCode);
lblOutputInfo.Items.Add("*Operation failed,ErrorCode=!" + idwErrorCode.ToString());
axCZKEM1.EnableDevice(iMachineNumber, true);
}
}
else
{
axCZKEM1.GetLastError(ref idwErrorCode);
lblOutputInfo.Items.Add("*Operation failed,ErrorCode=!" + idwErrorCode.ToString());
axCZKEM1.EnableDevice(iMachineNumber, true);
return -1022;
}
}
prgSta.Value = 100;
axCZKEM1.RefreshData(iMachineNumber);//the data in the device should be refreshed
axCZKEM1.EnableDevice(iMachineNumber, true);
lblOutputInfo.Items.Add("Upload face successfully");
return 1;
}
解决方案
这是 SDK 中的 ZKteco 错误,与设备固件不兼容。我面临同样的问题。SpeedFace V4L 也会发生这种情况
推荐阅读
- javascript - 使用 3 个选择列表中的选项从 Google 站点中的 Google 表格返回表格
- gravity-forms-plugin - 重力形式数据到excel文件
- makefile - 部分扩展递归扩展变量
- php - 依赖注入传递参数给依赖
- ruby-on-rails - 从数组中返回不包含在记录字段结果中的字符串
- python - 如果列值不在 df2 列中,则获取 df1 的行
- css - 我怎样才能用里面的文字创建一个圆圈?
- alsa - 使用多插件组合多个 dsnoop 设备
- npm - npm run build 在 bitbucket 管道中失败,因为它无法解析某些文件
- c++ - 如何在 c++ pytorch 前端 API 中将变量从 GPU 移动到 CPU?