d123ddbd63f0024aae61b9ef822e22d75d82e78f
works! but needs more test, we need to test write and pass to another device
pyzk
pyzk is an unofficial library of zksoftware the fingerprint attendance machine.
Installation
pip install pyzk
Documentation
Complete documentation can be found at Readthedocs .
Api Usage
Just create a ZK object and you will ready to call api.
- Basic Usage
from zk import ZK, const
conn = None
zk = ZK('192.168.1.10', port=4370, timeout=5)
try:
print 'Connecting to device ...'
conn = zk.connect()
print 'Disabling device ...'
conn.disable_device()
print 'Firmware Version: : {}'.format(conn.get_firmware_version())
# print '--- Get User ---'
users = conn.get_users()
for user in users:
privilege = 'User'
if user.privilege == const.USER_ADMIN:
privilege = 'Admin'
print '- UID #{}'.format(user.uid)
print ' Name : {}'.format(user.name)
print ' Privilege : {}'.format(privilege)
print ' Password : {}'.format(user.password)
print ' Group ID : {}'.format(user.group_id)
print ' User ID : {}'.format(user.user_id)
print "Voice Test ..."
conn.test_voice()
print 'Enabling device ...'
conn.enable_device()
except Exception, e:
print "Process terminate : {}".format(e)
finally:
if conn:
conn.disconnect()
- Connect/Disconnect
conn = zk.connect()
conn.disconnect()
- Disable/Enable Connected Device
conn.disable_device()
conn.enable_device()
- Ger Firmware Version
conn.get_firmware_version()
- User Operation
# Create user
conn.set_user(uid=1, name='Fanani M. Ihsan', privilege=const.USER_ADMIN, password='12345678', group_id='', user_id='123')
# Get all users (will return list of User object)
users = conn.get_users()
# Delete User
conn.delete_user(uid=1)
- Attendance Record
# Get attendances (will return list of Attendance object)
attendances = conn.get_attendance()
# Clear attendances record
conn.clear_attendance()
- Test voice
conn.test_voice()
- Device Maintenance
# shutdown connected device
conn.power_off()
# restart connected device
conn.restart()
Related Project
-
zkcluster is a django apps to manage multiple fingerprint devices.
-
Driji is an attendance apps based fingerprint for school
Todo
- Create better documentation
- Finger template downloader & uploader
- HTTP Rest api
- Create real time api (if possible)
- and much more ...
Description
Languages
Python
84.2%
Lua
15.8%