pyztk/docs/index.rst

152 lines
3.5 KiB
ReStructuredText
Raw Normal View History

2016-05-27 00:12:10 +07:00
.. pyzk documentation master file, created by
sphinx-quickstart on Fri May 27 00:09:19 2016.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
2016-05-27 01:27:43 +07:00
********************************
2016-05-27 00:12:10 +07:00
Welcome to pyzk's documentation!
2016-05-27 01:27:43 +07:00
********************************
2016-05-27 00:12:10 +07:00
2016-06-24 19:09:25 +07:00
pyzk is an unofficial library of zksoftware the fingerprint attendance machine. It's easy to use and no need to understand how to communicate to device. Just create ZK instance and you will ready to use api.
2016-05-27 01:27:43 +07:00
Installation
############
2016-05-27 02:09:40 +07:00
.. image:: https://travis-ci.org/fananimi/pyzk.svg?branch=master
:target: https://travis-ci.org/fananimi/pyzk
2016-05-27 01:27:43 +07:00
You can install from two different options
1. from pypi
``$ pip install pyzk``
2. from original repository
Go to https://github.com/fananimi/pyzk and clone the latest source code by using git, and then just execute the setup.py file.
``$ python setup.py install``
Basic Usage
###########
.. code-block:: python
2016-06-24 19:09:25 +07:00
from zk import ZK, const
2016-05-27 01:27:43 +07:00
2016-06-24 19:09:25 +07:00
conn = None
zk = ZK('192.168.1.10', port=4370, timeout=5)
2016-05-27 01:27:43 +07:00
try:
2016-06-24 19:09:25 +07:00
print 'Connecting to device ...'
2016-05-30 09:29:00 +07:00
conn = zk.connect()
2016-06-24 19:09:25 +07:00
print 'Disabling device ...'
conn.disable_device()
print 'Firmware Version: : {}'.format(conn.get_firmware_version())
# print '--- Get User ---'
users = conn.get_users()
2016-05-30 09:29:00 +07:00
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)
2016-05-27 01:27:43 +07:00
2016-06-24 19:09:25 +07:00
print "Voice Test ..."
conn.test_voice()
print 'Enabling device ...'
conn.enable_device()
2016-05-27 01:27:43 +07:00
except Exception, e:
print "Process terminate : {}".format(e)
finally:
2016-05-30 09:29:00 +07:00
if conn:
2016-06-24 19:09:25 +07:00
conn.disconnect()
2016-05-27 00:12:10 +07:00
2016-06-17 14:10:39 +07:00
API Ussage
##########
**Connect/Disconnect**
.. code-block:: python
2016-06-24 19:09:25 +07:00
conn = zk.connect()
conn.disconnect()
2016-06-17 14:10:39 +07:00
**Disable/Enable Connected Device**
.. code-block:: python
2016-06-24 19:09:25 +07:00
conn.disable_device()
conn.enable_device()
2016-06-17 14:10:39 +07:00
**Ger Firmware Version**
.. code-block:: python
2016-06-24 19:09:25 +07:00
conn.get_firmware_version()
2016-06-17 14:10:39 +07:00
**User Operation**
.. code-block:: python
# Create user
2016-06-24 19:09:25 +07:00
conn.set_user(uid=1, name='Fanani M. Ihsan', privilege=const.USER_ADMIN, password='12345678', group_id='', user_id='123')
2016-06-17 14:10:39 +07:00
# Get all users (will return list of User object)
2016-06-24 19:09:25 +07:00
users = conn.get_users()
2016-06-17 14:10:39 +07:00
# Delete User
2016-06-24 19:09:25 +07:00
conn.delete_user(uid=1)
2016-06-17 14:10:39 +07:00
**Attendance Record**
.. code-block:: python
# Get attendances (will return list of Attendance object)
2016-06-24 19:09:25 +07:00
attendances = conn.get_attendance()
2016-06-17 14:10:39 +07:00
# Clear attendances record
2016-06-24 19:09:25 +07:00
conn.clear_attendance()
2016-06-17 14:10:39 +07:00
**Test voice**
.. code-block:: python
2016-06-24 19:09:25 +07:00
conn.test_voice()
2016-06-17 14:10:39 +07:00
**Device Maintenance**
.. code-block:: python
# shutdown connected device
2016-06-24 19:09:25 +07:00
conn.power_off()
2016-06-17 14:10:39 +07:00
# restart connected device
2016-06-24 19:09:25 +07:00
conn.restart()
2016-06-17 14:10:39 +07:00
2016-05-27 02:01:59 +07:00
Technical Documentation
#######################
We open to everyone for contribute in this project. Please refer `Communication_protocol_manual_CMD.pdf <https://github.com/fananimi/pyzk/blob/master/docs/_static/Communication_protocol_manual_CMD.pdf>`_ before you starting write your code.
2016-05-27 00:12:10 +07:00
.. toctree::
:maxdepth: 2
Indices and tables
2016-05-27 01:27:43 +07:00
##################
2016-05-27 00:12:10 +07:00
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`