BiometricDevices.NET 0.0.3.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package BiometricDevices.NET --version 0.0.3.3                
NuGet\Install-Package BiometricDevices.NET -Version 0.0.3.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BiometricDevices.NET" Version="0.0.3.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BiometricDevices.NET --version 0.0.3.3                
#r "nuget: BiometricDevices.NET, 0.0.3.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BiometricDevices.NET as a Cake Addin
#addin nuget:?package=BiometricDevices.NET&version=0.0.3.3

// Install BiometricDevices.NET as a Cake Tool
#tool nuget:?package=BiometricDevices.NET&version=0.0.3.3                

BiometricDevices.NET

BiometricDevices.NET is a comprehensive .NET library for interfacing with various biometric devices. It provides a high-level, easy-to-use interface for managing biometric devices, user data, and attendance records.

Features

  • Connect to and manage a variety of biometric devices
  • User management (create, update, delete, retrieve)
  • Biometric data enrollment (fingerprint and face)
  • Attendance record management
  • Device settings configuration
  • Real-time event handling for attendance and user verification
  • Comprehensive error handling and async support

Supported Devices

Currently, this library supports the following devices:

  • ZKTeco UFace 800
  • (Other supported devices will be updated soon)

We are continuously working to expand support for additional biometric devices.

Requirements

  • .NET 8.0 or higher
  • Device-specific SDKs may be required (see installation notes for ZKTeco devices)

Installation

  1. Install the BiometricDevices.NET package via NuGet Package Manager:
Install-Package BiometricDevices.NET

Or via .NET CLI:

dotnet add package BiometricDevices.NET
  1. Important Note for ZKTeco Devices: While the package includes necessary ZKTeco SDK DLLs, you may need to install the full ZKTeco SDK on your development machine for certain functionalities. Please refer to ZKTeco's official documentation for SDK installation instructions.

Usage

Here's a comprehensive example of how to use the library with a ZKTeco UFace 800 device:

using BiometricDevices.NET.Abstract;
using BiometricDevices.NET.Concrete.ZKUFace800;
using BiometricDevices.NET.Enums;

class Program
{
    static async Task Main(string[] args)
    {
        ZKUFace800Device device = new ZKUFace800Device();

        // Connect to the device
        Dictionary<ConnectionParameterKey, string> connectionParams = new Dictionary<ConnectionParameterKey, string>
        {
            { ConnectionParameterKey.IP, "YOUR_IP" },
            { ConnectionParameterKey.Port, "YOUR_PORT" },
            { ConnectionParameterKey.Password, "YOUR_PASSWORD" } // Use only if needed
        };

        bool isSuccess = await device.ConnectAsync(ConnectionType.TCP, connectionParams);

        // Initialize the device
        await device.InitializeAsync();

        // Set up event handling
        device.OnAttendanceRecorded += HandleOnAttendanceRecorded;

        // Create a new user
        var user = new ZKUFace800BiometricUser
        {
            Id = "100",
            FullName = "John Doe",
            CardNumber = "100", // Numeric only
            Password = "12345678", // Max 8 characters
            Privilege = UserPrivilege.CommonUser,
            IsActive = true
        };

        isSuccess = await device.CreateUserAsync(user);

        // Enroll user's fingerprint
        isSuccess = await device.EnrollUserFinger(user.Id, Finger.RightIndexFinger);

        // Enroll user's face
        isSuccess = await device.EnrollUserFace(user.Id);

        // Retrieve all users
        var users = await device.GetAllUsersAsync();

        // Find our newly created user
        user = users.First(a => a.Id == user.Id);

        Console.ReadLine();
    }

    static void HandleOnAttendanceRecorded(object sender, ZKUFace800AttendanceRecord attendanceRecord)
    {
        // Handle attendance record
    }
}

Contributing

We welcome contributions to expand device support and improve functionality.

License

This library is released under the MIT License. See the LICENSE file for details.

Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.


Happy coding with BiometricDevices.NET!

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.3.5 134 9/18/2024
0.0.3.4 193 9/11/2024
0.0.3.3 100 9/10/2024
0.0.3.2 123 8/23/2024
0.0.3.1 117 8/19/2024
0.0.3 115 8/19/2024
0.0.2 119 8/16/2024
0.0.1 123 8/16/2024