สารบัญ:
- ขั้นตอนที่ 1: วัสดุและเครื่องมือ
- ขั้นตอนที่ 2: การตั้งค่า Amazon Web Services
- ขั้นตอนที่ 3: กำหนดค่า Amazon S3 และ Amazon DynamoDB
- ขั้นตอนที่ 4: กำหนดค่า AWS บน Raspberry Pi
- ขั้นตอนที่ 5: เชื่อมต่อรายการกับ Raspberry Pi
- ขั้นตอนที่ 6: รหัส
- ขั้นตอนที่ 7: การสร้างต้นแบบ
- ขั้นตอนที่ 8: การทดสอบต้นแบบ
- ขั้นตอนที่ 9: ปิด
วีดีโอ: Abellcadabra (ระบบล็อคประตูจดจำใบหน้า): 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ระหว่างกักตัว ฉันพยายามหาวิธีฆ่าเวลาด้วยการสร้างการจดจำใบหน้าสำหรับประตูบ้าน ฉันตั้งชื่อมันว่า Abellcadabra - ซึ่งเป็นการผสมผสานระหว่าง Abracadabra วลีวิเศษกับกริ่งประตูที่ฉันใช้แค่เสียงกริ่ง ฮ่า ๆ
อย่างไรก็ตาม ระบบนี้จะทำการจดจำใบหน้าโดยใช้ Amazon Rekognition เมื่อผู้ใช้กดกริ่ง การรับรู้จะเปรียบเทียบภาพที่ถ่ายกับคอลเลกชันภาพใน Amazon S3 หากการจดจำสำเร็จ ประตูจะเปิดขึ้น หากไม่สำเร็จ ออดจะดังขึ้นและผู้ใช้สามารถมีตัวเลือกในการปลดล็อกโดยใช้โทเค็น RFID ภายในบ้านยังมีปุ่มที่เจ้าของบ้านสามารถปลดล็อคประตูได้ด้วยการกด
การจดจำและการปลดล็อกทั้งหมดจะถูกเก็บไว้ใน Amazon DynamoDB ฉันจะพยายามอธิบายทีละขั้นตอนเพื่อสร้างทั้งระบบ ฉันใช้วัสดุที่ฉันมีอยู่แล้วเพราะใช้เวลานานกว่าจะได้อย่างอื่นมา
ขั้นตอนที่ 1: วัสดุและเครื่องมือ
วัสดุ:
- ราสเบอร์รี่ปี่
- Pi Camera
- RC servo (จะทำหน้าที่เป็นตัวล็อคประตู)
- ปุ่มสวิตช์ 2x
- Buzzer
- สวิตช์แม่เหล็ก
- เครื่องอ่านและแท็ก RFID RC-522
- MF, MM, FF สายเขียงหั่นขนม
- Polystrene Ice Box - ขนาดใดก็ได้ก็ใช้ได้ เพราะนี่จะเป็นประตูของเรา
- บานพับ 1.5 นิ้ว 2x
- สกรู 2.5 มม. 4x
เครื่องมือ
- ไขควง
- เทปสองหน้า
ขั้นตอนที่ 2: การตั้งค่า Amazon Web Services
Amazon Web Services ใช้งานง่ายและฟรีจนกว่าคุณจะได้รับการเรียก API 5,000 ครั้งต่อเดือน คุณสามารถลงทะเบียนบัญชี AWS ได้ที่นี่ คุณจะต้องลงชื่อสมัครใช้บัญชี amazon Rekognition ฟรี ระดับฟรีควรเพียงพอสำหรับโครงการนี้
หลังจากสมัครสำเร็จแล้ว ให้คลิกบริการ > IAM จากที่นี่ เราจะสร้างผู้ใช้ที่จะได้รับอนุญาตให้ใช้ Raspberry Pi
- คลิก ผู้ใช้ > เพิ่มผู้ใช้ใหม่
- ตั้งชื่อให้กับผู้ใช้ที่สร้าง สำหรับประเภทการเข้าถึงให้เลือกช่องการเข้าถึงแบบเป็นโปรแกรม
- คลิกถัดไป
- คลิกแนบนโยบายที่มีอยู่โดยตรง ตรวจสอบนโยบายต่อไปนี้:
- AWSLambdaFullAccess
- AmazonS3FullAccess
- AmazonDynamoDBFullAccess
- AmazonRekognitionFullAccess
- ผู้ดูแลระบบการเข้าถึง
- คลิกถัดไปและถัดไปอีกครั้งเพราะเราไม่ต้องเพิ่มแท็ก
- ตรวจสอบว่านโยบายที่เลือกเหมือนกับที่ระบุไว้หรือไม่ จากนั้นคลิกสร้างผู้ใช้
ดาวน์โหลดไฟล์ CSV ที่มีรหัสคีย์การเข้าถึงและรหัสลับที่จะนำไปใช้ในขั้นตอนต่อไป คลิกปิด
ขั้นตอนที่ 3: กำหนดค่า Amazon S3 และ Amazon DynamoDB
บน AWS Console ให้คลิกบริการ > S3
S3 ทำงานเหมือนกับ Google ไดรฟ์ที่คุณจัดเก็บเอกสารและรูปภาพได้ สำหรับโปรเจ็กต์นี้ เราจำเป็นต้องมีบัคเก็ตสองอัน โดยอันหนึ่งใช้สำหรับเก็บคอลเลกชั่นรูปภาพที่จะใช้โดย Amazon Rekognition (และอันที่สองคือการจัดเก็บอิมเมจที่ถ่ายไว้
- คลิกสร้างที่เก็บข้อมูล
- ป้อนชื่อที่เก็บข้อมูลแล้วคลิกถัดไปและถัดไปอีกครั้ง
- ยกเลิกการเลือกช่อง "บล็อกการเข้าถึงสาธารณะทั้งหมด"
- และทำเครื่องหมายที่ช่อง "ฉันรับทราบว่าการตั้งค่าปัจจุบันอาจส่งผลให้ที่เก็บข้อมูลนี้และวัตถุที่อยู่ภายในกลายเป็นสาธารณะ"
- คลิกถัดไปและสร้างถัง
- ทำซ้ำขั้นตอนสำหรับที่เก็บข้อมูลที่สอง
- คลิก บริการ > DynamoDB
Amazon DynamoDB จะใช้ในโปรเจ็กต์นี้เพื่อจัดเก็บการจดจำและปลดล็อกรายละเอียด รายละเอียดที่จะเก็บเป็นลิงค์ไปยังภาพที่ถ่าย ชื่อของภาพที่รู้จักหรือถ้าไม่รู้จักชื่อจะถูกเก็บเป็น 'ไม่ทราบ' วันที่และเวลาที่รับรู้และสถานะว่าสำเร็จหรือไม่ตรงกับใบหน้าไม่มีใบหน้า ตรวจพบ RFID ปลดล็อคหรือปลดล็อคจากภายใน
- คลิกเพิ่มตารางใหม่
- ใส่ชื่อใด ๆ สำหรับตาราง
- สำหรับคีย์หลัก ให้แทรก 'rid' เป็นคีย์หลัก
- คลิกสร้าง
ขั้นตอนที่ 4: กำหนดค่า AWS บน Raspberry Pi
ขั้นตอนแรกคือการป้อนข้อมูลประจำตัว AWS ของคุณ ในการทำประเภทนี้ในคอนโซลของ Raspberry Pi:
aws กำหนดค่า
จากนั้นป้อนข้อมูลประจำตัว AWS IAM ที่คุณสร้างขึ้นเพื่อให้แน่ใจว่าคุณป้อน “us-west-2” เป็นภูมิภาคของคุณ (หรือภูมิภาคที่เกี่ยวข้องที่คุณได้ตั้งค่าไว้สำหรับ AWS Rekognition) ปล่อยให้รูปแบบเอาต์พุตเริ่มต้นว่างเปล่า
ขั้นตอนที่ 5: เชื่อมต่อรายการกับ Raspberry Pi
ดังนั้นการเชื่อมต่อของรายการมีดังต่อไปนี้
- RC Servo - 1, 11, กราวด์
- สวิตช์แม่เหล็ก - 8, กราวด์
- Buzzer - 32, กราวด์
- ปุ่มภายนอก - 16, กราวด์
- ปุ่มด้านใน - 18, กราวด์
- หมุด SDA บนเครื่องอ่าน RFID - 24
- หมุด SCK บนเครื่องอ่าน RFID - 23
- หมุด MOSI บนเครื่องอ่าน RFID - 19
- หมุด MISO บนเครื่องอ่าน RFID - 21
- หมุด GND บนเครื่องอ่าน RFID - กราวด์
- หมุด RST บนเครื่องอ่าน RFID - 22
- พิน 3.3 V บนเครื่องอ่าน RFID - 17
กรุณาเชื่อมต่อกับพื้นดินที่ใกล้ที่สุด
ขั้นตอนที่ 6: รหัส
คุณสามารถค้นหารหัสทั้งหมดที่จำเป็นในที่เก็บ Git ของฉัน
สำหรับขั้นตอนในการเพิ่มใบหน้าและใช้งาน Index Faces.py โปรดดูวิดีโอนี้
ขั้นตอนที่ 7: การสร้างต้นแบบ
เนื่องจากฉันไม่ได้ถ่ายรูปใดๆ ในระหว่างการสร้าง ฉันจะทิ้งรูปภาพของต้นแบบที่เสร็จแล้วของฉันไว้
ต้นแบบถูกสร้างขึ้นเพื่อแสดงภาพประตู มุมมองจาก แสดงให้เห็นมุมมองของประตูจากด้านนอกของบ้าน Pi Camera ได้รับการติดตั้งตามความสูงของเส้นสายตามนุษย์โดยเฉลี่ย เพื่อให้แน่ใจว่าภาพที่ถ่ายจะมีใบหน้าที่ต้องจดจำ ปุ่มกริ่งประตูที่จะเปิดใช้งานกล้อง Pi เพื่อจับภาพนั้นอยู่ใต้กล้อง Pi เครื่องอ่าน RFID ยังติดตั้งไว้ที่ประตูสำหรับผู้ใช้ที่ประตูเพื่อปลดล็อกประตูโดยใช้แท็ก RFID ในกรณีที่การจดจำล้มเหลว
ปุ่มสีแดงคือปุ่มด้านในซึ่งจะใช้ปลดล็อกประตูจากภายในบ้าน Raspberry Pi วางอยู่ด้านในของบ้านเพื่อให้ผู้คนจากภายนอกไม่สามารถเข้าไปยุ่งเกี่ยวกับมันได้ RC Servo ถูกวางไว้ที่ด้านขวาของประตูเป็นตัวล็อคของประตู วาง Buzzer ไว้ด้านในของบ้านเพื่อให้แน่ใจว่าจะได้ยินเสียงออดจากคนในบ้านเมื่อส่งเสียงกริ่ง สวิตช์แม่เหล็กวางอยู่ระหว่างประตูและโครง
ขั้นตอนที่ 8: การทดสอบต้นแบบ
รันโค้ดบนเทอร์มินัล
sudo python3 ชื่อไฟล์.py
แค่กดปุ่มสีเหลืองด้านนอกบ้านก็ถ่ายรูปนี้ได้แล้ว
ตรวจสอบ Amazon DynamoDB ของคุณเพื่อตรวจสอบว่าตารางได้รับการอัปเดตและบัคเก็ต S3 เพื่อดูว่าภาพที่ถ่ายนั้นถูกจัดเก็บไว้
ขั้นตอนที่ 9: ปิด
หากคุณตัดสินใจที่จะทำโครงการนี้ด้วยตัวเองโปรดแจ้งให้เราทราบในความคิดเห็น (:
ขอบคุณที่อ่าน.
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง