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

روبوت جاسوس التوت: 8 خطوات (بالصور)
روبوت جاسوس التوت: 8 خطوات (بالصور)

فيديو: روبوت جاسوس التوت: 8 خطوات (بالصور)

فيديو: روبوت جاسوس التوت: 8 خطوات (بالصور)
فيديو: ايلون ماسك تزوج روبوت 😂 2024, شهر نوفمبر
Anonim
Image
Image
روبوت جاسوس التوت
روبوت جاسوس التوت

يتيح لك هذا المشروع قيادة روبوت عبر صفحة ويب وعرض بث مباشر. يمكن استخدامه للتجسس على الحيوانات الأليفة ، والتأكد من عدم وجود شيء يحترق في الفرن الخاص بك ، وحتى مراقبة الطيور! قدمت DFRobot وحدة كاميرا Raspberry Pi 3 و Raspberry Pi.

الخطوة الأولى: إلكترونيات الروبوت

إلكترونيات الروبوت
إلكترونيات الروبوت

لقد بدأت بتجميع مجموعة هيكل 2WD MiniQ من DFRobot. أدخلت العجلات على أعمدة المحرك ، ثم أدخلتها بين قوسين وربطتها بالهيكل. أخيرًا ، أضفت الدعامات المعدنية. حان الوقت الآن لبناء اللوحة الرئيسية. تم لحام محرك L293d في مكانه ، جنبًا إلى جنب مع الأسلاك التي تصل إلى دبابيس GPIO الخاصة بـ Raspberry Pi. بعد ذلك ، قمت بلحام موصل للبطارية ، حيث سيوفر ذلك الطاقة الرئيسية. بعد إضافة مصدر الطاقة ، قمت بتثبيت منظم 5V.

الخطوة 2: إعداد ملف Pi

إعداد Pi
إعداد Pi

تواصلت شركة DFRobot معي وأرسلت وحدة كاميرا Raspberry Pi 3 و Raspberry Pi. لذلك بعد أن فتحت الصناديق ، حصلت على حق العمل من خلال إعداد بطاقة SD. أولاً ، ذهبت إلى صفحة تنزيلات Raspberry Pi وقمت بتنزيل أحدث إصدار من Raspbian. ثم قمت باستخراج الملف ووضعه في دليل مناسب. لا يمكنك فقط نسخ / لصق ملف.img على بطاقة SD ، عليك "نسخه" على البطاقة. يمكنك تنزيل أداة حرق مثل Etcher.io لنقل صورة نظام التشغيل بسهولة. بعد أن كان ملف.img على بطاقة SD الخاصة بي ، قمت بإدخاله في Raspberry Pi ومنحته الطاقة. بعد حوالي 50 ثانية ، قمت بفصل السلك وإزالة بطاقة SD. بعد ذلك ، أعدت بطاقة SD إلى جهاز الكمبيوتر الخاص بي وذهبت إلى دليل "التمهيد". فتحت برنامج المفكرة وحفظه كملف فارغ باسم "ssh" بدون امتداد. كان هناك أيضًا ملفًا أضفته يسمى "wpa_supplicant.conf" ووضعت هذا النص فيه:

الشبكة = {ssid = psk =}

ثم قمت بحفظ البطاقة وإخراجها وأعدتها إلى Raspberry Pi 3. وهذا يجب أن يسمح الآن باستخدام SSH والاتصال بشبكة WiFi.

الخطوة 3: تجهيز الكاميرا

تجهيز الكاميرا
تجهيز الكاميرا

بشكل افتراضي ، يتم تعطيل الكاميرا على Pi ، لذلك يجب عليك فتح نوع المحطة الطرفية sudo raspi-config لإظهار القائمة. انتقل إلى "خيارات التفاعل" ثم قم بتمكين الكاميرا. الآن فقط حدد "إنهاء" وأدخل كابل الشريط لوحدة الكاميرا في المنطقة الصحيحة من Pi.

الخطوة 4: تثبيت البرنامج

هناك العديد من البرامج المختلفة التي يمكنها دفق الفيديو ، مثل vlc والحركة ، لكنني قررت استخدام mjpeg-streamer نظرًا لانخفاض زمن الوصول وسهولة التثبيت. وفقًا للإرشادات الموجودة على الموقع ، قم باستنساخ git https://github.com/jacksonliam/mjpg-streamer.git في مجلد ، ثم اكتب sudo apt-get install cmake libjpeg8-dev لتثبيت المكتبات المطلوبة. قم بتغيير الدليل الخاص بك إلى المجلد الذي قمت بتنزيله ثم اكتب make متبوعًا sudo make install لتجميع البرنامج. أخيرًا أدخل تصدير LD_LIBRARY_PATH =. ولتشغيله اكتب./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" يمكنك الوصول إلى الدفق بالانتقال إلى https://: 8080 / stream.html لعرض الدفق.

الخطوة 5: تحكم

مراقب
مراقب
مراقب
مراقب

ثم جاء الجزء المتعلق بكيفية التحكم في Raspberry Pi عبر WiFi ، لأن نطاق البلوتوث ضئيل للغاية. قررت استخدام خادم Flask يعمل على Raspberry PI ووحدة ESP8266 ESP12E لإرسال البيانات إليه. يحتوي ESP8266 على إدخال تناظري واحد فقط ، مما يعني أنه لا يمكنني استخدام عصا التحكم مباشرة ، حيث يأخذ مدخلين تناظريين. كان الخيار الأفضل هو ADS1115 ، وهو جهاز I2C يقرأ الإشارات التناظرية بدقة 16 بت. لقد قمت ببساطة بتوصيل SDA بـ 4 و SCL بـ 5 ، إلى جانب VCC و GND. يتصل محور عصا التحكم X بـ A0 على ADS1115 ، ويتصل المحور Y بـ A1. ولكن ، أحرقت جهاز ADS1115 عن طريق الخطأ ، لذلك اضطررت إلى اللجوء إلى أفضل شيء تالي: الأزرار! حتى الآن الإعداد الخاص بي هو ESP8266 Sparkfun Thing Dev Board مع 3 أزرار - للأمام واليمين واليسار. الآن عندما يتم الضغط على أحدهم ، فإنه يرسل البيانات لتحويل العجلات في هذا الاتجاه.

الخطوة السادسة: كود الروبوت

كود الروبوت
كود الروبوت

لقد أنشأت مشروعًا سابقًا استخدم مكتبة GPIO PWM في Pi للتحكم في المحركات عبر json ، لذلك أعدت تصميم الكود لقبول البيانات عبر تطبيق Flask بدلاً من ذلك. Flask هي مكتبة Python تقوم بشكل أساسي بتحويل Pi الخاص بك إلى خادم ويب قادر على إرسال واستقبال البيانات. باستخدام PWM ، يمكن التحكم في المحركات بدقة أكبر مقارنة بمحرك الخزان. هذا يعني أيضًا أن الروبوت يمكنه السير بسرعات متغيرة بدلاً من سرعات ثابتة. تم تكوين تطبيق flask الخاص بي لتغيير PWM للمحركات بمجرد تلقيه للبيانات من طلب GET عبر http من ESP12e. كما أنه يستخدم مكتبة subprocess. Popen لتشغيل البرنامج النصي لتدفق الويب في الخلفية. لقد أرفقت كودًا بصفحة المشروع ، لذلك كل ما هو ضروري هو التنزيل.

الخطوة 7: رمز وحدة التحكم

كان الكود بسيطًا جدًا ، فقط خذ قراءات من المسامير الثلاثة ، وقم بتشغيلها من خلال بعض عبارات if لتحديد اتجاه العجلة ، وأخيرًا أرسل هذه القيم إلى Raspberry Pi. تأتي إضافة لوحة ESP8266 لـ Arduino IDE مع مكتبة HTTPClient ، التي تتعامل مع الرؤوس وإرسال البيانات. يحتاج خادم Flask إلى تلقي البيانات عبر مكالمة POST ، لذلك يبدأ الرمز الاتصال بخادم الويب Raspberry Pi ، ثم يضيف رأسًا إلى البيانات التي تشير إلى أنها JSON مشفرة ، وأخيرًا يرسل البيانات في شكل كائن JSON. أضفت تأخيرًا قدره 40 مللي ثانية لمنع تحميل Raspberry Pi بالبيانات بشكل زائد.

الخطوة 8: تشغيل Raspberry SPy

تشغيل جاسوس التوت
تشغيل جاسوس التوت
تشغيل جاسوس التوت
تشغيل جاسوس التوت

كل ما هو مطلوب هو كتابة sudo python.py! يجب أن ترى الكاميرا تضيء ، وبالانتقال إلى عنوان الويب الخاص بـ pi باستخدام المنفذ 8080 ، يجب أن يكون الدفق مرئيًا. يمكنك الآن استخدام وحدة التحكم في أي مكان بالمنزل والحصول على بث مباشر أيضًا.

موصى به: