- تثبيت وتهيئة "الحركة" للحصول على تغذية الفيديو:
- إعداد Flask في Raspberry Pi للتحكم في الروبوت من خلال صفحة الويب:
- كود HTML لصفحة الويب:
- روبوت المراقبة
- مخطط الدائرة والإعداد:
- طريقة التشغيل:
في جلسة DIY هذه ، نقوم ببناء سيارة روبوتية للمراقبة يتم التحكم فيها عبر الويب باستخدام Raspberry Pi وكاميرا ويب. قد يكون هذا أداة أمان وتجسس مفيدة وغير مكلفة ، والتي تحتوي على العديد من الخيارات القابلة للتكوين ويمكن بناؤها في غضون ساعات قليلة. في مشروع إنترنت الأشياء هذا ، نستخدم بشكل أساسي Raspberry Pi وكاميرا ويب USB ومحركين يعملان بالتيار المستمر مع هيكل روبوت لبناء هذه السيارة الآلية.
يحتوي على كاميرا ويب مثبتة فوقه ، والتي من خلالها سنحصل على تغذية فيديو حية والجزء المثير هنا هو أنه يمكننا التحكم في هذا الروبوت ونقله من متصفح الويب عبر الإنترنت. نظرًا لأنه يمكن التحكم فيها باستخدام صفحة الويب ، فهذا يعني أنه يمكن أيضًا التحكم فيها باستخدام صفحة الويب في الهاتف المحمول. لقد أنشأنا صفحة ويب بتنسيق HTML تحتوي على روابط يسار ، ويمين ، وأمام ، وخلف ، وبالضغط عليها يمكننا تحريك الروبوت في أي اتجاه. استخدمنا هنا "Motion" للحصول على تغذية فيديو مباشرة من كاميرا USB واستخدمنا "Flask" لإرسال أوامر من صفحة الويب إلى Raspberry Pi باستخدام لغة pythonلتحريك الروبوت ، والتي سيتم شرحها بالتفصيل في الجزء التالي من هذا البرنامج التعليمي. لدينا نظام Raspbian Jessie OS مثبتًا على لوحة Raspberry Pi الخاصة بنا. يمكنك مراجعة هذه المقالة لتثبيت نظام التشغيل Raspbian والبدء في استخدام Raspberry Pi.
تثبيت وتهيئة "الحركة" للحصول على تغذية الفيديو:
Motion (برنامج المراقبة) هو برنامج CCTV مجاني مفتوح المصدر لكشف الحركة ، تم تطويره لنظام Linux. يكتشف الحركة ويبدأ تسجيل الفيديو لها. مع تثبيت "Motion" في Raspberry Pi الخاص بك ، يمكنك بطريقة سحرية تحويل Raspberry Pi الخاص بك إلى كاميرا أمان. يتم استخدامه للحصول على تغذية فيديو حية ، وإنشاء مقاطع فيديو بفاصل زمني وأخذ لقطات على فترات منتظمة. يسجل الفيديو ويحفظه عندما يكتشف حركة أو أي اضطراب في منطقة العرض. يمكن مشاهدة بث الفيديو المباشر على متصفح الويب عن طريق إدخال عنوان IP الخاص بـ Pi مع المنفذ.
لقد أنشأنا برنامجًا تعليميًا مفصلاً حول استخدام الحركة مع Raspberry Pi وكاميرا USB ، ونوضح هنا بإيجاز تثبيته على Raspberry pi ليقوم الروبوت الخاص بنا بإرسال بث فيديو مباشر إلى صفحة الويب.
هنا تحتاج إلى تشغيل بعض الأوامر فقط لبدء الحصول على أول فيديو لك عبر الشبكة. قبل ذلك ، تحقق بشكل صحيح من أن Raspberry Pi متصل بالإنترنت ، إما باستخدام LAN أو Wi-Fi ثم اتبع الخطوات التالية:
الخطوة 1: قم أولاً بتشغيل الأمر أدناه لتحديث نظام التشغيل Raspbian على Raspberry Pi:
sudo apt-get update
الخطوة 2: ثم قم بتثبيت مكتبة "Motion" باستخدام الأمر التالي:
sudo apt-get install motion
الخطوة 3: الآن اضبط Motion daemon على نعم عن طريق تحرير الملف: / etc / default / motion بحيث يكون قيد التشغيل دائمًا. قم بتحرير هذا الملف باستخدام محرر 'nano' مع 'sudo' كما هو موضح أدناه:
sudo نانو / الخ / الافتراضي / الحركة
ثم احفظ الملف بالضغط على "CTRL + X" ، ثم "Y" ثم مفتاح الإدخال.
الخطوة 4: الآن نحتاج إلى تعيين إذن للدليل الهدف (/ var / lib / motion /) ، حيث يحفظ Motion جميع تسجيلات الفيديو وملفات الصور. نحتاج إلى تعيين "Motion" كمالك لهذا الدليل بإصدار الأمر التالي:
حركة sudo chown: الحركة / var / lib / motion /
هذا الإذن ضروري وإلا ستحصل على خطأ ، عند التحقق من حالة خدمة الحركة.
يمكنك التحقق من حالة الخدمة باستخدام هذا الأمر: sudo service motion status
الخطوة 5: الآن نحن على وشك الانتهاء ، نحتاج فقط إلى تغيير خيار تهيئة واحد في ملف تكوين الحركة (/etc/motion/motion.conf ) الذي تم إيقاف تشغيل stream_localhost . يتعين علينا إيقاف تشغيل دفق المضيف المحلي هذا ، وإلا فلن نتمكن من الوصول إلى موجز الفيديو على شبكتنا وسيكون الوصول إليه فقط من Raspberry Pi نفسه. للقيام بذلك ، قم بتحرير ملف تكوين الحركة باستخدام محرر "nano" وقم بإيقاف تشغيله ، كما هو موضح أدناه:
sudo nano /etc/motion/motion.conf
لقد انتهينا الآن وأصبحنا جاهزين للحصول على البث المباشر من كاميرا الويب USB المتصلة بـ Pi. فقط ابدأ (أو أعد تشغيل) خدمة Motion باستخدام الأمر أدناه وافتح عنوان IP الخاص بـ Raspberry Pi ، باستخدام المنفذ 8081 ، في متصفحك (مثل 192.168.43.199:8081). في هذا المشروع ، قمنا بتضمين عنوان IP هذا في كود HTML الخاص بنا في علامة img src .
sudo /etc/init.d/motion إعادة التشغيل
وسترى البث المباشر من كاميرا الويب الخاصة بك. استخدمنا هنا كاميرا ويب USB منخفضة التكلفة عملت بسلاسة مع Raspberry Pi ، ولكن يمكنك استخدام كاميرا جيدة الجودة للحصول على دقة أفضل. كما سيظهر في المتصفح ، يمكنك استخدام أي جهاز لمشاهدة الخلاصة التي تدعم متصفح الويب مثل الهاتف المحمول والكمبيوتر اللوحي وما إلى ذلك.
حاول إعادة تشغيل Raspberry Pi كخطوة لاستكشاف الأخطاء وإصلاحها عند الضرورة:
sudo إعادة التشغيل
هذا كله يتعلق باستخدام Motion لروبوت المراقبة لدينا ، بصرف النظر عن ذلك ، فإنه يحتوي على العديد من خيارات التكوين التي ناقشناها بالفعل في البرنامج التعليمي السابق.
ملاحظة: إذا كنت من طراز Raspberry Pi أسفل الإصدار 3 ، فقد تحتاج إلى Wi-Fi dongle لتوصيل raspberry Pi بالموجه لاسلكيًا.
إعداد Flask في Raspberry Pi للتحكم في الروبوت من خلال صفحة الويب:
هنا ، قمنا بإنشاء خادم ويب باستخدام Flask ، والذي يوفر طريقة لإرسال الأوامر من صفحة الويب إلى Raspberry Pi للتحكم في الروبوت عبر الشبكة. يتيح لنا Flask تشغيل برامج Python النصية الخاصة بنا من خلال صفحة ويب ويمكننا إرسال واستقبال البيانات من Raspberry Pi إلى متصفح الويب والعكس صحيح. Flask هو إطار مصغر لبايثون. تعتمد هذه الأداة على Unicode مع خادم تطوير ومصحح أخطاء مدمجين ، ودعم اختبار وحدة متكامل ، ودعم ملفات تعريف الارتباط الآمنة وسهولة استخدامها ، وهذه الأشياء تجعلها مفيدة للهواة.
قم بتثبيت حزمة دعم قارورة في Raspberry Pi باستخدام الأمر المحدد:
تثبيت قارورة $ pip
ثم يمكننا استخدام القارورة بمجرد استيرادها في برنامجنا ، كما قمنا باستيراد حزم القارورة التالية لهذا المشروع:
من القارورة استيراد القارورة من القارورة استيراد القارورة ، render_template ، طلب
يمكنك معرفة المزيد حول البرمجة باستخدام Flask هنا ، وكذلك التحقق من مشاريعنا السابقة حيث استخدمنا Flask لإرسال الرسالة من صفحة الويب إلى Raspberry Pi وإرسال قيمة الوزن إلى Raspberry Pi في Smart Container.
كود HTML لصفحة الويب:
لقد أنشأنا صفحة ويب باستخدام لغة HTML لعرض روابط التحكم (يسار ، يمين ، للأمام ، للخلف) لنقل الروبوت من متصفح الويب. لقد استخدمنا jQuery script لاستدعاء الوظائف في برنامج Python الخاص بنا. توجد خمس وظائف في Python Code لتحريك الروبوت إلى اليسار واليمين والأمام والخلف وإيقافه. تم إعطاء كود Python الكامل في النهاية. سيتم تنفيذ هذه الوظائف من خلال النقر على روابط التحكم على صفحة الويب وسوف تتحرك المحركات اعتمادًا على الرابط الذي يتم النقر عليه. هنا قمنا بكتابة الكود بطريقة تجعل الروبوت يتحرك في اتجاه معين أثناء النقر مع الاستمرار على الرابط ، وبمجرد أن نحرر زر الماوس ، سيتوقف الروبوت. يوجد أدناه كود HTML لصفحة الويب بما في ذلك jQuery:
هنا يمكنك أن ترى أننا قمنا بتضمين عنوان IP ، الذي يتم بث الفيديو عليه ، في صفحة الويب باستخدام علامة img src . قم بتغيير عنوان IP وفقًا لـ Raspberry Pi الخاص بك ولكن احتفظ بالمنفذ كما هو.
يحتاج المستخدم إلى نسخ ولصق كود HTML المذكور أعلاه في بعض محررات النصوص (المفكرة) وحفظ الملف بامتداد.HTML (robot.html). ثم ضع ملف HTML هذا في المجلد / Templates فيما يتعلق بموقع برنامج Python النصي. يعني أنك بحاجة إلى إنشاء مجلد باسم القوالب ، حيث قمت بوضع ملف Python Code الخاص بك لـ Raspberry Surveillance Robot هذا ، ثم ضع ملف robot.html في مجلد القوالب هذا. هذه الخطوة مهمة ، وإلا فإن مشروعنا لن ينجح. يمكنك فتح ملف robot.html مباشرة بالنقر فوقه نقرًا مزدوجًا لترى كيف ستبدو روابط التحكم. تحقق كذلك من العملية برمتها في فيديو توضيحي في نهايةالمطاف. بعد الانتهاء من البرمجة وكل شيء ، يمكننا فقط تشغيل كود Python في Raspberry Pi وفتح IP_address_of_your_Pi: 5010 في متصفح الويب (مثل
يمكنك التحقق من عنوان IP الخاص بـ Raspberry Pi باستخدام الأمر ifconfig :
ifconfig
مخطط الدائرة والإعداد:
بعد اختبار موجز الفيديو المباشر ورمز HTML ، نحتاج إلى إنشاء روبوت باستخدام هيكل وعجلات وصواميل آلية أو جاهزة الصنع. ثم ضع Power Bank فوقه لتشغيل Raspberry Pi ثم ضع Raspberry Pi وكاميرا الويب فوق بنك الطاقة وقم بإصلاح الإعداد باستخدام شريط Cello أو شرائط مطاطية ، قم بتوصيل كاميرا USB بـ Raspberry Pi.
في مشروع إنترنت الأشياء هذا ، لا نحتاج إلى إجراء العديد من التوصيلات ، فنحن نحتاج فقط إلى توصيل بعض الأسلاك الخاصة بـ Motor Driver IC L293D و DC Motors. تظهر التوصيلات في مخطط الدائرة أدناه. استخدمنا هنا ثنائي الفينيل متعدد الكلور للأغراض العامة لتركيب L293D IC لتقليل المساحة ولكن يمكنك أيضًا استخدام لوحة توصيل صغيرة لتوصيل محركات التيار المستمر بـ L293D.
طريقة التشغيل:
تشغيل وتشغيل روبوت المراقبة سهل للغاية. قم بإنشاء ملف python (امتداد.py) وانسخ الكود أدناه فيه ثم احفظه على Raspberry Pi. ثم ضع ملف HTML في مجلد القوالب كما هو موضح أعلاه. لا تنس تغيير عنوان IP في ملف HTML.
ثم قم بتشغيل كود Python عن طريق إدخال الأمر أدناه:
python name_of_file.py
ثم افتح عنوان Raspberry Pi IP الخاص بك باستخدام المنفذ 5010 مثل http://192.168.43.199:5010 (استبدل عنوان IP مرة أخرى بعنوانك). سترى الآن صفحة الويب التي تحتوي على أربعة روابط للتحكم في الروبوت وبث مباشر للفيديو. يمكن للمستخدم التحكم في الروبوت عن طريق النقر مع الاستمرار على الروابط. إذا نقر المستخدم مع الاستمرار على الروابط ، فسينتقل الروبوت وفقًا للرابط الذي تم النقر عليه وعندما يحرر المستخدم الارتباط ، يتوقف الروبوت تلقائيًا.
يتم توفير رمز Python الكامل أدناه ، حيث كتبنا وظائف مختلفة للتحكم في الروبوت عند النقر فوق الروابط الموجودة على صفحة الويب. يمكنك فهمها بسهولة أو إذا كنت مبتدئًا ، فراجع دروسنا السابقة عن Raspberry Pi. يزور أيضًا قسم الروبوتات لدينا لمزيد من الإثارة وسهولة في بناء الروبوتات.