0% found this document useful (0 votes)
3K views7 pages

C# ZKTeco Biometric Device Getting Started - CodeProject

ZKTeco Biometric Device MAnual sith zekemkeeper lib

Uploaded by

Salman Qazi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
3K views7 pages

C# ZKTeco Biometric Device Getting Started - CodeProject

ZKTeco Biometric Device MAnual sith zekemkeeper lib

Uploaded by

Salman Qazi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 7
snita019 (C# ZKTaco Biometic Device Galting Starled - CodeProject 14,356,576 members i 09) CODE PROJECT articles Q&A forums stuff lounge ? Search for articles, questions, O roltow) Sy C# ZKTeco Biometric Device Getting Started ew, Ozesh Thapa Rate me! ACA He He He 4.82 4 votes) 13 May 2019 CPOL, ‘An implementation of a Zkteco (K14) Biometric Device using C# Download BioMatrix source code - 551.8 KB Download Programmers Guide Manual - 289.4 KB Download the SDK - 1.4 MB Introduction ‘There are requirements where you have to integrate a biometric device into your own application or some part of it ike fetching the attendance records, user information, backing up the fingerprint templates into your system database or export it somewhere remotely, etc For that very purpose, this article is writen as a getting started guide with a few pieces of source code such that it helps Ci developers to save some valuable time with all the troublesome work. Note: Though the devices will be of various models, with a different set of sdk, the implementation procedure will be somewhat the ‘The following article contains some useful old pieces of code, if you ever get your hands on a biometric device (fingerprint reader for Time & Attendance) and want to extract gold(data) out of it Implemented Device Specification Hide Copy Code Device Name : K14 Firmware Ver : ver. 4.0.1 ( build 39 ) Vendor : ZkTeco Inc. FP: 500 Records : 50000 Note: Ifyou are working with a different model of the device like ZK4S00, 2K9500, SLK20M or SLK2OR. Here is a good starting point for those device models. Prior to going through the following article, it would be beneficial if you have some good understanding of the following things: ntps:thaww-codeproject comiArtcles/1104538/Csharp-Zk Teco-Biometrc-Device-Getting-Started wn snrapo19 (C# ZKTaco Biometic Device Galting Starled - CodeProject + How a biometric device works its features and functionalities + How to Register/ Unregister DLLs using the Regsvr32 utility + Knowledge about how the ref and out parameters work ‘The article and the source code provided will help you with the following things: ‘Registering the SDK components + Ping the device + Connecting to the device + Extracting some random data out of the device (Log Data, User Info, etc) + Source code to upload data to the device + Restarting the device + How to register to device specific events [Not Implemented You will have to implement it yourself per your need] Background Biometric Devices are being used extensively in many corporations through out the world these days. Companies like ZkTeco manufacture biometric access control and Time and Attendance in various shapes and sizes with different set of features per ‘model. They provide a better way of user authentication and security in organizations who implement it. It is a growing demand in today's world, Hence, developers are likely to come across its implementation at some paint, Using the Code Note: The follow procedures are applicable for the K14 moddel devices, Other devices might have a different set of SOK, hence a slightly different set of procedures. In order to implement any biometric device, you will have to register the related components in the system, which can be easily done by using the REgsvr'32 utlliy. If you don't know how it works, please go through some blog posts in the related topic. We already have a batch file ready for that very purpose, Hence, we are cool here. You can download the SDK from here, Ihave already attached an SDK sample along with this article. You can go through the source code inside the Register SDK.bat to see the registration mechanism, Registering the Components 1.Fite up a Command Prompt with Adminstrator Privilege 2 Navigate to the SDK location 3. Execute the Register_SDK batch file [image 1 On Successful Registration RegSvi32 @ DitRegisterServer in CAWindows\SysWOWE4\skemkeeper.dll succeeded, ce To implement the biometric device, you will have to use the zkemkeeper dl, Implementing the SDK 1. Add Reference to the zkemkeeperal in a project, The DLL gives access to the following things: hitps:luwn-codeproject.con/Articles!1104538/Csharp-ZkTeco-Biometic-Device-Getting Stare syaco19 (# 2kTeco Biometic Davee Getng Started - CodeProject [Paimage 3 2. Create a class file and implement the IZKEM interface, 3. Use the CZKEM class file to perform device related operations. Let's say your Biometric device is connected in the local area network. To make a successful communication with the device, you need to know the IP address and the Port No. Hide Copy Code IP address : Assign a static IP in the device itself Default Port : 4378 Machine No : 1 Now we have a valid IP and Port, let's go through the source code used in a demo project entitled BioMetrix which | have attached along with this article, The application helps by showing some of the API implementations. ‘The ZKenClientcs file implements the IZKEM interface which contains the following code, Connecting to the Device The following code helps connect to the device at the given IPAddress and Port and on successful connection, it registers some events, (The events are not implemented though, you will have to implement it yourself as per your need.) Hide Copy c public bool Connect_Net(string IPAdd, int Port) { if (objCZKEM.Connect_Net(IPAdd, Port)) Af (objCZKEM.Regevent(1, 65535) t ‘objCZKEM.OnConnected += ObjCZKEM_OnConnected; ‘objCZKEM.OnDisConnected += objCZKEM OnDisConnected; ‘objCZKEM.OnEnrollFinger += ObjCZKEM_OnEnrollFinger} ‘objJCZKEM.OnFinger += ObjCZKEM_OnFingers ‘objCZKEM. OnAttTransactionEx + new _IZKEMEvents_OnAttTransaction€xEventHandler(zkemClient_OnAttTransactionEx) ; + return trues } return false; x Registering Events “To fire any event when something occurs in the device, we need to register the event: Hide Copy Code bool Regvent(int dwMachineNumber, int EventMask); // Entering 65535 for the EventMast value registers for all events ‘The EventMask requires an integer value whose value varies based on the type of event. The complete Ist of EventMast values are given below: 1 OnAttTransaction, OnAttTransactionEx 2 (tee) OnFinger 4 (1<<2) OnNewUser a(1<<3) On€nroll Finger hitps:luwn-codeproject.conv/Aricles!1104538/Csharp-ZkTeco-Biometic-Device-Getting Stared 37 syac019 (# 2kTeco Biometic Davee Getng Started - CodeProject 16(1<<4) | OnkeyPress 256 (1<<7) _ OnVerify 5i2(1<<8) _ OnFingerFeature 1024 (1<<9) OnDoor, OnAlarm 2048(1<<10) OnHIDNum 4096 (1<<11) OnlinitteCard 8192 (1<<12) OnemptyCard 16384 (1<<13) OnDeleteTemplate ‘To register for multiple-events, we can perform XOR operations between binary codes of related events. ‘To register all real-time events, the value of Eventmast can be set as 65535 which | have implemented i Fetching User Info he user information can be fetched by providing the machine number. The API implements the OUt parameter to give back the ‘output. had stored some random user data in the fingerprint device and used the following code to retrieve it back and display it. The TmpData is the users (fingerprint) template data, Hide Shrink 4 Copy Code public ICollection GetAllUserInfo(ZkemClient objZkeeper, int machineNunber) { string sdwEnrollNumber = string. Empty, sNane = string.Empty, sPassword = string.Empty, sTmpData = string.Emptys int iPrivilege = @, iTmpLength = , iFlag = ®, idwFingerIndex; bool bEnabled = false; Icollection IstFPTemplates = new List(); ‘objZkeeper.ReadAl1UserID(machineNunber) ; objZkeeper. ReadAllTemplate(machineNumber) ; while (objZkeeper.SSR_GetAllUserInfo(machineNunber, out sdwEnrol1Nunber,, out sNane, out sPassword, out iPrivilege, out benabled)) { for (idwFingerIndex = 0; idwFingerIndex < 10; idaFingerIndex++) If (objZkeeper.GetUserTmpExStr(machineNumber, sdwEnrol1Nunber, idwFingerIndex, out iFlag, out sTmpData, out iTmpLength)) { UserInfo fpInfo = new UserInfo(); fpInfo.MachineNunber = machineNunber; fpInfo.£nroliNumber = sdw€nrol1Number; fpInfo.Name = sName; fpInfo.FingerIndex = idwFingerIndex; fpInfo.Tmpdata = sTnpbata; fpInfo.Privelage = iPrivilege; fpInfo.Password = sPassword; fpInfo.fnabled = benabled; fpinfo.iFlag = iFlag.Tostring(); AstrPTenplates..Add(fpInfo) ; > z return IstFPTemplates; Result hitps:luwn-codeproject.con/Articles!1104538/Csharp-ZkTeco-Biometic-Device-Getting Stare an snrapo19 (C# ZKTaco Biometic Device Galting Starled - CodeProject Conclusion Well, that gives you the starting point for your project. With a biometric device in hand, you can now experiment with the source code yourself and play along, ‘There are numerous procedures and events to be implemented which you can use per you need, Also, you might want to take help from the SDK that | have attached along with this article. There are other SDK/manuals which you can find online for more detailed implementation, Feel free for any queries and feedbacks. Peace !! License This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL) Share About the Author Ozesh Thapa fin] Software Developer Braindigit IT Solution Nepal hitps:luwn-codeproject.con/Articles!1104538/Csharp-ZkTeco-Biometic-Device-Getting Stared snita019 (C# ZKTaco Biometic Device Galting Starled - CodeProject |lam a Software Engineer and a developer by profession The following things describes me 1, Lam a real time/run time developer : Basically learn and implement things on the fly 2. Definitely not a technology racist: Love to work and explore any technology that i come across. 3. Prefer Beer over H20 : Code with passion and for fun | am interested in Research & Development. show more Comments and Discussions Search Comments 5) First Prev Next i cant delete a user using this function DeleteUserinfoEx pls help me Member 13754256 11-Nov-19 15:31 How to deploy application? Tham Davies 8-Nov-19 11:42 How to connect via USB? Member 14640901 2-Nov-19 21:03 How can I download the marking data record to my sql database? Member 14584708 3-Oct-19 7:28 IZKEM Member 14542778 25-Sep-19 11:53 how can i connect device with sql server by c#? Member 14584708 19-Sep-19 21:33 Re: how can i connect device with sql server by c#? Member 14608634 1-Oct-19 6:52, How do you get the merged 3 finger prints? RikusMarais 14-Aug-19 19:02 How can I delete user info? iboboson 12-Aug-19 0:47 Re: How can | delete user info? Ali Muhammad Nizamani_ 20-Aug-19 13:19 how to check machine is busy or not Quaper Client 10-Aug-19 17:22 How to Save Mull Ali Muhammad Nizamani_ 1-Aug-19 20:04 not connected device Member 14542778 27-Jul-19 16:55 ntps:thaww-codeproject comiArtcles/1104538/Csharp-Zk Teco-Biometrc-Device-Getting-Started er snita019 (C# ZKTaco Biometic Device Galting Starled - CodeProject how to register EventMask and EventMast Value Member 14542778 27-Jul-19 16:37 IP did not respon Member 14525495 10-Jul-19 2:18 Re: IP did not respond! Ali Muhammad Nizamani 20-Aug-19 13:23 when connect to device the app returned the device is discontented !! nevenelmahdy 23-Jun-19 15:11 Re: when connect to device the app returned the device is discontented !! shafeekbabu 23-Jul-19 12:16 Re: when connect to device the app returned the device is discontented !! Leebeedev 4-Aug-19 13:58 For card number Member 14476623 21-Jun-19 15:03 Backup and Restore Fingerprint gonzaloleon 24-May-19 21:44 Error code -201 Osempu 24-May-19 11:28 Re: Error code -201 OriginalGriff 24-May-19 11:30 zkteco k40 sdk vb.net Member 1228108 11-May-19 5:41 SetUserTmpStr not working Member 14362432 10-May-19 20:00 Refresh 1234567 Next» CJoeneral [E)News @ Suggestion @ Question teBug [ElAnswer Guoke qiyprase [Rant Admin Use CtrlLefv ight to switch messages, t+Up/Down to switch threads, CtrlsShift+Left/Right to switch pages. Permalink Layout fixed | id [Article Copyright 2016 by Ozesh Thapa Advertise ~ Everything else Copyright © CodeProject, 1999- Privacy 2019 Cookies Terms of Use \weo06 28.191 108.1 ntps:thaww-codeproject comiArtcles/1104538/Csharp-Zk Teco-Biometrc-Device-Getting-Started ™

You might also like