ESSL/Gerätekommunikations-SDK löst keine Gesichtskamera für die Registrierung auf dem AI FaceMars-Gerät ausC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 ESSL/Gerätekommunikations-SDK löst keine Gesichtskamera für die Registrierung auf dem AI FaceMars-Gerät aus

Post by Anonymous »

Ich versuche, die Gesichtsregistrierung mithilfe des ESSL SDK mit einem AI FaceMars-Anwesenheitsgerät zu automatisieren, aber das SDK löst die Kamera des Geräts nicht zur Gesichtserfassung aus.
Was ich erreichen möchte:
Fügen Sie einen Mitarbeiter programmgesteuert hinzu und erfassen Sie seine Gesichtsvorlage mit C# und dem ESSL SDK.
Aktuell Code:

Code: Select all

using System;
using zkemkeeper;

namespace FaceTMPConsoleApp
{
internal class Program
{
static void Main(string[] args)
{
IZKEM device = new CZKEMClass();
string ip = "xxx.xxx.x.xxx";
int port = 4370;

Console.WriteLine($"Connecting to {ip}...");
bool connected = device.Connect_Net(ip, port);

if (!connected)
{
Console.WriteLine("Connection failed!");
return;
}

Console.WriteLine("Connected!\n");

string empID = "1111";
string name = "testing";

bool userAdded = device.SSR_SetUserInfo(1, empID, name, "", 0, true);

if (userAdded)
{
Console.WriteLine($"Employee {empID} added.");
Console.WriteLine("\nLook at the device camera...");

// This returns true but doesn't activate camera
bool enrollStarted = device.StartEnrollEx(empID, 1, 0);

if (enrollStarted)
{
Console.WriteLine("Enrollment started on device.");
System.Threading.Thread.Sleep(10000);

byte[] faceData = new byte[20480];
int faceLength = 0;
bool faceSaved = device.GetUserFace(1, empID, 1, ref faceData[0], ref faceLength);

if (faceSaved && faceLength > 0)
{
Console.WriteLine($"Face registered! Data size: {faceLength} bytes");
}
else
{
Console.WriteLine("Face not detected. Try again.");
}
}
}
device.Disconnect();
}
}
}
Problembeschreibung:
  • Code: Select all

    Connect_Net()
    : ✅ Erfolg
  • Code: Select all

    SSR_SetUserInfo()
    : ✅ Mitarbeiter erfolgreich hinzugefügt
  • Code: Select all

    StartEnrollEx()
    : ✅ Gibt „true“ zurück (kein Fehler)
  • Aber: Auf dem Gerätebildschirm wird keine Kameravorschau angezeigt, es erfolgt keine Gesichtserfassung
    Was ich versucht habe:
    • Verschiedene Parameter für StartEnrollEx():

      Code: Select all

      device.StartEnrollEx(empID, 6, 0)
      - Modus 0
    • Code: Select all

      device.StartEnrollEx(empID, 6, 1)
      - Modus 1
    • Code: Select all

      device.StartEnrollEx(empID, 6, 2)
      – Modus 2 (dokumentiert für Gesicht)
    • Code: Select all

      device.StartEnrollEx(empID, 13, 1)
      – Alternativer Modus

Gerätedetails:
  • Modell: essl AI FaceMars (spezifisches Modell nicht aufgeführt)
  • Kommunikation: TCP/IP-Port 4370
  • Der manuelle Prozess funktioniert: Benutzerverwaltung → Benutzer auswählen → Gesicht → Gesicht hinzufügen
  • Gesichtsregistrierung funktioniert perfekt, wenn sie manuell auf dem Gerätebildschirm durchgeführt wird

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post