Difference between revisions of "Pi-Finger"
From SB-Components Wiki
(26 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | PiFinger, the first-ever Fingerprint HAT for Raspberry Pi Comprise of onboard Nuvoton MCU with an on-chip crypto-accelerator, Cortex-M23 TrustZone, and XOM facilities. A user can use the communication protocol to the PiFinger with commands over the UART protocol with the Baud rate | + | <div class="row"> |
+ | <div class="large-8 column"> | ||
+ | == Pi-Finger == | ||
+ | PiFinger, the first-ever Fingerprint HAT for Raspberry Pi Comprise of onboard Nuvoton MCU with an on-chip crypto-accelerator, Cortex-M23 TrustZone, and XOM facilities. A user can use the communication protocol to the PiFinger with commands over the UART protocol with the default Baud rate of 9600 bps or USB 2.0 full speed. | ||
− | + | === Features === | |
+ | * Capacitive Contact Technology | ||
+ | * On Chip-Crypto Accelerator | ||
+ | * High-Speed UART Interface | ||
+ | * Register up to 24 Fingerprints | ||
+ | * Nuvoton MCU | ||
+ | *Cortex-M23 Trust zone | ||
− | + | === Specifications === | |
− | + | * Processor - Nuvoton MCU Cortex M23 | |
− | + | * Communication - UART, USB 2.0 and GPIO | |
− | + | * Display - 0.91” OLED (SSD1306) | |
− | OLED | + | * Buzzer - Yes |
− | + | * Default Baud Rate - 9600 bps | |
− | + | * Matching Mode - 1:1,1:N | |
− | |||
− | + | </div> | |
− | + | <div class="large-4 column"> | |
+ | [[File:PiFinger.png|thumb|left|alt=PiFInger| Buy it From : ''[https://shop.sb-components.co.uk/products/pifinger-fingerprint-hat-for-raspberry-pi Click Here]'']] | ||
+ | </div> | ||
+ | </div> | ||
− | + | == Pinout == | |
− | + | <table class="wikitable"> | |
+ | <tr> <th> PiFinger </th> <th>Raspberry Pi</th> </tr> | ||
+ | <tr><td> VCC </td> <td> 5V </td> </tr> | ||
+ | <tr><td> GND </td> <td> GND </td> </tr> | ||
+ | <tr><td> Fingerprint TX </td> <td> GPIO15 (RXD) </td> </tr> | ||
+ | <tr><td> Fingerprint RX </td> <td> GPIO14 (TXD) </td> </tr> | ||
+ | <tr><td> OLED SDA </td> <td> GPIO2 (SDA) </td> </tr> | ||
+ | <tr><td> OLED SCL </td> <td> GPIO3 (SCL) </td> </tr> | ||
+ | <tr><td> BUZZER </td> <td> GPIO13 </td> </tr> | ||
+ | |||
+ | </table> | ||
+ | |||
+ | == Installation == | ||
+ | ==== Python ==== | ||
+ | ===== Required Hardware ===== | ||
+ | * Raspberry Pi x 1 | ||
+ | * Pi-Finger x 1 | ||
+ | ===== Enable I2C and Serial Interface ===== | ||
+ | * Open a terminal and run the following commands to enable I2C: | ||
+ | <source lang="shell"> sudo raspi-config </source> | ||
+ | Choose Interfacing Options -> I2C ->yes | ||
− | sudo raspi-config | + | * Again run below command to enable Serial |
+ | <source lang="shell"> sudo raspi-config </source> | ||
Choose Interfacing Options -> Serial -> No -> Yes | Choose Interfacing Options -> Serial -> No -> Yes | ||
+ | * You can also enable Serial and I2C using Graphical method, Open Menu by clicking on <b> Raspberry Pi icon >> Preferences >> Raspberry Pi Configurations >> Interfaces </b>, and select below option. | ||
+ | [[File:Serial_i2c_en_graphical.PNG]] | ||
− | + | * Now reboot your pi by running the below command : | |
− | Connect PiFinger on top of 40 | + | <source lang="shell"> sudo reboot </source> |
− | + | <br> | |
− | + | ===== <b> Board Test </b> ===== | |
+ | * Connect PiFinger on top of 40 pins stackable GPIO header of Raspberry Pi. | ||
− | + | * Now Clone/Download PiFinger Repository by running below command or directly download from Github. | |
− | |||
− | |||
− | |||
− | + | <source lang="shell"> git clone https://github.com/sbcshop/PiFinger.git </source> | |
+ | * Open cloned/downloaded folder and choose your environment type (i.e: Raspberry Pi or Windows) | ||
− | For | + | ''' For Raspberry Pi ''' |
− | |||
− | + | * Run PiFinger GUI by running the below command: | |
+ | <source lang="shell" inline>python3 PiFinger_GUI.py </source> or using any python3 supported ide. | ||
+ | Select COM port and Baud Rate ( default is 9600) from the above GUI ("/dev/ttyS0" in case of default connection), and click on connect button to start communication with the fingerprint sensor. | ||
+ | <img src="https://raw.githubusercontent.com/sbcshop/PiFinger/main/Images/pifinger_connect_pi.gif" height="600" width="600" /> | ||
− | GUI | + | ''' For Windows ''' |
− | + | * Run PiFinger GUI by running "PiFinger_GUI.py" file with any python3 supported ide. | |
− | + | * Select COM port and Baud Rate ( default is 9600) from above GUI ("COM7" (check comport from device manager) in case of default connection), and click on connect button to start communication with the fingerprint sensor. | |
− | + | <img src="https://raw.githubusercontent.com/sbcshop/PiFinger/main/Images/pifinger_connect_win.gif" height="600" width="600" /> | |
− | Remove All Fingerprint (Registered) - Remove all | + | ===== GUI Features ===== |
+ | * '''Compare Fingerprint''' - Option to Compare registered Fingerprint. | ||
+ | * '''Add Fingerprint''' - Add New Fingerprint, will assign an ID for each successful registration. | ||
+ | * '''Remove Fingerprint''' ( By ID) - Remove registered Fingerprint for a specific ID. | ||
+ | * '''Remove All Fingerprint''' (Registered) - Remove all saved fingerprints in a single click. | ||
− | + | == Resources == | |
− | |||
− | + | ''' Github ''' | |
− | + | * [https://github.com/sbcshop/PiFinger Source Code] | |
+ | * [https://github.com/sbcshop/PiFinger/wiki/Communication-Protocol Communication Protocol] |
Latest revision as of 11:43, 23 June 2021
Pi-Finger
PiFinger, the first-ever Fingerprint HAT for Raspberry Pi Comprise of onboard Nuvoton MCU with an on-chip crypto-accelerator, Cortex-M23 TrustZone, and XOM facilities. A user can use the communication protocol to the PiFinger with commands over the UART protocol with the default Baud rate of 9600 bps or USB 2.0 full speed.
Features
- Capacitive Contact Technology
- On Chip-Crypto Accelerator
- High-Speed UART Interface
- Register up to 24 Fingerprints
- Nuvoton MCU
- Cortex-M23 Trust zone
Specifications
- Processor - Nuvoton MCU Cortex M23
- Communication - UART, USB 2.0 and GPIO
- Display - 0.91” OLED (SSD1306)
- Buzzer - Yes
- Default Baud Rate - 9600 bps
- Matching Mode - 1:1,1:N
Pinout
PiFinger | Raspberry Pi |
---|---|
VCC | 5V |
GND | GND |
Fingerprint TX | GPIO15 (RXD) |
Fingerprint RX | GPIO14 (TXD) |
OLED SDA | GPIO2 (SDA) |
OLED SCL | GPIO3 (SCL) |
BUZZER | GPIO13 |
Installation
Python
Required Hardware
- Raspberry Pi x 1
- Pi-Finger x 1
Enable I2C and Serial Interface
- Open a terminal and run the following commands to enable I2C:
sudo raspi-config
Choose Interfacing Options -> I2C ->yes
- Again run below command to enable Serial
sudo raspi-config
Choose Interfacing Options -> Serial -> No -> Yes
- You can also enable Serial and I2C using Graphical method, Open Menu by clicking on Raspberry Pi icon >> Preferences >> Raspberry Pi Configurations >> Interfaces , and select below option.
- Now reboot your pi by running the below command :
sudo reboot
Board Test
- Connect PiFinger on top of 40 pins stackable GPIO header of Raspberry Pi.
- Now Clone/Download PiFinger Repository by running below command or directly download from Github.
git clone https://github.com/sbcshop/PiFinger.git
- Open cloned/downloaded folder and choose your environment type (i.e: Raspberry Pi or Windows)
For Raspberry Pi
- Run PiFinger GUI by running the below command:
python3 PiFinger_GUI.py
or using any python3 supported ide.
Select COM port and Baud Rate ( default is 9600) from the above GUI ("/dev/ttyS0" in case of default connection), and click on connect button to start communication with the fingerprint sensor.
For Windows
- Run PiFinger GUI by running "PiFinger_GUI.py" file with any python3 supported ide.
- Select COM port and Baud Rate ( default is 9600) from above GUI ("COM7" (check comport from device manager) in case of default connection), and click on connect button to start communication with the fingerprint sensor.
GUI Features
- Compare Fingerprint - Option to Compare registered Fingerprint.
- Add Fingerprint - Add New Fingerprint, will assign an ID for each successful registration.
- Remove Fingerprint ( By ID) - Remove registered Fingerprint for a specific ID.
- Remove All Fingerprint (Registered) - Remove all saved fingerprints in a single click.
Resources
Github