Raspberry Pi هو لوحة تطوير شهيرة قائمة على ARM cortex مصممة للمهندسين الإلكترونيين والهواة. بفضل سرعة المعالجة والذاكرة ، يمكن استخدام Raspberry Pi لأداء وظائف مختلفة في وقت واحد ، مثل جهاز كمبيوتر عادي ، ومن ثم يطلق عليه Mini Computer في راحة يدك. لقد أنشأنا سلسلة من دروس Raspberry Pi التعليمية ، للبدء بـ Raspberry Pi من البداية ثم إنشاء مشروعات إنترنت الأشياء عالية المستوى باستخدام Raspberry Pi.
هذه المرة نحن هنا مع مشروعنا التالي المثير للاهتمام وهو نظام مراقبة الزوار بوظيفة التقاط الصور. نحن هنا نقوم بتوصيل كاميرا Pi مع Raspberry Pi لالتقاط صورة كل زائر دخل من خلال البوابة أو الباب. في هذا المشروع ، كلما وصل أي شخص إلى البوابة ، يجب عليه الضغط على زر لفتح البوابة ، وبمجرد أن يضغط على الزر ، سيتم التقاط صورته وحفظها في النظام باستخدام التاريخ ووقت الدخول. يمكن أن يكون هذا مفيدًا جدًا لأغراض الأمن والمراقبة.
هذا النظام مفيد للغاية في المكاتب أو المصانع حيث يتم الاحتفاظ بسجل دخول الزائرين ويتم الاحتفاظ بسجل الحضور للموظفين. سيقوم نظام المراقبة هذا برقمنة وأتمتة جميع إدخالات الزوار وحضورهم ، ولن تكون هناك حاجة لصيانتها يدويًا. يمكن تشغيل هذا النظام من قبل الشخص نفسه أو يمكن أن يكون هناك مشغل للضغط على الزر للزائر ذاته. يعد هذا مشروعًا جيدًا لبدء استخدام كاميرا Pi وربطها بـ Raspberry Pi.
المكونات المطلوبة:
- فطيرة التوت
- كاميرا بي
- 16x2 LCD
- محرك بتيار مستمر
- IC L293D
- صفارة
- يؤدى
- مجلس الخبز
- المقاوم (1 ك ، 10 ك)
- مكثف (100nF)
- اضغط الزر
- توصيل الأسلاك
- 10 كيلو وعاء
- مزود الطاقة
شرح العمل:
إن عمل نظام مراقبة Raspberry Pi هذا بسيط. في هذا ، يتم استخدام كاميرا Pi لالتقاط صور الزوار ، عند الضغط على زر الضغط أو تشغيله. يستخدم محرك DC كبوابة. متى أراد أي شخص الدخول إلى المكان ، فعليه / عليها الضغط على الزر. بعد الضغط على الزر ، يرسل Raspberry Pi الأمر إلى Pi Camera للنقر فوق الصورة وحفظها. بعد ذلك ، يتم فتح البوابة لفترة ثم يتم إغلاقها مرة أخرى. يتم استخدام الجرس لتوليد الصوت عند الضغط على الزر واستخدام LED للإشارة إلى أن Raspberry Pi جاهز لقبول الضغط على زر الضغط ، وهذا يعني أنه عندما يكون LED قيد التشغيل ، يكون النظام جاهزًا للتشغيل.
هنا يتم حفظ صور الزوار في Raspberry Pi بالاسم الذي يحتوي على وقت وتاريخ الدخول. يعني أنه ليست هناك حاجة لحفظ التاريخ والوقت بشكل منفصل في مكان آخر حيث قمنا بتعيين الوقت والتاريخ كاسم للصورة الملتقطة ، انظر الصورة أدناه. لقد التقطنا هنا صورة صندوق كزائر ، تحقق من العرض التوضيحي الكامل في الفيديو في النهاية.
شرح الدائرة:
دائرة نظام مراقبة زوار Raspberry Pi بسيطة للغاية. هنا عرض الكريستال السائل يستخدم (LCD) لعرض الوقت / تاريخ دخول الزوار وبعض الرسائل الأخرى. LCD متصلة بـ Raspberry Pi في وضع 4 بت. دبابيس LCD وهي RS و EN و D4 و D5 و D6 و D7 متصلة برقم دبوس Raspberry Pi GPIO رقم 18 و 23 و 24 و 16 و 20 و 21. يتم توصيل وحدة الكاميرا Pi في فتحة الكاميرا في Raspberry Pi. صفارة متصلة بـ GPIO pin 26 من Raspberry Pi لغرض الإشارة يتم توصيل مؤشر LED بـ GPIO pin 5 من خلال المقاوم 1k ويتم توصيل زر ضغط بـ GPIO pin 19 فيما يتعلق بالأرض ، لتشغيل الكاميرا وفتح البوابة. محرك DC (كبوابة)متصل بـ Raspberry Pi GPIO pin 17 و 27 من خلال Motor Driver IC (L293D). يتم عرض باقي التوصيلات في مخطط الدائرة.
لتوصيل كاميرا Pi ، أدخل كبل الشريط الخاص بكاميرا Pi في فتحة الكاميرا ، واسحب علامات تبويب الموصل في لوحة RPi قليلاً وأدخل كابل الشريط في الفتحة ، ثم ادفع علامات التبويب لأسفل مرة أخرى لإصلاح كابل الشريط.
شرح تكوين وبرمجة Raspberry Pi:
نحن نستخدم لغة Python هنا للبرنامج. قبل البرمجة ، يحتاج المستخدم إلى تكوين Raspberry Pi. يجب أن يكون لديك درسين أدناه لبدء استخدام Raspberry Pi وتثبيت وتكوين Raspbian Jessie OS في Pi:
- الشروع في استخدام Raspberry Pi - مقدمة
- الشروع في استخدام Raspberry Pi - التكوين
بعد تثبيت نظام Raspbian OS بنجاح على Raspberry Pi ، نحتاج إلى تثبيت ملفات مكتبة كاميرا Pi لتشغيل هذا المشروع في Raspberry pi. للقيام بذلك ، نحتاج إلى اتباع أوامر معينة:
sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
بعد ذلك ، يحتاج المستخدم إلى تمكين Raspberry Pi Camera باستخدام Raspberry Pi Software Configuration Tool (raspi-config):
sudo raspi-config. $
ثم حدد تمكين الكاميرا وتمكينها.
ثم يحتاج المستخدم إلى إعادة تشغيل Raspberry Pi ، عن طريق إصدار sudo reboot ، بحيث يمكن أن يستغرق الإعداد الجديد. الآن أصبحت كاميرا Pi الخاصة بك جاهزة للاستخدام.
sudo إعادة التشغيل
يلعب برنامج Python لهذا المشروع دورًا مهمًا للغاية في تنفيذ جميع العمليات. بادئ ذي بدء ، نقوم بتضمين المكتبات المطلوبة ، وتهيئة المتغيرات وتحديد المسامير لشاشات الكريستال السائل ، و LED ، والمحرك والمكونات الأخرى.
استيراد RPi.GPIO مثل gpio import picamera وقت الاستيراد m11 = 17 m12 = 27 led = 5 buz = 26 زر = 19 RS = 18………………..
يتم إنشاء وظيفة def capture_image () لالتقاط صورة الزائر مع الوقت والتاريخ.
def capture_image (): lcdcmd (0x01) lcdprint ("الرجاء الانتظار..") ؛ data = time.strftime ("٪ d_٪ b_٪ Y \٪ H:٪ M:٪ S") camera.start_preview () time.sleep (5) print data camera.capture ('/ home / pi / Desktop / Visitors /٪s.jpg'٪data) camera.stop_preview () lcdcmd (0x01) lcdprint ("Image Captured") lcdcmd (0xc0) lcdprint ("Successfully") time.sleep (2)
وظيفة مواطنه بوابة () هو مكتوب ل قيادة السيارات DC التي تستخدم بوصفها بوابة هنا.
بوابة def (): lcdcmd (0x01) lcdprint ("مرحبًا") gpio.output (m11، 1) gpio.output (m12، 0) time.sleep (1.5) gpio.output (m11، 0) gpio.output (m12 ، 0) time.sleep (3) gpio.output (m11، 0) gpio.output (m12، 1) time.sleep (1.5) gpio.output (m11، 0) gpio.output (m12، 0) lcdcmd (0x01) ؛ lcdprint ("شكرًا لك") time.sleep (2)
وتعرف بعض الوظائف لشاشات الكريستال السائل مثل تبدأ صفر () يتم استخدام الدالة لتهيئة LCD، lcdcmd صفر (الفصل) يتم استخدام الدالة لإرسال الأوامر لLCD، مواطنه lcdwrite (الفصل) يتم استخدام الدالة لإرسال البيانات إلى LCD و lcdprint صفر (شارع) تستخدم وظيفة لإرسال سلسلة البيانات إلى شاشات الكريستال السائل. يمكنك التحقق من كل هذه الوظائف في التعليمات البرمجية المعطاة بعد ذلك.
ثم قمنا بتهيئة شاشة LCD وكاميرا Pi ، وقراءة زر الضغط باستمرار باستخدام حلقة while . عندما يتم الضغط على زر الضغط ، لفتح بوابة الدخول ، يتم التقاط صورة الزائر وحفظها في Raspberry Pi مع التاريخ والوقت ويتم فتح البوابة. تحقق من الكود الكامل والفيديو التوضيحي أدناه.
بينما 1: d = time.strftime ("٪ d٪ b٪ Y") t = time.strftime ("٪ H:٪ M:٪ S") lcdcmd (0x80) lcdprint ("الوقت:٪ s"٪ t) lcdcmd (0xc0) lcdprint ("التاريخ:٪ s"٪ d) gpio.output (led، 1) إذا كان gpio.input (زر) == 0: gpio.output (buz، 1) gpio.output (led، 0) time.sleep (0.5) gpio.output (buz، 0) capture_image () بوابة () وقت.نوم (0.5)
يتمتع نظام مراقبة الكاميرا هذا بنطاق كبير للترقية ، مثل برنامج يمكن إنشاؤه في Computer Vision أو في OpenCV لمطابقة الصورة الملتقطة للزائر مع الصور المخزنة بالفعل وأذن للزائر فقط إذا تم العثور على بعض المطابقة ، فسيؤدي ذلك فقط فتح البوابة للأشخاص المخولين.