- Gerekli Bileşenler:
- Devre Şeması ve Açıklaması:
- Parmak İzi Sensörü için Kitaplığı Yükleme:
- Raspberry Pi ile Parmak İzi Sensörünün Çalışması:
- Python Programlama:
Birkaç yıl önce Sci-Fi filmlerinde gördüğümüz Parmak İzi Sensörü, bir kişinin kimliğini çeşitli amaçlarla doğrulamak için artık çok yaygın hale geldi. Günümüzde ofislere katılım, bankalarda çalışan doğrulama, ATM'lerde nakit çekme veya para yatırma, devlet dairelerinde kimlik doğrulama gibi günlük hayatımızın her yerinde parmak izi tabanlı sistemleri görebiliyoruz. Arduino ile zaten arayüz oluşturduk. bugün Parmak İzi Sensörünü Raspberry Pi ile arayüzleyeceğiz. Bu Raspberry Pi Parmak İzi Sistemini kullanarak sisteme yeni parmak izleri kaydedebilir ve önceden beslenen parmak izlerini silebiliriz. Sistemin komple çalışma içinde gösterilmiştir video makalenin sonunda verilen.
Gerekli Bileşenler:
- Ahududu Pi
- USB - Seri dönüştürücü
- Parmak İzi Modülü
- Basma düğmeleri
- 16x2 LCD
- 10k pot
- Ekmek Tahtası veya PCB (JLCPCB'den sipariş edilmiştir)
- Atlama telleri
- LED (isteğe bağlı)
- Direnç 150 ohm -1 k ohm (isteğe bağlı)
Devre Şeması ve Açıklaması:
Bu Raspberry Pi Parmak İzi sensörü arabirim projesinde, 4 basma düğmesi kullandık: biri yeni parmak izini kaydetmek için, biri zaten beslenen parmak izlerini silmek için ve kalan ikisi de zaten beslenen Parmak izlerinin konumunu artırmak / azaltmak için. Parmak izi sensörünün eşleştirme için parmak almaya hazır olduğunu belirtmek için bir LED kullanılır. Burada UART üzerinde çalışan bir parmak izi modülü kullandık. Bu yüzden burada bu parmak izi modülünü USB'den Seri'ye dönüştürücü kullanarak Raspberry Pi ile arayüzledik.
Bu yüzden öncelikle aşağıdaki Devre Şemasında gösterildiği gibi gerekli tüm bağlantıları yapmamız gerekiyor. Bağlantılar basit, parmak izi modülünü USB'den Seri dönüştürücüye kullanarak Raspberry Pi USB portuna bağladık. Tüm mesajları görüntülemek için 16x2 LCD kullanılır. Bunun kontrastını kontrol etmek için LCD ile 10k pot da kullanılır. 16x2 LCD pini RS, EN, d4, d5, d6 ve d7 Raspberry Pi'nin sırasıyla GPIO Pin 18, 23, 24, 25, 8 ve 7'sine bağlanır. Raspberry Pi'nin GPIO Pin 5, 6, 13 ve 19'una dört basma düğmesi bağlanır. LED ayrıca RPI'nin 26 numaralı pinine bağlanır.
Parmak İzi Sensörü için Kitaplığı Yükleme:
Tüm bağlantıları yaptıktan sonra Raspberry Pi'yi açıp terminali açık olarak hazırlamamız gerekiyor. Şimdi aşağıdaki adımları takip ederek Raspberry Pi için python dilinde parmak izi kitaplığı kurmamız gerekiyor.
Adım 1: Bu kitaplığı kurmak için kök ayrıcalıkları gereklidir. Öyleyse önce verilen komutla root'a giriyoruz:
sudo bash
Adım 2: Ardından, verilen komutları kullanarak bazı gerekli paketleri indirin:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - apt-key eklentisi - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / etc / apt / sources.list.d /
Adım 3: Bundan sonra , Raspberry pi'yi güncellememiz ve indirilen parmak izi sensörü kitaplığını yüklememiz gerekiyor:
sudo apt-get update sudo apt-get install python-parmak izi-evet
Adım 4: Kitaplığı kurduktan sonra, verilen komutu kullanarak parmak izi sensörünüzün bağlı olduğu USB bağlantı noktasını kontrol etmemiz gerekiyor:
ls / dev / ttyUSB *
Şimdi USB bağlantı noktası numarasını, ekranın üzerinden aldığınız USB bağlantı noktasıyla değiştirin ve python koduyla değiştirin. Tam Python kodu bu projenin sonunda verilmiştir.
Raspberry Pi ile Parmak İzi Sensörünün Çalışması:
Bu projenin çalışması basittir, sadece python kodunu çalıştırın ve LCD üzerinden bazı giriş mesajları olacak ve ardından kullanıcıdan Parmak İzi Sensörüne Parmağı Yerleştirmesi istenecektir. Şimdi parmak izi modülünün üzerine parmağınızı koyarak parmak izlerimizin önceden kaydedilip kaydedilmediğini kontrol edebiliriz. Parmak iziniz kaydedilmişse, LCD, ' Konum: 2'deki Kaynak ' gibi parmak izinin saklama konumu ile mesajı gösterecektir, aksi takdirde 'Eşleşme Bulunamadı' gösterecektir .
Şimdi bir parmak kaydetmek için Print, basın kaydolmanıza düğmeye kullanıcı ihtiyaçlarını ve LCD ekranda talimatlar mesajları izleyin.
Kullanıcı parmak izlerinden herhangi birini silmek isterse, kullanıcının sil düğmesine basması gerekir . Bundan sonra LCD, silinecek parmak izinin konumunu soracaktır. Artık, artırma ve azaltma için başka bir iki basma düğmesini kullanarak, kullanıcı kaydedilen Parmak İzinin konumunu seçebilir ve bu parmak izini silmek için kayıt düğmesine (şu anda kayıt düğmesi Tamam düğmesi gibi davranır) basabilir. Daha fazla anlayış için projenin sonunda verilen videoya bakın.
Python Programlama:
Parmak İzi Sensörünün RPi ile arayüzlenmesi için Python, parmak izi kitaplığı işlevlerini kullanarak kolaydır. Ancak kullanıcı arayüzü kendisi yapmak isterse, ilk seferinde biraz zor olacaktır. Parmak izi sensörü veri sayfalarında, aynı modülün arayüzünü oluşturmak için gereken her şey verilmiştir. Raspberry pi'nizi Parmak İzi sensörüyle test etmek için bir GitHub kodu mevcuttur.
Burada kütüphaneyi kullandık, bu yüzden sadece kütüphane fonksiyonunu çağırmamız gerekiyor. Kodda önce parmak izi, GPIO ve zaman gibi kütüphaneleri içe aktarmamız, ardından LCD, LED ve butonlar için pinler tanımlamamız gerekiyor .
pyfingerprint.pyfingerprint'den içe aktarma süresi, gpio olarak PyFingerprint içe aktarma RPi.GPIO RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 kayıt = 5 silme = 6 inc = 13 dec = 19 led = 26 HIGH = 1 DÜŞÜK = 0
Bundan sonra , seçilen pinlere başlatmalı ve yön vermeliyiz
gpio.setwarnings (False) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (enroll, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (delet, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (inc, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Şimdi parmak izi sensörünü başlattık
deneyin: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) eğer (f.verifyPassword () == False): e: İstisna dışında ValueError ('Verilen parmak izi sensörü şifresi yanlış!') değerini yükseltin: print ('İstisna mesajı:' + str (e)) exit (1)
LCD'yi başlatmak ve çalıştırmak için bazı işlevler yazdık, kod bölümünde aşağıdaki kodun tamamını kontrol edin:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Tüm LCD sürücü işlevlerini yazdıktan sonra, parmak izi kaydı, arama ve silme işlevlerini yerleştirdik.
def enrollFinger () işlevi, yeni parmak izlerini kaydetmek veya kaydetmek için kullanılır.
def searchFinger () fonksiyonu önceden saklanan parmak izi searthc için kullanılan
deleteFinger def () correspontind basma düğmesine basarak deoted zaten kaydedildi parmak baskı için kullanılan functinos.
Yukarıdaki tüm fonksiyonun Kodu aşağıda verilen python kodunda verilmiştir.
Bundan sonra, son olarak, parmak izi sensörüne Parmağı Yerleştir'i sorarak sistemi 1 döngü içinde başlatmamız gerekiyor ve ardından sistem bu parmak izinin geçerli olup olmadığını kontrol edecek ve sonuçları buna göre gösterecektir.
begin () lcdcmd (0x01) lcdprint ("Parmak İzi") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Hoşgeldiniz") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") eğer gpio.input (enroll) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW), gpio.input (silme) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Tam Python Kodu ve Çalışma Videosu aşağıda verilmiştir.