جدول المحتويات:
- الخطوة 1: الأشياء المستخدمة في هذا المشروع
- الخطوة 2: توصيل الأجهزة
- الخطوة الثالثة: برمجة البرمجيات
- الخطوة 4: تم
فيديو: قفل ذكي للتعرف على الوجه مع LTE Pi HAT: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
أصبح التعرف على الوجوه مستخدمًا على نطاق واسع ، يمكننا استخدامه لعمل قفل ذكي.
الخطوة 1: الأشياء المستخدمة في هذا المشروع
مكونات الأجهزة
- Raspberry Pi 3 موديل بي
- وحدة كاميرا Raspberry Pi V2.0
- غروف - تتابع
- LTE Cat 1 Pi HAT (أوروبا)
- 10.1 بوصة 1200x1980 HDMI IPS شاشة LCD
تطبيقات البرمجيات والخدمات عبر الإنترنت
- WinSCP
- برنامج Notepad ++
الخطوة 2: توصيل الأجهزة
في هذا المشروع ، نخطط لالتقاط الصور باستخدام picamera والتعرف على الوجوه فيها ، ثم عرض نتيجة التعرف على الشاشة. إذا كانت الوجوه معروفة ، افتح الباب ، وأرسل من فتح الباب إلى رقم الهاتف المحدد عبر الرسائل القصيرة.
لذلك تحتاج إلى توصيل كاميرا بواجهة كاميرا Raspberry Pi ، وتثبيت هوائي و Grove - Relay to LTE Pi hat ، ثم توصيل HAT بـ Pi الخاص بك. يمكن توصيل الشاشة بـ Raspberry Pi عبر كابل HDMI ، ولا تنس توصيل الطاقة بشاشتك و Pi.
الخطوة الثالثة: برمجة البرمجيات
تمييز الوجوه
شكرًا لآدم جيتجي ومشروعه للتعرف على الوجوه ، يمكننا استخدام أبسط مكتبة للتعرف على الوجوه في العالم على Raspberry Pi. ستوضح لك الخطوات التالية كيفية إعداد التعرف على الوجوه على Pi.
الخطوة الأولى. استخدم raspi-config لتكوين الكاميرا وذاكرة وحدة معالجة الرسومات.
sudo raspi-config
اختيار خيارات الواجهة - الكاميرا لتمكين picamera ، ثم اختيار Advanced Options - Memory Split لضبط ذاكرة GPU ، يجب تغييرها إلى 64. بعد الانتهاء ، أعد تشغيل Raspberry Pi.
الخطوة 2. تثبيت المكتبات المطلوبة.
sudo apt-get update
sudo apt-get Upgrade sudo apt-get install build-basic / cmake / gfortran / git / wget / curl / graphicsmagick / libgraphicsmagick1-dev / libatlas-dev / libavcodec-dev / libavformat-dev / libboost-all-dev / libgtk2. 0-dev / libjpeg-dev / liblapack-dev / libswscale-dev / pkg-config / python3-dev / python3-numpy / python3-picamera / python3-pip / zip sudo apt-get clean
الخطوة 3. جعل مجموعة picamerea يدعم.
تثبيت sudo pip3 - ترقية picamera [مجموعة]
الخطوة 4. تثبيت dlib والتعرف على الوجوه.
sudo pip3 تثبيت dlib
تثبيت sudo pip3 face_recognition
الخطوة 5. قم بتنزيل مثال التعرف على الوجوه وتشغيله
git clone - فرع واحد
cd./face_recognition/examples python3 facerec_on_raspberry_pi.py
إشعار: إذا حصلت على ImportError: libatlas.so.3: لا يمكن فتح ملف كائن مشترك: لا يوجد مثل هذا الملف أو الدليل ، قم بتشغيل الأمر التالي لإصلاحه.
تناوب
عندما تكون ميزة التعرف على الوجوه جاهزة ، يمكننا الاستمرار في إضافة ميزات إضافية. لقد قمنا بتوصيل Grove - Relay بـ LTE Cat 1 Pi HAT ، لكنها تستخدم منفذًا رقميًا بدلاً من منفذ I2C.
هذا دبوس خارجي لـ Raspberry Pi 3B ، يمكننا أن نرى دبوس SDA ودبوس SCL الموجود في دبوس اللوحة 3 والدبوس 5.
حتى نتمكن من التحكم في الترحيل عن طريق مخرجات الإشارة الرقمية إلى الرقم 5. قم بتشغيل متابعة برنامج python على Raspberry Pi الخاص بك ، إذا لم يحدث أي خطأ ، فسوف تسمع Ti-Ta من التتابع.
استيراد RPi. GPIO كـ GPIO
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN ، GPIO. OUT) GPIO.output (RELAY_PIN ، GPIO. HIGH)
إذن هذه هي الفكرة ، نقوم بتحميل الوجوه المعروفة من مجلد ، والتعرف على الوجوه التي تم التقاطها بواسطة picamera ، إذا كان الوجه في المجلد ، فقم بالتحكم في التتابع لفتح الباب. يمكننا حزمها في فصل دراسي ، وهنا طريقة load_known_faces () وطريقة unlock () ، يمكن تنزيل البرنامج المكتمل في نهاية هذه المقالة.
def load_known_faces (self):
known_faces = os.listdir (self._ known_faces_path) for known_faces in known_faces: self._ known_faces_name.append (known_faces_name.append (known_face [0: len (known_face) - len ('. jpg')]) known_face_image = face_recognition.load_image_file (self._ known_file_file)) self._ known_faces_encoding.append (face_recognition.face_encodings (known_face_image) [0]) إرجاع len (self._ known_faces_encoding) def unlock (self): if self._ matched.count (True)> 0: GPIO.output (self._ relay_pin، GPIO. HIGH) print ('Door open') time.sleep (5) GPIO.output (self._ relay_pin، GPIO. LOW) self._ reset_recognise_params () إرجاع True self._ retry_count + = طباعة واحدة ('يرجى المحاولة مرة أخرى … { } '. format (self._ retry_count)) إرجاع False
فكر بطريقة متعالية ، يمكننا إظهار الصورة التي تعرف عليها ، يمكن أن تكون مكتبات PIL و matplotlib مفيدة ، من بينها ، يجب تثبيت matplotlib يدويًا ، قم بتشغيل هذا الأمر في محطة Raspberry Pi الخاصة بك.
sudo pip3 تثبيت matplotlib
قم باستيرادها في التعليمات البرمجية الخاصة بك ، وقم بتغيير طريقة block in unlock () مثل هذا:
img = Image.open ('{} / {}. jpg'.format (self._ known_faces_path، self._ known_faces_name [0]))
plt.imshow (img) plt.ion () GPIO.output (self._ relay_pin، GPIO. HIGH) print ('door open') plt.pause (3) plt.close () GPIO.output (self._ relay_pin، GPIO. LOW) self._ reset_recognise_params () إرجاع صحيح
الآن ، إذا تم التعرف على وجه ، فسيتم عرض الصورة الموجودة في المجلد على الشاشة.
رسالة قصيرة
في بعض الأحيان نريد أن نعرف من في غرفتنا ، والآن يوجد مكان لـ LTE Cat 1 Pi HAT. قم بتوصيل بطاقة SIM بها ، واتبع الخطوات التالية لاختبار ما إذا كانت ستعمل أم لا.
الخطوة 1. قم بتمكين UART0 في Raspberry Pi
استخدم nano لتحرير config.txt في / boot
sudo نانو / boot/config.txt
أضف dtoverlay = pi3-disable-bt إلى أسفله ، وقم بتعطيل خدمة hciuart
sudo systemctl تعطيل hciuart
ثم احذف وحدة التحكم = serial0، 115200 in cmdline.txt in / boot
sudo نانو / التمهيد / cmdline.txt
بعد كل شيء ، يجب عليك إعادة تشغيل Raspberry Pi.
الخطوة 2. قم بتنزيل المثال وتشغيله.
افتح محطة طرفية على Raspberry Pi ، واكتب هذه الأوامر سطراً بسطر.
مؤتمر نزع السلاح ~
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py
إذا رأيت هذه المخرجات في جهازك ، فإن LTE Cat 1 Pi HAT يعمل بشكل جيد.
تم اكتشاف رأس GPIO ذو 40 سنًا
تمكين CTS0 و RTS0 على GPIOs 16 و 17 rts cts عند الاستيقاظ … اسم الوحدة: LARA-R211 RSSI: 3
الآن عرفنا أن HAT يعمل بشكل جيد ، كيف نستخدمه لإرسال الرسائل القصيرة؟ أول شيء تحتاج إلى معرفته هو أن Raspberry Pi يتواصل مع HAT عبر إرسال أوامر AT بواسطة UART. يمكنك إرسال أوامر AT إلى LTE HAT عن طريق تشغيل هذا الرمز في لغة python
من استيراد ublox_lara_r2 *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # إغلاق تدليك تصحيح الأخطاء u.debug = خطأ u.sendAT ('')
أمر AT لإرسال الرسائل القصيرة هو كما يلي
في + CMGF = 1
في + CMGS =
إذن هنا طريقة _send_sms ():
def _send_sms (ذاتي):
if self._ phonenum == لا شيء: إرجاع False for unlocker in self._ Recognise_face_names (): if self._ ublox.sendAT ('AT + CMGF = 1 / r / n'): print (self._ ublox.response) إذا كانت ذاتية. _ublox.sendAT ('AT + CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) إذا كانت self._ ublox.sendAT (' {} أدخل الغرفة. / x1a'.format (unlocker)): print (self._ ublox.response)
إشعار: مكتبة LTE Cat 1 Pi HAT المكتوبة بواسطة python2 ، وهي غير متوافقة تمامًا مع python3 ، إذا كنت تريد استخدامها مع التعرف على الوجه ، فيرجى تنزيلها من الرابط من نهاية هذه المقالة.
موصى به:
Abellcadabra (نظام قفل باب التعرف على الوجه): 9 خطوات
Abellcadabra (نظام قفل باب التعرف على الوجوه): أثناء فترة الحجر الصحي ، حاولت إيجاد طريقة لقتل الوقت من خلال بناء التعرف على الوجوه لباب المنزل. أطلق عليها اسم Abellcadabra - وهي عبارة عن مزيج بين Abracadabra ، وهي عبارة سحرية مع جرس الباب لا آخذ سوى الجرس. مضحك جدا
مرآة للتعرف على الوجه مع مقصورة سرية: 15 خطوة (بالصور)
مرآة التعرف على الوجه مع مقصورة سرية: لطالما كنت مفتونًا بالمقصورات السرية الإبداعية دائمًا المستخدمة في القصص والأفلام وما شابه. لذلك ، عندما رأيت مسابقة المقصورة السرية ، قررت أن أجرب الفكرة بنفسي وأن أصنع مرآة عادية المظهر تفتح
قفل باب التعرف على الوجه: 8 خطوات
قفل باب التعرف على الوجه: حوالي شهر في الإعداد ، أقدم قفل باب التعرف على الوجه! حاولت أن أجعله يبدو أنيقًا قدر الإمكان ، لكن لا يمكنني فعل سوى ما يصل إلى 13 عامًا. يتم تشغيل قفل باب التعرف على الوجه بواسطة Raspberry Pi 4 ، مع غطاء محمول خاص
مقدمة للتعرف على الصوت باستخدام Elechouse V3 و Arduino: 4 خطوات (بالصور)
مقدمة للتعرف على الصوت باستخدام Elechouse V3 و Arduino: مرحبًا بكم … لقد كانت تقنية التعرف على الصوت موجودة هنا خلال السنوات القليلة الماضية. ما زلنا نتذكر الإثارة الكبيرة التي شعرنا بها أثناء التحدث إلى أول جهاز iPhone مزود بنظام Siri. منذ ذلك الحين ، تطورت أجهزة الأوامر الصوتية إلى مستوى متقدم جدًا
إضافة ميكروفون إلى نظام Omnitech GPS للتعرف على الصوت: 4 خطوات
إضافة ميكروفون إلى نظام Omnitech GPS للتعرف على الصوت: أثناء العبث بوحدتي ، وجدت طريقة سهلة وسريعة لإضافة ميكروفون إلى وحدة الصم هذه. باستخدام ميكروفون ، ستتمكن من الاستفادة من التعرف على الصوت للتنقل. ستشمل كمية صغيرة من اللحام ولكن تقريبًا أي شخص