- المكونات مطلوبة
- قفل الملف اللولبي
- مخطط الرسم البياني
- قم بتثبيت لوحة ESP32 على Arduino IDE
- شرح الكود
- اختبار
يشكل الأمن مصدر قلق لأي شخص في الوقت الحاضر ، سواء كان ذلك أمن البيانات أو أمن منازلهم. مع تقدم التكنولوجيا والاستخدام المتزايد لإنترنت الأشياء ، أصبحت أقفال الأبواب الرقمية شائعة جدًا هذه الأيام. لا يتطلب القفل الرقمي أي مفتاح مادي ولكنه يستخدم RFID وبصمة الإصبع ومعرف الوجه والدبوس وكلمات المرور وما إلى ذلك للتحكم في قفل الباب. في الماضي ، قمنا بتطوير العديد من تطبيقات أقفال الأبواب الرقمية باستخدام هذه التقنيات المختلفة. في هذا البرنامج التعليمي ، قمنا ببناء نظام قفل باب رقمي يتم التحكم فيه بواسطة Face ID باستخدام ESP32-CAM.
تعد وحدة AI-Thinker ESP32-CAM لوحة تطوير منخفضة التكلفة مع كاميرا OV2640 صغيرة الحجم وفتحة بطاقة SD صغيرة. يحتوي على شريحة ESP32 S مع اتصال Wi-Fi و Bluetooth مدمجين ، مع وحدتي CPU LX6 عالية الأداء 32 بت ، وبنية خط أنابيب من 7 مراحل. لقد شرحنا سابقًا ESP32-CAM بالتفصيل واستخدمناها لبناء جرس باب بفيديو Wi-Fi. هذه المرة سوف نستخدم ESP32-CAM لبناء نظام قفل الباب القائم على التعرف على الوجوه باستخدام وحدة الترحيل وقفل الملف اللولبي.
المكونات مطلوبة
- ESP32 CAM
- مجلس FTDI
- وحدة الترحيل
- قفل الملف اللولبي
- أسلاك توصيل
قفل الملف اللولبي
يعمل قفل الملف اللولبي على آلية القفل الإلكتروني والميكانيكي. يحتوي هذا النوع من القفل على سبيكة ذات قطع مائل وقوس تثبيت جيد. عندما يتم تطبيق الطاقة ، يقوم التيار المستمر بإنشاء مجال مغناطيسي يحرك سبيكة الداخل ويحافظ على الباب في وضع الفتح. ستحتفظ البزاقة بموقعها حتى تتم إزالة الطاقة. عندما يتم فصل الطاقة ، تتحرك الدوامة للخارج وتغلق الباب. لا يستخدم أي قوة في حالة القفل. لقيادة قفل الملف اللولبي ، ستحتاج إلى مصدر طاقة يمكنه توفير 12V @ 500mA.
استخدمنا سابقًا قفل الملف اللولبي لبناء قفل باب RFID قائم على Arduino.
مخطط الرسم البياني
فيما يلي مخطط الدائرة لنظام قفل باب التعرف على الوجه ESP32-CAM:
تم دمج الدائرة أعلاه مع لوحة FTDI ووحدة الترحيل وقفل الملف اللولبي. تُستخدم لوحة FTDI في وميض الرمز إلى ESP32-CAM حيث لا يحتوي على موصل USB أثناء استخدام وحدة الترحيل لتشغيل قفل الملف اللولبي أو إيقاف تشغيله. يتم توصيل دبابيس VCC و GND للوحة FTDI ووحدة الترحيل بدبوس Vcc و GND في ESP32-CAM. يتم توصيل TX و RX للوحة FTDI بـ RX و TX من ESP32 ويتم توصيل دبوس IN الخاص بوحدة الترحيل بـ IO4 من ESP32-CAM.
ESP32-CAM |
مجلس FTDI |
5 فولت |
VCC |
GND |
GND |
UOR |
تكساس |
UOT |
RX |
ESP32-CAM |
وحدة الترحيل |
5 فولت |
VCC |
GND |
GND |
IO4 |
في |
ملاحظة: قبل تحميل الكود ، قم بتوصيل IO0 بالأرض. يحدد IO0 ما إذا كان ESP32 في وضع الوميض أم لا. عند توصيل GPIO 0 بـ GND ، يكون ESP32 في وضع الوميض.
بعد توصيل الجهاز وفقًا لمخطط الدائرة ، يجب أن يبدو كما يلي:
قم بتثبيت لوحة ESP32 على Arduino IDE
هنا يتم استخدام Arduino IDE لبرمجة ESP32-CAM. لذلك ، أولاً ، قم بتثبيت الوظيفة الإضافية ESP32 على Arduino IDE.
لتثبيت لوحة ESP32 في Arduino IDE ، انتقل إلى ملف> تفضيلات.
الآن انسخ الرابط أدناه والصقه في حقل "عناوين URL الإضافية لمدير مجلس الإدارة" كما هو موضح في الشكل أدناه. ثم انقر فوق الزر "موافق":
https://dl.espressif.com/dl/package_esp32_index.json
انتقل الآن إلى Tools> Board> Boards Manager
في Board Manager ، ابحث عن ESP32 وقم بتثبيت "ESP32 by Espressif Systems".
شرح الكود
شرحنا التعرف على الوجه باستخدام ESP32 في المقالة السابقة ؛ هنا سنقوم بتعديل نفس الكود للتحكم في قفل باب الملف اللولبي. الكود الكامل مقسم إلى أربعة أجزاء. أحدهما هو الرمز الرئيسي للكاميرا ووحدة الترحيل حيث يقوم ESP32 بإغلاق الباب أو فتحه وفقًا للتعرف على الوجوه ، والأكواد الثلاثة الأخرى مخصصة لصفحة الويب وفهرس الكاميرا ودبابيس الكاميرا. يتم إعطاء رمز كامل في نهاية هذه الصفحة. نحن هنا نوضح بعض الأجزاء المهمة من الكود.
ابدأ البرنامج بتضمين جميع ملفات المكتبة.
# تضمين "esp_camera.h" # تضمين
في السطر التالي ، قم بإلغاء التعليق على وحدة الكاميرا التي تستخدمها مع ESP32. في الكود ، تم تحديد خمسة نماذج مختلفة من الكاميرات. في هذه الحالة ، نستخدم نموذج AI-THINKER.
// # عرّف CAMERA_MODEL_WROVER_KIT // # عرّف CAMERA_MODEL_ESP_EYE // # عرّف CAMERA_MODEL_M5STACK_PSRAM // # عرّف CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER
بعد ذلك ، أدخل بيانات اعتماد الشبكة الخاصة بك في المتغيرات التالية:
const char * ssid = "اسم Wi-Fi" ؛ const char * password = "كلمة مرور Wi-Fi" ؛
ثم حدد الدبوس حيث يتم توصيل وحدة الترحيل. سنقوم باستخدام بالمللي () وظيفة لقفل الباب بعد فتحها في فترة محددة من الزمن، ومن هنا 5 ثواني.
#define relay 4 long prevMillis = 0 ؛ الفاصل الزمني int = 5000 ؛
في دالة setup () ، قم بتهيئة Serial Monitor بمعدل باود 115200 لأغراض التصحيح. ثم في الأسطر التالية ، حدد وضع الدبوس لوحدة الترحيل وقم أيضًا بتعيين الترحيل في موضع منخفض في البداية.
إعداد باطل () {Serial.begin (115200) ؛ pinMode (التتابع ، الإخراج) ؛ الكتابة الرقمية (التتابع ، منخفضة) ؛
داخل وظيفة الحلقة () ، تحقق مما إذا كان الوجه يتطابق مع الوجه المسجل. إذا كانت الإجابة بنعم ، فافتح الباب لمدة 5 ثوانٍ وبعد 5 ثوانٍ أغلق الباب مرة أخرى.
حلقة باطلة () {if (matchFace == true && activeRelay == false) {activeRelay = true؛ الكتابة الرقمية (التتابع ، عالية) ؛ prevMillis = ميليس () ؛ } إذا (activeRelay == true && millis () - prevMillis> الفاصل الزمني) {activeRelay = false؛ matchFace = خطأ ؛ الكتابة الرقمية (التتابع ، منخفضة) ؛ }
اختبار
أخيرًا لتحميل الكود ، قم بتوصيل لوحة FDTI بجهاز الكمبيوتر المحمول الخاص بك ، وحدد "ESP32 Wrover Module" كلوحة. أيضا قم بتغيير الإعدادات الأخرى كما هو موضح في الصورة أدناه:
لا تنس توصيل دبوس IO0 بـ GND قبل تحميل الكود واضغط أيضًا على زر إعادة تعيين ESP32 ثم انقر فوق زر التحميل.
ملاحظة: إذا حصلت على أخطاء أثناء تحميل الكود ، فتحقق من أن IO0 متصل بـ GND ، وأنك حددت الإعدادات الصحيحة في قائمة الأدوات.
بعد تحميل الكود ، قم بإزالة IO0 و GND pin. ثم افتح الشاشة التسلسلية وقم بتغيير معدل الباود إلى 115200. بعد ذلك ، اضغط على زر إعادة تعيين ESP32 ، وسوف يطبع عنوان ESP IP والمنفذ رقم. على الشاشة التسلسلية.
انتقل الآن إلى المتصفح وأدخل عنوان ESP IP الذي تم نسخه من الشاشة التسلسلية للوصول إلى دفق الكاميرا. سوف يأخذك إلى صفحة البث. لبدء دفق الفيديو ، انقر فوق الزر "بدء البث" في أسفل الصفحة.
للتعرف على الوجوه باستخدام ESP32-CAM ، أولاً ، يتعين علينا تسجيل الوجوه. لذلك ، قم بتشغيل ميزات التعرف على الوجوه والكشف عنها من الإعدادات ، ثم انقر فوق الزر Enroll Face. يستغرق الأمر عدة محاولات لحفظ الوجه. بعد حفظ الوجه ، يكتشف الوجه كموضوع 0 حيث الصفر هو رقم الوجه.
بعد تسجيل الوجوه ، إذا تم التعرف على وجه في بث الفيديو ، فإن ESP32 سيجعل وحدة الترحيل عالية لفتح الباب.
هذه هي الطريقة التي يمكن بها استخدام ESP32-CAM لبناء نظام أمان قائم على التعرف على الوجوه. يمكن تنزيل الكود الكامل من هذا الرابط ويرد أدناه أيضًا مع فيديو توضيحي.