- ส่วนประกอบที่จำเป็น:
- แผนภาพวงจรและคำอธิบาย:
- การติดตั้ง Library สำหรับ Finger Print Sensor:
- การทำงานของเซ็นเซอร์ลายนิ้วมือกับ Raspberry Pi:
- การเขียนโปรแกรม Python:
Finger Print Sensorซึ่งเราเคยเห็นใน Sci-Fi moives เมื่อไม่กี่ปีที่ผ่านมาปัจจุบันกลายเป็นเรื่องปกติมากในการยืนยันตัวตนของบุคคลเพื่อวัตถุประสงค์ต่างๆ ในปัจจุบันเราสามารถเห็นระบบที่ใช้ลายนิ้วมือได้ทุกที่ในชีวิตประจำวันของเราเช่นการเข้าทำงานในสำนักงานการยืนยันตัวตนของพนักงานในธนาคารการถอนเงินสดหรือการฝากเงินในตู้เอทีเอ็มการยืนยันตัวตนในสถานที่ราชการเป็นต้นเราได้เชื่อมต่อกับ Arduino แล้ว วันนี้เราจะไปติดต่อกับลายนิ้วมือเซนเซอร์ราสเบอร์รี่ Pi เมื่อใช้ระบบพิมพ์ลายนิ้วมือ Raspberry Pi นี้เราสามารถลงทะเบียนลายนิ้วมือใหม่ในระบบและสามารถลบลายนิ้วมือที่ป้อนไว้แล้วได้ การทำงานที่สมบูรณ์ของระบบได้แสดงไว้ในวิดีโอที่ระบุไว้ในตอนท้ายของบทความ
ส่วนประกอบที่จำเป็น:
- ราสเบอร์รี่ Pi
- ตัวแปลง USB เป็น Serial
- โมดูลลายนิ้วมือ
- กดปุ่ม
- 16x2 LCD
- หม้อ 10k
- Bread Board หรือ PCB (สั่งจาก JLCPCB)
- สายจัมเปอร์
- LED (อุปกรณ์เสริม)
- ตัวต้านทาน 150 โอห์ม -1 k โอห์ม (อุปกรณ์เสริม)
แผนภาพวงจรและคำอธิบาย:
ในโครงการเชื่อมต่อเซ็นเซอร์พิมพ์ลายนิ้วมือ Raspberry Pi นี้เราได้ใช้ปุ่มกด 4 ปุ่มหนึ่งปุ่มสำหรับการลงทะเบียนการพิมพ์ลายนิ้วมือใหม่ปุ่มหนึ่งสำหรับการลบลายนิ้วมือที่ป้อนไว้แล้วและพักไว้สองปุ่มเพื่อเพิ่ม / ลดตำแหน่งของลายนิ้วมือที่ป้อนแล้ว ไฟ LEDที่ใช้สำหรับการบ่งชี้ว่าเซ็นเซอร์ลายนิ้วมือพร้อมที่จะใช้นิ้วสำหรับการจับคู่ ที่นี่เราได้ใช้โมดูลลายนิ้วมือซึ่งทำงานบน UART ดังนั้นที่นี่เราได้เชื่อมต่อโมดูลลายนิ้วมือนี้กับราสเบอร์รี่ Pi โดยใช้USB เพื่อแปลงอนุกรม
ก่อนอื่นเราต้องทำการเชื่อมต่อที่จำเป็นทั้งหมดตามที่แสดงในแผนภาพวงจรด้านล่าง การเชื่อมต่อทำได้ง่ายเพียงแค่เชื่อมต่อโมดูลลายนิ้วมือเข้ากับพอร์ต Raspberry Pi USB โดยใช้ตัวแปลง USB เป็น Serial จอ LCD 16x2 ใช้สำหรับแสดงข้อความทั้งหมด นอกจากนี้ยังใช้หม้อ 10k กับ LCD เพื่อควบคุมความคมชัดเหมือนกัน หมุด LCD 16x2 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
การติดตั้ง Library สำหรับ Finger Print Sensor:
หลังจากทำการเชื่อมต่อทั้งหมดแล้วเราจำเป็นต้องเปิดเครื่อง Raspberry Pi และเตรียมพร้อมเมื่อเปิดเทอร์มินัล ตอนนี้เราจำเป็นต้องติดตั้งไลบรารีลายนิ้วมือสำหรับ Raspberry Piในภาษา python โดยทำตามขั้นตอนด้านล่าง
ขั้นตอนที่ 1:ในการติดตั้งไลบรารีนี้จำเป็นต้องมีสิทธิ์รูท ก่อนอื่นเราเข้าสู่ รูท โดยคำสั่งที่กำหนด:
sudo ทุบตี
ขั้นตอนที่ 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 /ources.list.d /
ขั้นตอนที่ 3:หลังจากนี้เราต้องอัปเดต Raspberry pi และติดตั้งไลบรารีเซ็นเซอร์ลายนิ้วมือที่ดาวน์โหลดมา:
sudo apt-get update sudo apt-get install python-Fingerprint - ใช่
ขั้นตอนที่ 4:หลังจากติดตั้งไลบรารีตอนนี้เราต้องตรวจสอบพอร์ต USBที่เซ็นเซอร์พิมพ์ลายนิ้วมือของคุณเชื่อมต่ออยู่โดยใช้คำสั่ง:
ls / dev / ttyUSB *
ตอนนี้แทนที่หมายเลขพอร์ต USB ด้วยพอร์ต USB ที่คุณได้รับจากหน้าจอและแทนที่ด้วยรหัส python รหัส Python ที่สมบูรณ์จะได้รับในตอนท้ายของโครงการนี้
การทำงานของเซ็นเซอร์ลายนิ้วมือกับ Raspberry Pi:
การทำงานของโปรเจ็กต์นี้ทำได้ง่ายเพียงแค่รันโค้ด python จากนั้นจะมีข้อความแนะนำผ่าน LCD จากนั้นผู้ใช้จะถูกขอให้วาง Finger บน Finger Print Sensor ตอนนี้โดยการวางนิ้วบนโมดูลลายนิ้วมือเราสามารถตรวจสอบได้ว่าลายนิ้วมือของเราถูกเก็บไว้แล้วหรือไม่ ถ้าลายนิ้วมือของคุณจะถูกเก็บไว้แล้วจอ LCD จะแสดงข้อความด้วยตำแหน่งที่จัดเก็บลายนิ้วมือเหมือน' Fount ที่ Pos: 2' มิฉะนั้นมันจะแสดง'ไม่ตรงพบ'
ตอนนี้จะลงทะเบียนเรียนนิ้ว พิมพ์ความต้องการของผู้ใช้ในการกดปุ่มลงทะเบียนและทำตามคำแนะนำข้อความบนหน้าจอแอลซีดี
หากผู้ใช้ต้องการลบลายนิ้วมือผู้ใช้ต้องกดปุ่ม ลบ หลังจากนั้น LCD จะถามตำแหน่งของลายนิ้วมือที่จะลบ ขณะนี้โดยใช้ปุ่มกดสองปุ่มเพื่อเพิ่มและลดผู้ใช้สามารถเลือกตำแหน่งของ Finger Print ที่บันทึกไว้และกดปุ่มลงทะเบียน (ในขณะนี้ปุ่มลงทะเบียนจะทำงานเป็นปุ่ม Ok) เพื่อลบลายนิ้วมือนั้น เพื่อความเข้าใจเพิ่มเติมโปรดดูวิดีโอที่ให้ไว้ในตอนท้ายของโครงการ
การเขียนโปรแกรม Python:
Python สำหรับเชื่อมต่อ Finger Print Sensor กับ RPiทำได้ง่ายโดยใช้ฟังก์ชันไลบรารีลายนิ้วมือ แต่ถ้าผู้ใช้ต้องการอินเทอร์เฟซด้วยตัวเองครั้งแรกจะเป็นเรื่องยากเล็กน้อย ในเอกสารข้อมูลเซ็นเซอร์การพิมพ์ลายนิ้วมือทุกอย่างจะได้รับที่จำเป็นสำหรับการเชื่อมต่อโมดูลเดียวกัน มีรหัส GitHub สำหรับทดสอบ Raspberry pi ของคุณด้วยเซ็นเซอร์ Finger Print
ที่นี่เราได้ใช้ไลบรารีดังนั้นเราจึงต้องเรียกใช้ฟังก์ชันไลบรารี ในรหัสอันดับแรกเราต้องนำเข้าไลบรารีเช่นลายนิ้วมือ 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 (เท็จ) 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_up_down = 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.OUT)
ตอนนี้เราได้เปิดใช้งานเซ็นเซอร์ลายนิ้วมือแล้ว
ลอง: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): เพิ่ม ValueError ('รหัสผ่านเซ็นเซอร์ลายนิ้วมือที่ระบุไม่ถูกต้อง!') ยกเว้นข้อยกเว้นเช่น: พิมพ์ ('ข้อความยกเว้น:' + str (e)) ออก (1)
เราได้เขียนฟังก์ชันบางอย่างเพื่อเริ่มต้นและขับเคลื่อน LCD ตรวจสอบรหัสทั้งหมดด้านล่างในส่วนรหัส:
def เริ่มต้น (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
หลังจากเขียนฟังก์ชันไดรเวอร์ LCD ทั้งหมดแล้วเราได้วางฟังก์ชันสำหรับการลงทะเบียนลายนิ้วมือค้นหาและลบ
ฟังก์ชัน def enrollFinger ()ใช้สำหรับการลงทะเบียนหรือบันทึกลายนิ้วมือใหม่
ฟังก์ชัน def searchFinger ()ใช้เพื่อแยกลายนิ้วมือที่จัดเก็บไว้แล้ว
def deleteFinger () functinos ใช้เพื่อลดการพิมพ์ลายนิ้วมือที่บันทึกไว้แล้วโดยการกดปุ่มกด correspontind
รหัสของฟังก์ชันข้างต้นทั้งหมดได้รับในรหัส python ที่ระบุด้านล่าง
หลังจากนี้ในที่สุดเราต้องเริ่มต้นระบบโดยใน ขณะที่ 1 ลูปโดยขอให้วาง Finger บนเซ็นเซอร์พิมพ์ลายนิ้วมือจากนั้นระบบจะตรวจสอบว่าลายนิ้วมือนี้พิมพ์ถูกต้องหรือไม่และแสดงผลตามนั้น
start () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Welcomes You") time.sleep (3) flag = 0 lcdclear () ในขณะที่ 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Place Finger") ถ้า gpio.input (ลงทะเบียน) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (ลบ) == 0: gpio.output (led, LOW) ในขณะที่ gpio.input (ลบ) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
กรอกรหัส Python และวิดีโอการทำงานด้านล่าง