جدول المحتويات:

Abellcadabra (نظام قفل باب التعرف على الوجه): 9 خطوات
Abellcadabra (نظام قفل باب التعرف على الوجه): 9 خطوات

فيديو: Abellcadabra (نظام قفل باب التعرف على الوجه): 9 خطوات

فيديو: Abellcadabra (نظام قفل باب التعرف على الوجه): 9 خطوات
فيديو: Как спрятать данные в ячейках Excel? 2024, يوليو
Anonim
Abellcadabra (نظام قفل باب التعرف على الوجه)
Abellcadabra (نظام قفل باب التعرف على الوجه)

أثناء فترة الحجر الصحي ، حاولت إيجاد طريقة لقتل الوقت من خلال بناء التعرف على الوجوه لباب المنزل. أطلق عليها اسم Abellcadabra - وهي عبارة عن مزيج بين Abracadabra ، وهي عبارة سحرية مع جرس الباب لا آخذ سوى الجرس. مضحك جدا

على أي حال ، سيقوم هذا النظام بإجراء التعرف على الوجوه باستخدام Amazon Rekognition عندما يدفع المستخدم جرس الباب. ستقوم Rekognition بمقارنة الصورة الملتقطة بمجموعة من الصور في Amazon S3. إذا تم التعرف بنجاح ، سيتم فتح الباب. إذا لم تنجح ، سيصدر صوت الجرس ويمكن للمستخدم أن يكون لديه خيار لإلغاء القفل باستخدام رمز RFID. يوجد أيضًا زر داخل المنزل حيث يمكن لصاحب المنزل فتح الباب عن طريق دفعه.

سيتم تخزين جميع عمليات التعرف وإلغاء القفل التي تم إجراؤها في Amazon DynamoDB. سأحاول شرح خطوة بخطوة لبناء النظام بأكمله. أنا أستخدم المواد التي أمتلكها بالفعل لأن الأمر استغرق وقتًا طويلاً للحصول على أي شيء آخر ، وهذا هو الحال.

الخطوة 1: المواد والأدوات

مادة:

  • فطيرة التوت
  • كاميرا باي
  • أجهزة RC (ستكون بمثابة قفل الباب)
  • زر التبديل 2x
  • صفارة
  • التبديل المغناطيسي
  • RC-522 قارئ وعلامة RFID
  • أسلاك اللوح MF ، MM ، FF
  • صندوق ثلج البوليسترين - أي حجم سيكون على ما يرام لأن هذا سيكون بابنا.
  • مفصلة 1.5 بوصة 2x
  • 2.5 مم برغي 4x

أدوات

  • مفك براغي
  • شريط مزدوج

الخطوة 2: إعداد Amazon Web Services

إعداد خدمات ويب أمازون
إعداد خدمات ويب أمازون

Amazon Web Services سهلة الاستخدام ومجانية حتى تصل إلى 5000 استدعاء لواجهة برمجة التطبيقات شهريًا. يمكنك التسجيل للحصول على حساب AWS هنا. سوف تحتاج إلى التسجيل للحصول على حساب مجاني على أمازون Rekognition. يجب أن تكون الطبقة المجانية أكثر من كافية لهذا المشروع.

بعد نجاح التسجيل ، انقر فوق الخدمات> IAM. من هنا ، سننشئ مستخدمًا سيكون لديه أذونات لاستخدام Raspberry Pi.

  1. انقر فوق المستخدمون> إضافة مستخدم جديد
  2. إعطاء اسم للمستخدم الذي تم إنشاؤه. بالنسبة لنوع الوصول ، حدد مربع الوصول البرمجي.
  3. انقر فوق {التالي.
  4. انقر فوق إرفاق السياسات الحالية مباشرة. تحقق من السياسات التالية:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • وصول المسؤول
  1. انقر فوق "التالي" و "التالي" مرة أخرى لأننا لا نحتاج إلى إضافة علامة.
  2. تحقق مما إذا كانت السياسات المختارة هي نفسها المدرجة ، ثم انقر فوق إنشاء مستخدم.

قم بتنزيل ملف CSV الذي يحتوي على معرف مفتاح الوصول ومفتاح الوصول السري الذي سيتم استخدامه في الخطوة القادمة. انقر فوق إغلاق.

الخطوة 3: قم بتكوين Amazon S3 و Amazon DynamoDB

في وحدة تحكم AWS ، انقر فوق الخدمات> S3

يعمل S3 تمامًا مثل Google Drive حيث يمكنك تخزين المستندات والصور. بالنسبة لهذا المشروع ، سنحتاج إلى مجموعتين ، أحدهما لتخزين مجموعة من الصور لاستخدامها بواسطة Amazon Rekognition (والثاني هو تخزين الصورة الملتقطة.

  1. انقر فوق إنشاء حاوية.
  2. أدخل اسم المستودع وانقر فوق التالي والتالي مرة أخرى.
  3. قم بإلغاء تحديد المربع "حظر الوصول العام بالكامل".
  4. ثم ضع علامة في المربع "أقر بأن الإعدادات الحالية قد تؤدي إلى جعل هذه المجموعة والكائنات عامة".
  5. انقر فوق التالي وإنشاء مجموعة.
  6. كرر الخطوة للدلو الثاني.
  7. انقر فوق الخدمات> DynamoDB

سيتم استخدام Amazon DynamoDB في هذا المشروع لتخزين تفاصيل التعرف وإلغاء تأمينها. التفاصيل التي سيتم تخزينها هي رابط للصورة التي تم التقاطها ، واسم الصورة التي تم التعرف عليها أو إذا لم يتم التعرف عليها ، فسيتم تخزين الاسم على أنه "غير معروف" ، وتاريخ ووقت التعرف وحالة ما إذا كان ناجحًا أم لا ، ولا توجد وجوه متطابقة ، ولا توجد وجوه تم الكشف عنها أو فتح قفل RFID أو فتحها من الداخل.

  1. انقر فوق إضافة جدول جديد.
  2. أدخل أي اسم للجدول.
  3. بالنسبة للمفتاح الأساسي ، أدخل "تخليص" كمفتاح أساسي.
  4. انقر فوق إنشاء.

الخطوة 4: تكوين AWS على Raspberry Pi

تتمثل الخطوة الأولى في إدخال بيانات اعتماد AWS الخاصة بك. للقيام بهذا النوع في وحدة التحكم في Raspberry Pi:

تكوين AWS

ثم أدخل بيانات اعتماد AWS IAM التي قمت بإنشائها مع التأكد من إدخال "us-west-2" كمنطقتك (أو المنطقة ذات الصلة التي قمت بإعدادها لـ AWS Rekognition). اترك تنسيق الإخراج الافتراضي فارغًا.

الخطوة 5: قم بتوصيل العناصر بـ Raspberry Pi

لذا فإن وصلات العناصر هي على النحو التالي.

  • أرسي سيرفو - 1 ، 11 ، أرضي
  • مفتاح مغناطيسي - 8 ، أرضي
  • الجرس - 32 ، الأرض
  • زر خارجي - 16 ، أرضي
  • الزر الداخلي - 18 ، الأرضي
  • SDA pin على قارئ 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 على الجانب الأيمن من الباب كقفل للباب. يتم وضع الجرس داخل المنزل لضمان سماع صوت الجرس من الأشخاص داخل المنزل عند رن الجرس. يتم وضع مفتاح مغناطيسي بين الباب والإطار.

الخطوة 8: اختبار النموذج الأولي

اختبار النموذج
اختبار النموذج

قم بتشغيل الكود على الجهاز

sudo python3 filename.py

فقط ضغطت على الزر الأصفر الموجود خارج المنزل ويتم التقاط هذه الصورة.

تحقق من Amazon DynamoDB للتحقق من تحديث الجدول ومستودعات S3 للتأكد من تخزين الصورة الملتقطة.

الخطوة 9: الإغلاق

إذا قررت إنشاء هذا المشروع بنفسك ، فأعلمني بذلك في التعليقات (:

شكرا للقراءة.

موصى به: