Git Product home page Git Product logo

pyfingerprint's Introduction

Python library for ZFM fingerprint sensors

Documentation Status

The PyFingerprint library allows to use ZhianTec ZFM-20, ZFM-60, ZFM-70 and ZFM-100 fingerprint sensors on the Raspberry Pi or other Linux machines. Some other models like R302, R303, R305, R306, R307, R551 and FPM10A also work.

Note: The library is inspired by the C++ library from Adafruit Industries: https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library

Installation

There are two ways of installing PyFingerprint: Installation of the stable or development version. The stable version is distributed through the PM Code Works APT repository and is fully tested but does not contain the latest changes.

Installation of the stable version

Add PM Code Works repository:

  • Debian 9/Ubuntu 16 & 17:

    echo "deb http://apt.pm-codeworks.de stretch main" | sudo tee /etc/apt/sources.list.d/pm-codeworks.list

  • Debian 10/Ubuntu 18 & 19:

    echo "deb http://apt.pm-codeworks.de buster main" | sudo tee /etc/apt/sources.list.d/pm-codeworks.list

Add PM Code Works signing key:

wget -qO - http://apt.pm-codeworks.de/pm-codeworks.de.gpg | sudo apt-key add -
sudo apt update

Install the package:

sudo apt install python3-fingerprint

Installation of the development version

The development version contains the latest changes that may not have been fully tested and should therefore not be used in production. It is recommended to install the stable version.

Install required packages for building:

sudo apt install git devscripts equivs

Clone this repository:

git clone https://github.com/bastianraschke/pyfingerprint.git

Build the package:

cd ./pyfingerprint/src/
sudo mk-build-deps -i debian/control
dpkg-buildpackage -uc -us

The library supports Python 2 and Python 3. There are one Debian package for each. It's up to you which version you install.

For Python 3 use:

sudo dpkg -i ../python3-fingerprint*.deb

For Python 2 use:

sudo dpkg -i ../python-fingerprint*.deb

Install missing dependencies:

sudo apt -f install

Alternative installation using PIP

If you do not have a Debian based OS or something does not work you can also install the Python package via PIP:

pip install pyfingerprint

NOTE: It is important to not use the Debian package and PIP package at the same time!

Setup

Allow non-root user "pi" (replace it correctly) to use the serial port devices:

sudo usermod -a -G dialout pi
sudo reboot

How to use the library

Enroll a new finger

python /usr/share/doc/python-fingerprint/examples/example_enroll.py

Search an enrolled finger

python /usr/share/doc/python-fingerprint/examples/example_search.py

Delete an enrolled finger

python /usr/share/doc/python-fingerprint/examples/example_delete.py

Download image of a scanned finger

python /usr/share/doc/python-fingerprint/examples/example_downloadimage.py

Generate a 32-bit random number on the ZFM hardware PRNG

python /usr/share/doc/python-fingerprint/examples/example_generaterandom.py

Further information

See my blog post for more information:

https://sicherheitskritisch.de/2015/03/fingerprint-sensor-fuer-den-raspberry-pi-und-debian-linux-en/

pyfingerprint's People

Contributors

philippmeisberger avatar bastianraschke avatar anhquan223241 avatar ljaraque avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.