BiometricDevices.NET
0.0.3.5
dotnet add package BiometricDevices.NET --version 0.0.3.5
NuGet\Install-Package BiometricDevices.NET -Version 0.0.3.5
<PackageReference Include="BiometricDevices.NET" Version="0.0.3.5" />
paket add BiometricDevices.NET --version 0.0.3.5
#r "nuget: BiometricDevices.NET, 0.0.3.5"
// Install BiometricDevices.NET as a Cake Addin #addin nuget:?package=BiometricDevices.NET&version=0.0.3.5 // Install BiometricDevices.NET as a Cake Tool #tool nuget:?package=BiometricDevices.NET&version=0.0.3.5
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
- Install the BiometricDevices.NET package via NuGet Package Manager:
Install-Package BiometricDevices.NET
Or via .NET CLI:
dotnet add package BiometricDevices.NET
- 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 | Versions 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. |
-
net8.0
- ZKemkeeper (>= 1.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.