- आवश्यक घटक:
- सर्किट आरेख और स्पष्टीकरण:
- फिंगर प्रिंट सेंसर के लिए लाइब्रेरी स्थापित करना:
- रास्पबेरी पाई के साथ फिंगरप्रिंट सेंसर का संचालन:
- पायथन प्रोग्रामिंग:
फिंगर प्रिंट सेंसर, जिसे हम कुछ साल पहले विज्ञान-फाई के जीवन में देखते थे, अब विभिन्न उद्देश्यों के लिए किसी व्यक्ति की पहचान को सत्यापित करना बहुत आम हो गया है। वर्तमान समय में हम अपने दैनिक जीवन में हर जगह फिंगरप्रिंट आधारित प्रणाली देख सकते हैं जैसे कार्यालयों में उपस्थिति, बैंकों में कर्मचारी सत्यापन, एटीएम में नकदी निकासी या जमा के लिए, सरकारी कार्यालयों में पहचान सत्यापन के लिए आदि। हमने पहले से ही इसे Arduino के साथ हस्तक्षेप किया है, आज हम रास्पबेरी पाई के साथ फ़िंगरप्रिंट सेंसर को इंटरफ़ेस करने जा रहे हैं । इस रास्पबेरी पाई फ़िंगरप्रिंट सिस्टम का उपयोग करके, हम सिस्टम में नए फ़िंगर प्रिंट को दर्ज कर सकते हैं और पहले से ही फ़िंगरप्रिंट को हटा सकते हैं। लेख के अंत में दिए गए वीडियो में सिस्टम का पूरा काम दिखाया गया है ।
आवश्यक घटक:
- रास्पबेरी पाई
- USB से सीरियल कनवर्टर
- फिंगरप्रिंट मॉड्यूल
- पुश बटन
- 16x2 एलसीडी
- 10k पॉट
- रोटी बोर्ड या पीसीबी (JLCPCB से ऑर्डर किया गया)
- जम्पर के तार
- एलईडी (वैकल्पिक)
- रोकनेवाला 150 ओम -1 k ओम (वैकल्पिक)
सर्किट आरेख और स्पष्टीकरण:
इस रास्पबेरी पाई फिंगर प्रिंट सेंसर इंटरफेसिंग प्रोजेक्ट में, हमने 4 पुश बटन का उपयोग किया है: एक नई फिंगर प्रिंग को एनरोल करने के लिए, एक पहले से खिलाए गए फिंगर प्रिंट को हटाने के लिए और बाकी दो के लिए इंक्रीमेंट / डीक्रीमेंट पहले से ही फिंगर प्रिंट की स्थिति। एक एलईडी का उपयोग संकेत के लिए किया जाता है कि फिंगरप्रिंट सेंसर मिलान के लिए उंगली लेने के लिए तैयार है। यहां हमने एक फिंगरप्रिंट मॉड्यूल का उपयोग किया है जो UART पर काम करता है। इसलिए यहां हमने USB से सीरियल कनवर्टर का उपयोग करते हुए रास्पबेरी पाई के साथ इस फिंगरप्रिंट मॉड्यूल को बाधित किया है ।
तो, सबसे पहले, हमें सभी आवश्यक कनेक्शन बनाने की आवश्यकता है जैसा कि नीचे दिए गए सर्किट आरेख में दिखाया गया है। कनेक्शन सरल हैं, हमने USB से सीरियल कनवर्टर का उपयोग करके सिर्फ रास्पबेरी पाई यूएसबी पोर्ट से फिंगरप्रिंट मॉड्यूल कनेक्ट किया है। सभी संदेशों को प्रदर्शित करने के लिए 16x2 एलसीडी का उपयोग किया जाता है। उसी के विपरीत को नियंत्रित करने के लिए एलसीडी के साथ 10k पॉट का भी उपयोग किया जाता है। 16x2 एलसीडी पिन आरएस, एन, डी 4, डी 5, डी 6 और डी 7 क्रमशः रास्पबेरी पाई के जीपीआईओ पिन 18, 23, 24, 25, 8 और 7 से जुड़े हैं। चार पुश बटन रास्पबेरी पाई के GPIO पिन 5, 6, 13 और 19 से जुड़े हैं। आरपीआई के पिन 26 पर भी एलईडी लगी हुई है।
फिंगर प्रिंट सेंसर के लिए लाइब्रेरी स्थापित करना:
सभी कनेक्शन बनाने के बाद हमें रास्पबेरी पाई को पावर करने और टर्मिनल ओपन के साथ तैयार करने की आवश्यकता है। अब हमें नीचे दिए गए चरणों का पालन करते हुए अजगर भाषा में रास्पबेरी पाई के लिए फिंगरप्रिंट लाइब्रेरी स्थापित करने की आवश्यकता है ।
चरण 1: इस पुस्तकालय को स्थापित करने के लिए, रूट विशेषाधिकारों की आवश्यकता होती है। इसलिए पहले हम दिए गए कमांड द्वारा रूट में प्रवेश करते हैं:
सुडो बैश
चरण 2: फिर दिए गए आदेशों का उपयोग करके कुछ आवश्यक पैकेज डाउनलोड करें:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - apt-key add - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / आदि / apt / source.list.d /
चरण 3: इसके बाद, हमें रास्पबेरी पाई को अपडेट करने और डाउनलोड किए गए फिंगर प्रिंट सेंसर लाइब्रेरी को स्थापित करने की आवश्यकता है:
sudo apt-get update sudo apt-get install अजगर-फिंगरप्रिंट-yes
चरण 4: लाइब्रेरी स्थापित करने के बाद अब हमें USB पोर्ट की जांच करने की आवश्यकता है, जिस पर दिए गए कमांड का उपयोग करके आपका फिंगर प्रिंट सेंसर जुड़ा हुआ है:
ls / देव / ttyUSB *
अब USB पोर्ट नंबर को बदलें, USB पोर्ट के साथ आप स्क्रीन पर आ गए और इसे अजगर कोड में बदल दें। इस परियोजना के अंत में पूरा पायथन कोड दिया गया है।
रास्पबेरी पाई के साथ फिंगरप्रिंट सेंसर का संचालन:
इस परियोजना का संचालन सरल है, बस अजगर कोड चलाएं और एलसीडी पर कुछ इंट्रो संदेश होंगे और फिर उपयोगकर्ता को फिंगर प्रिंट सेंसर पर प्लेस फिंगर के लिए कहा जाएगा । अब फिंगरप्रिंट मॉड्यूल पर उंगली रखकर, हम जांच सकते हैं कि हमारे फिंगर प्रिंट पहले से ही संग्रहीत हैं या नहीं। यदि आपका फिंगरप्रिंट संचित है, तो LCD ' Fount at Pos: 2' जैसे फिंगरप्रिंट की स्टोरेज स्थिति के साथ संदेश दिखाएगा अन्यथा यह 'No Match Found' दिखाएगा ।
अब एक फिंगर प्रिंट लेने के लिए, उपयोगकर्ता को एनरोल बटन को दबाना होगा और एलसीडी स्क्रीन पर दिए गए निर्देशों का पालन करना होगा।
यदि उपयोगकर्ता किसी भी फिंगरप्रिंट को हटाना चाहता है तो उपयोगकर्ता को डिलीट बटन दबाना होगा । जिसके बाद, एलसीडी फिंगरप्रिंट की स्थिति के लिए पूछेगा जिसे हटाना है। अब वेतन वृद्धि और वेतन वृद्धि के लिए एक और दो पुश बटन का उपयोग करके, उपयोगकर्ता उस फिंगरप्रिंट को हटाने के लिए सहेजे गए फिंगर प्रिंट की स्थिति का चयन कर सकता है और नामांकन बटन दबा सकता है (इस समय नामांकन बटन ठीक व्यवहार करता है)। अधिक समझ के लिए परियोजना के अंत में दिए गए वीडियो पर एक नज़र डालें ।
पायथन प्रोग्रामिंग:
फिंगरप्रिंट लाइब्रेरी फ़ंक्शंस का उपयोग करने के साथ आरपीआई के साथ फिंगर प्रिंट सेंसर को बदलने के लिए पायथन आसान है। लेकिन अगर उपयोगकर्ता इसे स्वयं इंटरफ़ेस करना चाहता है, तो यह पहली बार थोड़ा मुश्किल होगा। फिंगर प्रिंट सेंसर डेटशीट में, वह सब कुछ दिया जाता है जो एक ही मॉड्यूल को इंटरफेस करने के लिए आवश्यक होता है। GitHub कोड फिंगर प्रिंट सेंसर के साथ आपके रास्पबेरी पाई का परीक्षण करने के लिए उपलब्ध है।
यहां हमने लाइब्रेरी का उपयोग किया है इसलिए हमें केवल लाइब्रेरी फ़ंक्शन को कॉल करने की आवश्यकता है। कोड में, पहले हमें फिंगरप्रिंट, GPIO और समय जैसे पुस्तकालयों को आयात करने की आवश्यकता है, फिर हमें एलसीडी, एलईडी और पुश बटन के लिए पिन को परिभाषित करने की आवश्यकता है ।
pyfingerprint.pyfingerprint आयात से आयात समय PyFingerprint आयात RPi.GPIO को gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 नामांकन = 5 हटाएं = 6 हटाएं = 13 dec = 19 नेतृत्व = 26 उच्च = 1 कम = ०
इसके बाद, हमें चयनित पिंस को प्रारंभिक करने और दिशा देने की आवश्यकता है
gpio.setwarnings (गलत) 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 (नामांकन, gpio.IN, pull_upaddown = gpio.PUD_UP) gpio.setup (हटाएँ, 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.Oset)
अब हमने फिंगरप्रिंट सेंसर को इनिशियलाइज़ किया है
try: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) अगर (f.verifyPassword () == गलत): ValueEror ('दिया गया फिंगरप्रिंट सेंसर पासवर्ड गलत है!') अपवाद को e के रूप में छोड़कर। प्रिंट ('अपवाद संदेश:' + str (e)) निकास (1)
हमने एलसीडी को इनिशियलाइज़ और ड्राइव करने के लिए कुछ फ़ंक्शन लिखे हैं, कोड सेक्शन में नीचे दिए गए पूर्ण कोड की जाँच करें:
डिफ स्टार्ट (), डिफ एलसीडीडीडी (ch), डीफ एलसीडीराइट (ch), डिफ एलसीडीप्रिंट (Str), डिफिट सेटसकोर (x, y)
सभी एलसीडी चालक कार्यों को लिखने के बाद, हमने फिंगरप्रिंट नामांकन, खोज और हटाने के लिए कार्य किए हैं।
def नामांकन () फंक्शन का उपयोग नामांकन के लिए या नए फिंगर प्रिंट को बचाने के लिए किया जाता है।
डीईएफ़ searchFinger () समारोह से पहले से संगृहीत उंगली प्रिंट searthc लिए किया जाता है
deleteFinger डीईएफ़ () correspontind पुश बटन दबाकर functinos पहले ही सुरक्षित फिंगर प्रिंट deoted किया जाता है।
सभी फ़ंक्शन के कोड को नीचे दिए गए अजगर कोड में दिया गया है।
इसके बाद, अंत में, हमें सिस्टम को इनिशियलाइज़ करना होगा, जबकि 1 लूप में फिंगर प्रिंट सेंसर पर प्लेस फिंगर से पूछकर और फिर सिस्टम यह जाँच करेगा कि यह फिंगर प्रिंट मान्य है या नहीं और तदनुसार परिणाम प्रदर्शित करें।
start () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("सर्किट डाइजेस्ट") lcdcmd (0xc0) lcdprint ("वेल्कम" (आपका स्वागत है)) time.sleep (3) ध्वज = 0 एलसीडीक्लेयर () जबकि 1: gpio.output (नेतृत्व, उच्च) lcdcmd (1) एलसीडी ("प्लेस फिंगर") अगर gpio.input (नामांकन == 0: gpio.output () नेतृत्व, LOW) नामांकन (), एलिफ gpio.input (डिलीट) == 0: gpio.output (नेतृत्व, LOW) जबकि gpio.input (डिलीट) == 0: time.sleep (0.1%) DeleteFinger () और: searchFinger ())
पूरा पायथन कोड और एक कार्य वीडियो नीचे दिया गया है।