update README

This commit is contained in:
Fanani M. Ihsan 2018-12-27 22:07:33 +07:00
parent ac745124f6
commit 4b9fe95661

View File

@ -1,22 +1,25 @@
# pyzk
pyzk is an unofficial library of zksoftware (zkteco family) the fingerprint attendance machine.
# Installation
[![Build Status](https://travis-ci.org/fananimi/pyzk.svg?branch=master)](https://travis-ci.org/fananimi/pyzk)
`pyzk` is an unofficial library of zksoftware (zkteco family) attendance machine.
# Installation
There is some installation method you can use below:
* pip
```sh
pip install -U pyzk
```
or clone and execute:
* manual installation (clone and execute)
```sh
python setup.py install
```
or in your project, append the path of this project
* clone and append the path of this project
```python
import sys
@ -33,36 +36,38 @@ Complete documentation can be found at [Readthedocs](http://pyzk.readthedocs.io/
Create the ZK object and you will be ready to call api.
* Basic Usage
## Basic Usage
The following is an example code block how to use pyzk.
```python
from zk import ZK, const
conn = None
# create ZK instance
zk = ZK('192.168.1.201', port=4370, timeout=5, password=0, force_udp=False, ommit_ping=False)
try:
print ('Connecting to device ...')
# connect to device
conn = zk.connect()
print ('Disabling device ...')
# disable device, this method ensures no activity on the device while the process is run
conn.disable_device()
print ('Firmware Version: : {}'.format(conn.get_firmware_version()))
# print '--- Get User ---'
# another commands will be here!
# Example: Get All Users
users = conn.get_users()
for user in users:
privilege = 'User'
if user.privilege == const.USER_ADMIN:
privilege = 'Admin'
print ('- UID #{}'.format(user.uid))
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 ...")
# Test Voice: Say Thank You
conn.test_voice()
print ('Enabling device ...')
# re-enable device after all commands already executed
conn.enable_device()
except Exception as e:
print ("Process terminate : {}".format(e))
@ -71,6 +76,8 @@ finally:
conn.disconnect()
```
## Command List
* Connect/Disconnect
```python
@ -81,9 +88,9 @@ conn.disconnect()
* Disable/Enable Connected Device
```python
# disable (lock) device, ensure no activity while some process run
# disable (lock) device, to ensure no user activity in device while some process run
conn.disable_device()
# re-enable the connected device
# re-enable the connected device and allow user activity in device again
conn.enable_device()
```
@ -100,7 +107,7 @@ conn.set_time(newtime)
```
* Ger Firmware Version and extra information
* Ger Firmware Version and Extra Information
```python
conn.get_firmware_version()
@ -118,7 +125,7 @@ conn.get_mac()
conn.get_pin_width()
```
* Get Device use and free Space
* Get Device Usage Space
```python
conn.read_sizes()
@ -142,6 +149,7 @@ conn.set_user(uid=1, name='Fanani M. Ihsan', privilege=const.USER_ADMIN, passwor
users = conn.get_users()
# Delete User
conn.delete_user(uid=1)
conn.delete_user(user_id=123)
```
* Fingerprints
@ -168,7 +176,7 @@ zk.enroll_user('1')
```python
# Get attendances (will return list of Attendance object)
attendances = conn.get_attendance()
# Clear attendances record
# Clear attendances records
conn.clear_attendance()
```
@ -258,7 +266,7 @@ conn.test_voice(index=0) # will say 'Thank You'
* Device Maintenance
```python
# DANGER!!! This command will be erase all data in the device (incude: user, attendance report, and finger database)
# DANGER!!! This command will be erase all data in the device (incuded: user, attendance report, and finger database)
conn.clear_data()
# shutdown connected device
conn.poweroff()
@ -446,3 +454,4 @@ If you have another version tested and it worked, please inform me to update thi
* HTTP Rest api
* ~~Create real time api (if possible)~~
* and much more ...