สารบัญ:

Abellcadabra (ระบบล็อคประตูจดจำใบหน้า): 9 ขั้นตอน
Abellcadabra (ระบบล็อคประตูจดจำใบหน้า): 9 ขั้นตอน

วีดีโอ: Abellcadabra (ระบบล็อคประตูจดจำใบหน้า): 9 ขั้นตอน

วีดีโอ: Abellcadabra (ระบบล็อคประตูจดจำใบหน้า): 9 ขั้นตอน
วีดีโอ: Очередной рейс (1958) фильм 2024, พฤศจิกายน
Anonim
Abellcadabra (ระบบล็อคประตูจดจำใบหน้า)
Abellcadabra (ระบบล็อคประตูจดจำใบหน้า)

ระหว่างกักตัว ฉันพยายามหาวิธีฆ่าเวลาด้วยการสร้างการจดจำใบหน้าสำหรับประตูบ้าน ฉันตั้งชื่อมันว่า 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
การตั้งค่า Amazon Web Services

Amazon Web Services ใช้งานง่ายและฟรีจนกว่าคุณจะได้รับการเรียก API 5,000 ครั้งต่อเดือน คุณสามารถลงทะเบียนบัญชี AWS ได้ที่นี่ คุณจะต้องลงชื่อสมัครใช้บัญชี amazon Rekognition ฟรี ระดับฟรีควรเพียงพอสำหรับโครงการนี้

หลังจากสมัครสำเร็จแล้ว ให้คลิกบริการ > IAM จากที่นี่ เราจะสร้างผู้ใช้ที่จะได้รับอนุญาตให้ใช้ Raspberry Pi

  1. คลิก ผู้ใช้ > เพิ่มผู้ใช้ใหม่
  2. ตั้งชื่อให้กับผู้ใช้ที่สร้าง สำหรับประเภทการเข้าถึงให้เลือกช่องการเข้าถึงแบบเป็นโปรแกรม
  3. คลิกถัดไป
  4. คลิกแนบนโยบายที่มีอยู่โดยตรง ตรวจสอบนโยบายต่อไปนี้:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • ผู้ดูแลระบบการเข้าถึง
  1. คลิกถัดไปและถัดไปอีกครั้งเพราะเราไม่ต้องเพิ่มแท็ก
  2. ตรวจสอบว่านโยบายที่เลือกเหมือนกับที่ระบุไว้หรือไม่ จากนั้นคลิกสร้างผู้ใช้

ดาวน์โหลดไฟล์ CSV ที่มีรหัสคีย์การเข้าถึงและรหัสลับที่จะนำไปใช้ในขั้นตอนต่อไป คลิกปิด

ขั้นตอนที่ 3: กำหนดค่า Amazon S3 และ Amazon DynamoDB

บน AWS Console ให้คลิกบริการ > S3

S3 ทำงานเหมือนกับ Google ไดรฟ์ที่คุณจัดเก็บเอกสารและรูปภาพได้ สำหรับโปรเจ็กต์นี้ เราจำเป็นต้องมีบัคเก็ตสองอัน โดยอันหนึ่งใช้สำหรับเก็บคอลเลกชั่นรูปภาพที่จะใช้โดย Amazon Rekognition (และอันที่สองคือการจัดเก็บอิมเมจที่ถ่ายไว้

  1. คลิกสร้างที่เก็บข้อมูล
  2. ป้อนชื่อที่เก็บข้อมูลแล้วคลิกถัดไปและถัดไปอีกครั้ง
  3. ยกเลิกการเลือกช่อง "บล็อกการเข้าถึงสาธารณะทั้งหมด"
  4. และทำเครื่องหมายที่ช่อง "ฉันรับทราบว่าการตั้งค่าปัจจุบันอาจส่งผลให้ที่เก็บข้อมูลนี้และวัตถุที่อยู่ภายในกลายเป็นสาธารณะ"
  5. คลิกถัดไปและสร้างถัง
  6. ทำซ้ำขั้นตอนสำหรับที่เก็บข้อมูลที่สอง
  7. คลิก บริการ > DynamoDB

Amazon DynamoDB จะใช้ในโปรเจ็กต์นี้เพื่อจัดเก็บการจดจำและปลดล็อกรายละเอียด รายละเอียดที่จะเก็บเป็นลิงค์ไปยังภาพที่ถ่าย ชื่อของภาพที่รู้จักหรือถ้าไม่รู้จักชื่อจะถูกเก็บเป็น 'ไม่ทราบ' วันที่และเวลาที่รับรู้และสถานะว่าสำเร็จหรือไม่ตรงกับใบหน้าไม่มีใบหน้า ตรวจพบ RFID ปลดล็อคหรือปลดล็อคจากภายใน

  1. คลิกเพิ่มตารางใหม่
  2. ใส่ชื่อใด ๆ สำหรับตาราง
  3. สำหรับคีย์หลัก ให้แทรก 'rid' เป็นคีย์หลัก
  4. คลิกสร้าง

ขั้นตอนที่ 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: ปิด

หากคุณตัดสินใจที่จะทำโครงการนี้ด้วยตัวเองโปรดแจ้งให้เราทราบในความคิดเห็น (:

ขอบคุณที่อ่าน.

แนะนำ: