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

طائرة بدون طيار تعمل بتقنية Raspberry Pi و Android و IoT و Bluetooth: 7 خطوات (بالصور)
طائرة بدون طيار تعمل بتقنية Raspberry Pi و Android و IoT و Bluetooth: 7 خطوات (بالصور)

فيديو: طائرة بدون طيار تعمل بتقنية Raspberry Pi و Android و IoT و Bluetooth: 7 خطوات (بالصور)

فيديو: طائرة بدون طيار تعمل بتقنية Raspberry Pi و Android و IoT و Bluetooth: 7 خطوات (بالصور)
فيديو: الحوسبة السحابية وانترنت الأشياء اليوم الثاني 2024, يوليو
Anonim
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث
Raspberry Pi و Android و IoT وطائرة بدون طيار تعمل بالبلوتوث

باستخدام Raspberry Pi للمنطق الموجود على متن الطائرة ، فإن هذا الكمبيوتر المحمول الصغير ، سينشئ منفذًا محليًا يبث مقطع فيديو في الوقت الفعلي بينما ينشئ في نفس الوقت مآخذ Bluetooth لقراءة القيم المرسلة بواسطة تطبيق android مخصص. يتزامن التطبيق مع الطائرة بدون طيار ويستخدم مدخلات المستخدم لإرسال التعليمات إلى الطائرة بدون طيار على الفور.

هذا المشروع صعب إلى حد ما من الصفر. نأمل أن توفر المعلومات التالية نظرة ثاقبة لتطبيقات الطائرات بدون طيار المتعددة. يتم توفير جميع تصميمات البرامج والدوائر الخاصة بهذا المشروع. لا تتردد في تعديل ومشاركة الكود حسب رغبتك. يرجى استخدام المعلومات المقدمة بمسؤولية ولا تتردد في ترك تعليق أدناه.

الخطوة 1: الأجهزة

الأجهزة
الأجهزة
الأجهزة
الأجهزة
الأجهزة
الأجهزة
الأجهزة
الأجهزة

فيما يلي قائمة الأجهزة التي استخدمتها.

  • Raspberry Pi 3 موديل بي
  • وحدة كاميرا Raspberry PI
  • سائق محرك L298N
  • 2 ، دي سي موتورز
  • لوحة مفاتيح وأي شاشة وماوس وكابل إيثرنت وكابل HDMI (لـ pi)
  • بطاقة MicroSD بسعة 8 جيجا بايت
  • مسامير ، شريط ، إلخ.
  • 2 عجلات
  • جهاز Android Bluetooth (هاتفي)
  • 2 ، 18650 خلية
  • منظم 5 فولت
  • جهاز كمبيوتر لبرمجة التطبيق عليه

Raspberry Pi: للحصول على دقة تدفق أعلى (أو للمبتدئين) ، أوصي بأحدث إصدار من طراز B بينما قد تستخدم الإصدارات الأكثر إحكامًا أحدث طراز A + أو Pi Zero (إصدار الكاميرا). تذكر أنه إذا كنت تستخدم raspberry pi zero ، فستحتاج إلى Bluetooth و / أو دونجل WiFi لذلك. سيفترض هذا البرنامج التعليمي أنك تستخدم Raspberry Pi 3 B.

سائق محرك: لقد استخدمت L298N ، على الرغم من أن أي سائق محرك يجب أن يعمل. فقط تأكد من أنه يمكنه التعامل مع الجهد والتيار للمحركات الخاصة بك.

2 محركات DC: تأكد من أنها تستطيع تحمل وزن الطائرة بدون طيار الخاصة بك.

الجسم: يستخدم أيضًا لتثبيت جميع المكونات فيه. عادةً ما يكون البلاستيك الصلب أو الألومنيوم مادة متينة وخفيفة الوزن لاستخدامها. للحصول على أفضل النتائج ، يمكن استخدام طابعة ثلاثية الأبعاد.

مصدر الطاقة: إنه دائمًا ما يكون القرار الأصعب عند اختيار الأجزاء. البطارية المطلوبة تعتمد على السحب الحالي. بالنسبة للتطبيقات منخفضة الطاقة (مثل 1 أو 2 أمبير) ، يجب أن تكفي بطارية 9 فولت. لأداء أعلى ، أوصي إما باستخدام خلية ليثيوم أيون 18650 أو بطارية ليثيوم بوليمر لأنها خفيفة الوزن ويمكن أن تحمل الكثير من الطاقة بالنسبة لحجمها وقابلة لإعادة الشحن.

عجلتان: فقط تأكد من أن عجلاتك لها نفس حجم الفتحة مثل عمود المحرك. تأكد أيضًا من أن أقطار العجلات كبيرة بما يكفي لطائرة بدون طيار. نظرًا لوجود اختلافات وتصميمات متعددة محتملة لهذا المشروع ، فهي متعددة أنواع وأحجام مختلفة من العجلات لاستخدامها.

منظمات الجهد: مطلوب منظم 5 فولت لتشغيل pi عبر بطارية. لقد استخدمت محول باك LM2596 DC-DC.

تم استخدام معظم المنتجات الموجودة في الروابط في هذا المشروع وكانت أفضل الصفقات التي يمكن أن أجدها في ذلك الوقت.

الآن بعد أن أصبح لديك كل ما تحتاجه ، فلنقم بإعداد pi.

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

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

ستوضح لك هذه الخطوة كيفية إعداد Raspberry Pi حتى تتمكن من بدء الترميز. إذا كان لديك بالفعل إعداد pi مع Raspbian ، فلا تتردد في الانتقال إلى الخطوة التالية.

أولاً ، تحتاج إلى تنزيل نظام تشغيل خاص بتوت العليق. احصل على NOOBS إذا كنت مبتدئًا. إذا كان لديك بالفعل خبرة ملحوظة مع raspberry pi ، فقد تكون مهتمًا بـ Raspbian. سأفترض أنك تستخدم NOOBS لهذا البرنامج التعليمي.

أثناء التنزيل ، قم بتهيئة بطاقة SD الخاصة بك باستخدام SD Formatter.

الآن قم باستخراج ونسخ محتويات التنزيل إلى جذر بطاقة SD الخاصة بك. الجذر يعني ببساطة أنه ليس داخل أي مجلدات. إذا تم إنشاء مجلد جديد لاستيعاب جميع الملفات المستخرجة ، فقم بنسخه عبر هذا الملف.

بعد ذلك ، قم بإرفاق بطاقة SD بـ pi. أثناء الإدراج ، يجب إما "النقر" أو الجلوس داخل الجزء السفلي من pi.

قم بتوصيل الماوس ولوحة المفاتيح في لوحة المفاتيح. ثم قم بتوصيل كبل HDMI بالبي من الشاشة. أخيرًا ، قم بتوصيل محول مقبس الحائط الصغير USB 3 أمبير في باي. على الرغم من أن مقبس الحائط موصى به ، فقد استخدمت الكمبيوتر المحمول كمصدر طاقة (USB من الكمبيوتر المحمول إلى Micro USB في pi).

دع pi تفعل ما تريد. إذا طُلب منك ذلك ، فحدد Raspbian واتركه يثبت. اتبع التعليمات الموجودة في المثبت. قد يستغرق بعض الوقت حتى يكتمل. إذا سارت الأمور على ما يرام ، فسترى شاشة سطح مكتب مشابهة للشاشة أعلاه.

قم بتوصيل كابل إيثرنت من جهاز التوجيه الخاص بك في باي. ثم افتح سطر الأوامر (رمز "الصندوق" الأسود في الجزء العلوي من الشاشة). ستحتاج إلى تحديث pi من خلال شبكة سلكية لتوصيلها بشبكة لاسلكية.

ثم اضغط على أيقونة الكابل في الجزء العلوي من الشاشة. اكتب تفاصيل الشبكة الخاصة بك عند الطلب.

اكتب النص في السطر التالي تمامًا كما هو موضح واضغط على Enter. سيؤدي هذا إلى تحديث pi. قد يستغرق بعض الوقت. فقط دعها تفعل ما تريد.

sudo apt-get update

ثم اكتب الرمز في السطر التالي. سيستغرق هذا بعض الوقت أيضًا. لا تفعل أي شيء حتى تنتهي.

sudo apt-get dist-Upgrade

الآن يجب أن تكون قادرًا على فصل كابل Ethernet ، والنقر فوق الرمز اللاسلكي في الجزء العلوي من الشاشة ، وإدخال معلومات الشبكات الخاصة بك ، وأخيراً الاتصال بشبكتك عبر اللاسلكي.

الآن دعونا نبرمج الجزء من الطائرة بدون طيار الذي يتعامل مع الحركات.

الخطوة 3: التعامل مع الحركات (خادم بلوتوث)

معالجة الحركات (خادم بلوتوث)
معالجة الحركات (خادم بلوتوث)

للتعامل مع الحركات ، يتم استخدام لغة البرمجة "Python 3". سيتم إرسال الرسائل التي تخبر الروبوت بالتحرك عبر البلوتوث من التطبيق.

أولاً ، تحتاج إلى تثبيت مكتبة Bluetooth. اكتب الأوامر التالية للقيام بذلك.

sudo apt-get update

sudo apt-get install bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

الآن من سطح المكتب ، انقر فوق رمز قائمة ابدأ ، ثم البرمجة ، ثم Python 3. ثم من شريط الأدوات ، انقر فوق ملف ، جديد. يجب أن تظهر نافذة جديدة.

انسخ محتويات المرفق "bluetoothpi.rtf" في النافذة.

في شريط الأدوات ، انقر فوق ملف ، حفظ باسم. احفظه في الدليل / home / pi / Desktop / باسم wars.py.

الآن لاختبار الرمز ، انقر فوق رمز Bluetooth في الزاوية العلوية اليمنى من الشاشة. قم بإقران raspberry pi بجهاز Android الخاص بك. قم بتنزيل تطبيق يسمى BlueTerm على جهاز Android الخاص بك. ثم في سطر الأوامر ، اكتب الكود التالي بالخط العريض. سيؤدي هذا إلى تنفيذ كود بيثون.

sudo python /home/pi/Desktop/movements.py

يجب أن يظهر النص "في انتظار الاتصالات" على pi.

ابدأ BlueTerm وانقر على أيقونة الخيارات ثم زر "البحث عن اتصالات".

يجب أن يظهر اسم raspberry Pi الخاص بك على التطبيق. انقر فوق الزر الذي يحمل اسم باي. يجب أن يظهر النص "اتصال مقبول من" على pi متبوعًا بعنوانه. الآن كل ما تكتبه في الهاتف ، يجب أن يتم عرضه في pi.

لقد نجحت في ترميز مقبس خادم Bluetooth الخاص بك!

الخطوة 4: تطبيق Android (عميل Bluetooth)

تطبيق Android (عميل Bluetooth)
تطبيق Android (عميل Bluetooth)
تطبيق Android (عميل Bluetooth)
تطبيق Android (عميل Bluetooth)
تطبيق Android (عميل Bluetooth)
تطبيق Android (عميل Bluetooth)
تطبيق Android (عميل Bluetooth)
تطبيق Android (عميل Bluetooth)

قم بتنزيل Android Studio هنا. قم بتثبيته واتبع التعليمات الواردة في المثبت.

ابدأ مشروعًا جديدًا. قم بإنشاء نشاط فارغ يسمى MainActivity.

انسخ محتويات المرفق "Logic.txt" في ملف "MainActivity.java" (علامة التبويب). هذا يحتوي على كل المنطق وراء التطبيق. قد تحتاج إلى تغيير اسم جهازك في الجزء السفلي من الملف.

ثم انسخ محتويات الملف "GUI" في ملف "activity_main.xml" (علامة التبويب). يحتوي هذا على واجهة مستخدم رسومية بسيطة للغاية للتطبيق.

الآن سوف تحتاج إلى استيراد أزرار الأسهم (الصور) إلى التطبيق. قم بفك ضغط Arows.zip المرفق. على يسار android studio ، افتح بنية الملف لرؤية التطبيق ، الدقة ، الخريطة المصغرة. انسخ صور الأسهم (ملفات PNG) ، وانقر بزر الماوس الأيمن على الملف المصغر والصق الصور في الملف ، مع الاحتفاظ بأسماء الأسهم كما هي. يجب أن تبدو مثل الصورة عند الانتهاء.

أخيرًا انسخ محتويات ملف "Manifest" إلى ملف "AndroidManifest.xml" (علامة التبويب).

لاختبار التطبيق ، ستحتاج إلى تشغيله على جهازك. للقيام بذلك ، ستحتاج إلى ضبط الجهاز على وضع المطور وتمكين تصحيح أخطاء USB. بالنسبة لمعظم الأجهزة ، ستحتاج إلى الانتقال إلى "الإعدادات" ، و "حول الهاتف" ، والتمرير إلى أسفل والنقر على "رقم الإصدار" سبع مرات حتى ترى الرسالة "أنت الآن مطور!" ارجع وسترى الآن علامة تبويب "خيارات المطور". انقر عليها وقم بتمكين تصحيح أخطاء USB.

قم بتوصيل جهاز Android بجهاز الكمبيوتر الخاص بك عبر USB ، وانقر فوق أيقونة التشغيل في Android Studio ، وحدد جهازك.

في pi ، ابدأ رمز python الذي تم إنشاؤه في الخطوة 3 بكتابة الأمر بالخط العريض:

sudo python /home/pi/Desktop/movements.py

ثم اضغط على زر الاتصال في التطبيق. عند الاتصال ، يجب أن تظهر الآن بعض الأسهم على التطبيق. كلما نقرت على واحدة ، سيتم تحديث حالة "الحركة" لبي.

لا بأس إذا أعطت خلفية التطبيق خطأ. سيتم إصلاح هذا لاحقًا.

لقد قمت للتو بإنشاء التطبيق الخاص بك وعميل Bluetooth.

الخطوة 5: توصيل الجهاز

توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز
توصيل الجهاز

جندى الاتصالات في الرسم البياني أعلاه. قم بتوصيل وحدة الكاميرا بـ pi أيضًا.

قم بتشغيل التطبيق وتنفيذ ملف wars.py. إذا تحركت المحركات بشكل صحيح عند استخدام التطبيق ، فلا تتردد في وضع جميع المكونات في غلاف نهائي للطائرة بدون طيار. قد تحتاج إلى تعديل رموز قيم "HIGH" و "LOW" بحيث تتحرك بشكل صحيح.

في الخطوة التالية ، سنضيف ميزة البث للطائرة بدون طيار.

الخطوة 6: البث

تدفق
تدفق
تدفق
تدفق
تدفق
تدفق

هناك طرق متعددة لدفق الفيديو باستخدام Pi ، ولكن استخدام uv4l هو أسهل طريقة بدون أي تأخير تقريبًا.

مجرد ملاحظة جانبية ، إذا قمت بالفعل بتجميع الطائرة بدون طيار الخاصة بك ولا يمكنك توصيلها بشاشتك ولوحة المفاتيح ، فستحتاج إلى SSH في الطائرة بدون طيار. للقيام بذلك ، قم بتنزيل Putty على جهاز الكمبيوتر الخاص بك. افتحه واكتب عنوان IP الخاص بـ Raspberry (ابحث عن عنوان IP عن طريق كتابة الأمر ifconfig). سيطالبك بإدخال اسم مستخدم وكلمة مرور. اسم المستخدم وكلمة المرور الافتراضيان هما pi و raspberry على التوالي. الآن كل ما تكتبه في مربع الأوامر سيكون مثل إدخال الأوامر مباشرة في الطائرة بدون طيار.

إعداد uv4l

اكتب هذا الأمر:

sudo nano /etc/apt/sources.list

أضف السطر التالي في السطر الأخير من الملف.

deb https://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main

اخرج واحفظ الملف بالضغط على Ctrl-X ثم كتابة نعم.

ثم اكتب السطر التالي واضغط على Enter.

sudo apt-get update

ثم هذا:

sudo apt-get install uv4l uv4l-raspicam

اكتب الأوامر التالية سطراً بسطر. انتظر حتى تنتهي من عملها قبل الكتابة في السطر التالي.

sudo apt-get install uv4l-raspicam-extras

إعادة تشغيل sudo service uv4l_raspicam

sudo rpi-update

sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

sudo apt-get install uv4l-webrtc

sudo apt-get install uv4l-xmpp-bridge

sudo apt-get install uv4l-raspidisp-extras

بعد ذلك ، كل ما عليك فعله هو كتابة الأمر التالي لبدء البث (استبدل "raspberrypi" بعنوان IP الخاص بـ raspberry / اسم المضيف في شبكتك)

cvlc https:// raspberrypi: 8080 / stream / video.mjpeg

سيبدأ هذا دفق الفيديو في الوقت الفعلي على المنفذ 8080. يجب مشاهدة الدفق في خلفية تطبيقك الآن. لعرض البث في أي متصفح ، اكتب عنوان URL هذا (حيث "raspberrypi" هو عنوان IP للطائرات بدون طيار).

https:// raspberrypi: 8080 / stream / video.mjpeg

تهانينا ، لقد أكملت طائرة التجسس بدون طيار.

الخطوة 7: القيادة

اقلب مفتاح الطاقة وابدأ في الاستكشاف.

إذا كنت تريد أن تعرف كيف تصنع شيئًا آخر ، اسألني وسأرى ما يمكنني فعله.

إذا كان لديك أي أسئلة ، يرجى التعليق أدناه وسأبذل قصارى جهدي للإجابة عليها.

شكرا للقراءة!

موصى به: