- المكونات المطلوبة:
- مخطط الدائرة وشرحها:
- تثبيت مكتبة لجهاز استشعار بصمات الأصابع:
- تشغيل مستشعر بصمة الإصبع مع Raspberry Pi:
- برمجة بايثون:
أصبح مستشعر بصمة الإصبع ، الذي اعتدنا رؤيته في Sci-Fi moives منذ بضع سنوات ، شائعًا جدًا للتحقق من هوية الشخص لأغراض مختلفة. في الوقت الحاضر ، يمكننا أن نرى أنظمة تعتمد على بصمات الأصابع في كل مكان في حياتنا اليومية مثل الحضور في المكاتب ، والتحقق من الموظفين في البنوك ، والسحب النقدي أو الإيداع في أجهزة الصراف الآلي ، للتحقق من الهوية في المكاتب الحكومية وما إلى ذلك ، لقد قمنا بالفعل بتوصيلها مع Arduino ، سنقوم اليوم باستخدام FingerPrint Sensor مع Raspberry Pi. باستخدام نظام Raspberry Pi FingerPrint ، يمكننا تسجيل بصمات أصابع جديدة في النظام ويمكننا حذف بصمات الأصابع التي تم تغذيتها بالفعل. تم عرض العمل الكامل للنظام في الفيديو المقدم في نهاية المقالة.
المكونات المطلوبة:
- فطيرة التوت
- USB لتحويل المسلسل
- وحدة البصمة
- أزرار الضغط
- 16x2 LCD
- 10 كيلو وعاء
- لوح الخبز أو ثنائي الفينيل متعدد الكلور (أمر من JLCPCB)
- أسلاك توصيل
- LED (اختياري)
- مقاوم 150 أوم -1 كيلو أوم (اختياري)
مخطط الدائرة وشرحها:
في مشروع واجهة مستشعر Raspberry Pi Finger Print هذا ، استخدمنا 4 أزرار ضغط: واحد لتسجيل الإصبع الجديد ، واحد لحذف بصمات الأصابع التي تم تغذيتها بالفعل والباقي اثنين لزيادة / إنقاص موضع بصمات الأصابع التي تم تغذيتها بالفعل. A LED يستخدم ليشير إلى أن استشعار بصمة على استعداد لاتخاذ الإصبع للمطابقة. استخدمنا هنا وحدة البصمة التي تعمل على UART. لذلك قمنا هنا بتوصيل وحدة بصمات الأصابع هذه مع Raspberry Pi باستخدام محول USB إلى Serial.
لذا ، أولاً وقبل كل شيء ، نحتاج إلى إجراء كل التوصيلات المطلوبة كما هو موضح في مخطط الدائرة أدناه. الاتصالات بسيطة ، لقد قمنا للتو بتوصيل وحدة بصمة الإصبع بمنفذ Raspberry Pi USB باستخدام محول USB إلى Serial. يتم استخدام شاشة LCD مقاس 16 × 2 لعرض جميع الرسائل. يتم استخدام وعاء 10 كيلو أيضًا مع شاشة LCD للتحكم في تباين نفس الشيء. 16x2 LCD دبابيس RS و EN و d4 و d5 و d6 و d7 متصلة بـ GPIO Pin 18 و 23 و 24 و 25 و 8 و 7 من Raspberry Pi على التوالي. أربعة أزرار انضغاطية متصلة بـ GPIO Pin 5 و 6 و 13 و 19 من Raspberry Pi. LED متصل أيضًا عند الطرف 26 من RPI.
تثبيت مكتبة لجهاز استشعار بصمات الأصابع:
بعد إجراء جميع الاتصالات ، نحتاج إلى تشغيل Raspberry Pi وتجهيزه مع فتح الجهاز. نحتاج الآن إلى تثبيت مكتبة بصمات الأصابع لـ Raspberry Pi بلغة Python باتباع الخطوات التالية.
الخطوة 1: لتثبيت هذه المكتبة ، فإن امتيازات الجذر مطلوبة. لذلك ندخل أولاً في الجذر بأمر معين:
سودو باش
الخطوة 2: ثم قم بتنزيل بعض الحزم المطلوبة باستخدام الأوامر المحددة:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - إضافة مفتاح apt - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / etc / apt / sources.list.d /
الخطوة 3: بعد ذلك ، نحتاج إلى تحديث Raspberry pi وتثبيت مكتبة مستشعر بصمات الأصابع التي تم تنزيلها:
sudo apt-get update sudo apt-get install python-fingerprint –yes
الخطوة 4: بعد تثبيت المكتبة الآن ، نحتاج إلى التحقق من منفذ USB الذي يتصل به مستشعر بصمات الأصابع ، باستخدام الأمر المعطى:
ls / dev / ttyUSB *
الآن استبدل رقم منفذ USB ، بمنفذ USB الذي حصلت عليه فوق الشاشة واستبدله في كود python. يتم تقديم كود Python الكامل في نهاية هذا المشروع.
تشغيل مستشعر بصمة الإصبع مع Raspberry Pi:
تشغيل هذا المشروع بسيط ، ما عليك سوى تشغيل كود python وستكون هناك بعض الرسائل التمهيدية على شاشة LCD ، ثم سيُطلب من المستخدم وضع الإصبع على مستشعر بصمة الإصبع. الآن من خلال وضع وحدة بصمة الإصبع ، يمكننا التحقق مما إذا كانت بصمات الأصابع مخزنة بالفعل أم لا. إذا تم تخزين بصمة إصبعك ، فستعرض شاشة LCD الرسالة مع موضع تخزين بصمة الإصبع مثل " Fount at Pos: 2" وإلا ستظهر "No Match Found" .
الآن لتسجيل بصمة الإصبع ، يحتاج المستخدم إلى الضغط على زر التسجيل واتباع رسائل التعليمات على شاشة LCD.
إذا أراد المستخدم حذف أي من بصمات الأصابع ، فيجب على المستخدم الضغط على زر الحذف. بعد ذلك ، ستطلب شاشة LCD موضع البصمة المراد حذفها. الآن باستخدام زرين ضغط آخرين للزيادة والإنقاص ، يمكن للمستخدم تحديد موضع بصمة الإصبع المحفوظة والضغط على زر التسجيل (في هذا الوقت يتصرف زر التسجيل كزر موافق) لحذف بصمة الإصبع هذه. لمزيد من الفهم ، ألق نظرة على الفيديو المقدم في نهاية المشروع.
برمجة بايثون:
Python للتفاعل مع مستشعر بصمات الأصابع مع RPi سهل باستخدام وظائف مكتبة بصمات الأصابع. ولكن إذا أراد المستخدم التفاعل معها بنفسه ، فسيكون ذلك صعبًا بعض الشيء لأول مرة. في أوراق بيانات مستشعر بصمات الأصابع ، يتم تقديم كل ما هو مطلوب لربط نفس الوحدة. يتوفر كود GitHub لاختبار Raspberry Pi باستخدام مستشعر بصمة الإصبع.
هنا استخدمنا المكتبة لذلك نحتاج فقط إلى استدعاء وظيفة المكتبة. في الكود ، نحتاج أولاً إلى استيراد مكتبات مثل بصمات الأصابع و GPIO والوقت ، ثم نحتاج إلى تحديد دبابيس لأزرار LCD و LED وأزرار الضغط.
وقت الاستيراد من pyfingerprint.pyfingerprint استيراد PyFingerprint استيراد RPi.GPIO كـ gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 تسجيل = 5 حذف = 6 inc = 13 dec = 19 led = 26 HIGH = 1 منخفض = 0
بعد ذلك ، نحتاج إلى التهيئة وإعطاء التوجيه للدبابيس المحددة
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 (register، 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)
الآن قمنا بتهيئة مستشعر بصمات الأصابع
جرب: f = PyFingerprint ('/ dev / ttyUSB0'، 57600، 0xFFFFFFFF، 0x00000000) إذا كان (f.verifyPassword () == False): زيادة ValueError ('كلمة مرور مستشعر بصمة الإصبع المعينة خاطئة!') باستثناء الاستثناء كـ e: طباعة ('رسالة الاستثناء:' + str (هـ)) خروج (1)
لقد كتبنا بعض الوظائف لتهيئة شاشة LCD وتشغيلها ، تحقق من الكود الكامل أدناه في قسم الكود:
def تبدأ () ، def lcdcmd (ch) ، def lcdwrite (ch) ، def lcdprint (Str) ، def setCursor (x ، y)
بعد كتابة جميع وظائف برنامج تشغيل LCD ، قمنا بوضع وظائف لتسجيل بصمات الأصابع والبحث عنها وحذفها.
يتم استخدام وظيفة def registerFinger () لتسجيل بصمات الأصابع الجديدة أو حفظها. يتم استخدام وظيفة
def searchFinger () للبحث عن بصمات الأصابع المخزنة بالفعل
def deleteFinger () يتم استخدام functinos لتخصيص بصمة الإصبع المحفوظة بالفعل عن طريق الضغط على زر دفع correspontind.
يتم إعطاء كود الوظيفة أعلاه في كود بيثون أدناه.
بعد ذلك ، أخيرًا ، نحتاج إلى تهيئة النظام في حلقة واحدة من خلال طلب وضع Finger على مستشعر بصمات الأصابع ، ثم سيقوم النظام بفحص ما إذا كانت بصمة الإصبع هذه صالحة أم لا وعرض النتائج وفقًا لذلك.
start () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("ترحب بك") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led، HIGH) lcdcmd (1) lcdprint ("Place Finger") إذا كان gpio.input (Register) == 0: gpio.output (أدى ، منخفض) ، تسجيل فينغر () elif gpio.input (حذف) == 0: gpio.output (led ، منخفض) بينما gpio.input (حذف) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
أكمل كود Python وفيديو العمل أدناه.