This project is based on Raspberry pi 1 and UART fingerprint scanner.
It is very easy to build and control.
Fingerprint scanner is able to store 1000 fingerprints.
You can add new one, delete or even download image of scanned fingers.
Everything is controlled via telegram bot / or web-interface(in future)
Adding new finger is very easy:
*Push "Add new finger" in telegram bot and place your finger to scanner two times
*Write the name of the person, and it will be stored in text file with the number of the fingerprint( it is need to delete specific finger. )
* As soon as you added new finger, push "Start search", place your finger and this time relay will change its state
* Connect relay to door and you do not need any keys no more, use your finger to enter.
For this you will need an RPI1/2/3 (it doesn't matter) with the Raspbian installed. You can get it here: https://www.raspberrypi.org/downloads/raspbian/
Boot up Raspbian and make some configuration.
sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt
Edit the file:
sudo nano /boot/cmdline.txt
Delete any parameters involving the serial port "ttyAMA0" or "serial0" if it exist, which in this example is:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Press CTRL+X to exit and save .
Next, you have to disable the serial getty service:
sudo systemctl stop serial-getty@ttyAMA0.service sudo systemctl disable serial-getty@ttyAMA0.service
Enabling UART with minimum core frequency:
pi@raspberrypi:~ $ sudo nano /boot/config.txt # Enable UART enable_uart=1
Enabling UART with maximum core frequency:
pi@raspberrypi:~ $ sudo nano /boot/config.txt # Enable UART enable_uart=1 force_turbo=1
Install Python library for ZFM fingerprint sensors
~$ echo "deb http://apt.pm-codeworks.de wheezy main" | sudo tee -a /etc/apt/sources.list ~$ wget -O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg | sudo apt-key add - ~$ sudo apt-get update ~$ sudo apt-get install python-fingerprint ~$ sudo usermod -a -G dialout pi ~$ cd /usr/share/doc/python-fingerprint/examples/
In my case i host telegram bot apart from rpi, so i created ssh secure public key to communicate with raspberry.
Login to server where the telegram bot is hosted:
server1:~# cd /root/ server1:~# ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/root/.ssh/id_dsa): <PRESS ENTER TO ACCEPT DEFAULT> Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): <PRESS ENTER FOR NO PASSPHRASE> Enter same passphrase again: <PRESS ENTER FOR NO PASSPHRASE> Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. The key fingerprint is: 41:03:aa:dc:cc:b9:39:50:65:bc:ee:7b:36:d2:64:7a root@server1
Copy the public key from 'server1' to 'raspberrypi'...
server1:~# scp /root/.ssh/id_dsa.pub 192.168.0.2:/root/.ssh/authorized_keys
You can test it with