Mundarija:

Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron: 7 qadam (rasmlar bilan)
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron: 7 qadam (rasmlar bilan)

Video: Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron: 7 qadam (rasmlar bilan)

Video: Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron: 7 qadam (rasmlar bilan)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Iyul
Anonim
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron
Raspberry Pi, Android, IoT va Bluetooth bilan ishlaydigan dron

Bortli mantiq uchun Raspberry Pi-dan foydalanib, bu ixcham, mobil kompyuter mahalliy portni yaratadi, u videoni real vaqtda uzatadi, ayni paytda maxsus Android ilovasi tomonidan yuborilgan qiymatlarni o'qish uchun Bluetooth rozetkalarini yaratadi. Ilova dron bilan sinxronlanadi va dronga ko'rsatmalarni darhol yuborish uchun foydalanuvchi ma'lumotlarini ishlatadi.

Bu loyihani noldan qilish juda qiyin. Umid qilamizki, quyidagi ma'lumotlar bir nechta dron dasturlari uchun tushuncha beradi. Ushbu loyihaga tegishli barcha dasturlar va sxemalar taqdim etilgan. Kodni xohlaganingizcha o'zgartiring va baham ko'ring. Iltimos, berilgan ma'lumotlardan mas'uliyat bilan foydalaning va o'zingizni pastda izoh qoldiring.

1 -qadam: Uskuna

Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna

Quyida men ishlatgan apparat ro'yxati keltirilgan.

  • Raspberry Pi 3 modeli B
  • Raspberry PI kamera moduli
  • L298N dvigatel uchun haydovchi
  • 2, DC motorlari
  • Klaviatura, har qanday monitor, sichqoncha, chekilgan kabel va HDMI kabeli (pi uchun)
  • 8 GB MicroSD karta
  • Vintlar, lenta va boshqalar.
  • 2 g'ildirak
  • Android Bluetooth qurilmasi (mening telefonim)
  • 18650 yil 2 -hujayralar
  • 5 voltli regulyator
  • Ilovani dasturlash uchun kompyuter

A Raspberry Pi: Oqimning yuqori aniqligi uchun (yoki yangi boshlanuvchilar uchun) men B modelining eng yangi versiyasini tavsiya qilaman, ixchamroq versiyalarda esa eng yangi Model A+ yoki Pi Zero (Kamera versiyasi) ishlatilishi mumkin. Esda tutingki, agar siz malina pi nolini ishlatsangiz, buning uchun sizga Bluetooth va/yoki WiFi dongle kerak bo'ladi. Ushbu qo'llanma sizga Raspberry Pi 3 B dan foydalanishni nazarda tutadi.

Dvigatel haydovchisi: Men L298N ishlatardim, lekin har qanday dvigatel ishlashi kerak. Dvigatelning kuchlanish va tokini boshqarishi uchun ishonch hosil qiling.

2 ta shahar dvigatellari: ular sizning droningizning og'irligiga bardosh bera olishiga ishonch hosil qiling.

Korpus: Ishlatilganda ham barcha komponentlar ushlab turiladi. Odatda qattiq plastmassa yoki alyuminiy bardoshli, engil materialdir. Eng yaxshi natijaga erishish uchun hatto 3D printerdan ham foydalanish mumkin.

Quvvat manbai: ehtiyot qismlarni tanlashda deyarli har doim eng qiyin qaror. Batareya quvvati oqim oqimiga bog'liq. Kam quvvatli ilovalar uchun (1 yoki 2 amper kabi) 9V batareya etarli. Yuqori amperlik uchun men 18650 lityum -ionli batareyani yoki lityum -polimer batareyasini tavsiya qilaman, chunki ular engil, kattaligi uchun katta quvvatga ega va qayta zaryadlanuvchi.

2 g'ildirak: g'ildiraklaringiz dvigatel milining diametri bilan bir xil ekanligiga ishonch hosil qiling. Shuningdek, g'ildiraklar diametri sizning droningiz uchun etarlicha katta ekanligiga ishonch hosil qiling. Ushbu loyihaning turli xil variantlari va dizaynlari mavjud bo'lgani uchun, ular g'ildiraklarning har xil turlari va o'lchamlarini ishlatishi mumkin.

Voltaj regulyatorlari: 5 voltli regulyator batareyani quvvatlantirish uchun zarur. Men LM2596 DC-DC buck konvertoridan foydalanardim.

Havolalardagi mahsulotlarning aksariyati ushbu loyihada ishlatilgan va men o'sha paytda topa oladigan eng yaxshi bitimlar bo'lgan.

Endi sizda hamma narsa bor, pi -ni o'rnatishga ruxsat bering.

2 -qadam: Raspberry Pi -ni sozlash

Raspberry Pi -ni sozlash
Raspberry Pi -ni sozlash
Raspberry Pi -ni sozlash
Raspberry Pi -ni sozlash
Raspberry Pi -ni sozlash
Raspberry Pi -ni sozlash

Bu qadam sizga kodlashni boshlashingiz uchun Raspberry Pi -ni qanday o'rnatishni ko'rsatib beradi. Agar sizda Raspbian -da pi sozlamalari bo'lsa, keyingi bosqichga o'tishingiz mumkin.

Birinchidan, malina uchun operatsion tizimni yuklab olishingiz kerak. Agar siz yangi boshlovchi bo'lsangiz, NOOBS -ni oling. Agar siz allaqachon malina pi bilan yaxshi tajribaga ega bo'lsangiz, unda siz Raspbianga qiziqishingiz mumkin. O'ylaymanki, siz ushbu qo'llanma uchun NOOBS dan foydalanmoqdasiz.

Yuklab olish paytida SD -kartani SD Formatter yordamida formatlang.

Endi yuklab olish tarkibini chiqarib oling va SD -kartangizning ildiziga nusxa ko'chiring. Ildiz uning hech qanday papkada emasligini bildiradi. Agar barcha chiqarilgan fayllarni saqlash uchun yangi papka yaratilgan bo'lsa, o'sha fayl bo'ylab nusxa ko'chiring.

Keyin SD -kartani pi -ga ulang. Qo'shish paytida u "bosishi" kerak yoki pi tagida o'tirishi kerak.

Sichqoncha va klaviaturani pi -ga ulang. Keyin HDMI kabelini monitorga ulang. Oxir -oqibat, 3 -amperli USB ulagichini ulang. Devor rozetkasi tavsiya qilingan bo'lsa -da, men noutbukni quvvat manbai sifatida ishlatardim (noutbukdan USB -dagi mikro USB -ga).

Pi o'z ishini qilsin. Agar so'ralsa, Raspbian -ni tanlang va uni o'rnatishga ruxsat bering. O'rnatish dasturidagi ko'rsatmalarga amal qiling. Tugatish uchun biroz vaqt ketishi mumkin. Agar hamma narsa to'g'ri ketayotgan bo'lsa, siz yuqoridagi ekranga o'xshash ish stoli ekranini ko'rishingiz kerak.

Routeringizdan Ethernet kabelini pi -ga ulang. Keyin buyruq satrini oching (ekranning yuqori qismidagi qora "quti" belgisi). Simsiz tarmoqqa ulanish uchun siz pi -ni simli tarmoq orqali yangilashingiz kerak bo'ladi.

Keyin ekranning yuqori qismidagi Kabel belgisini bosing. Agar so'ralsa, tarmoq ma'lumotlarini kiriting.

Keyingi qatorga matnni ko'rsatilgandek kiriting va Enter tugmasini bosing. Bu pi -ni yangilaydi. Biroz vaqt ketishi mumkin. Faqat o'z ishini qilsin.

sudo apt-get yangilanishi

Keyin kodni keyingi qatorga kiriting. Bu ham biroz vaqt talab etadi. U tugaguncha hech narsa qilmang.

sudo apt-get dist-upgrade

Endi siz chekilgan kabelni uzishingiz, ekranning yuqori qismidagi simsiz aloqa belgisini bosishingiz, tarmoq ma'lumotlarini kiritishingiz va nihoyat simsiz tarmoqqa ulanishingiz kerak.

Endi dronning harakatlarni boshqaradigan qismini kodlash imkonini beradi.

3 -qadam: Harakatlarni boshqarish (Bluetooth serveri)

Harakatlarni boshqarish (Bluetooth serveri)
Harakatlarni boshqarish (Bluetooth serveri)

Harakatlarni boshqarish uchun "Python 3" dasturlash tili ishlatiladi. Robotning harakatlanishini bildiruvchi xabarlar Bluetooth orqali ilovadan yuboriladi.

Birinchidan, Bluetooth kutubxonasini o'rnatishingiz kerak. Buning uchun quyidagi buyruqlarni kiriting.

sudo apt-get yangilanishi

sudo apt-get bluetooth-ni o'rnating

sudo apt-get install bluez

sudo apt-get install python-bluez

Endi ish stolidan boshlash menyusining belgisini, keyin Dasturlashni, keyin Python 3 -ni bosing. Keyin asboblar panelidan Fayl -ni, yangi -ni bosing. Yangi oyna paydo bo'lishi kerak.

"Bluetoothpi.rtf" qo'shimchasining tarkibini oynaga nusxalash.

Asboblar panelida Fayl, Saqlash sifatida bosing. Uni/home/pi/Desktop/katalogiga hərəkatlar.py sifatida saqlang.

Endi kodni sinab ko'rish uchun ekranning o'ng yuqori burchagidagi Bluetooth belgisini bosing. Malinali pi ni android qurilmangiz bilan bog'lang. Android qurilmangizga BlueTerm nomli ilovani yuklab oling. Keyin buyruq satriga quyidagi kodni qalin qilib kiriting. Bu python kodini bajaradi.

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

Pi -da "Ulanish kutilmoqda" yozuvi paydo bo'lishi kerak.

BlueTerm -ni ishga tushiring va variantlar belgisini, so'ng "ulanishlarni qidirish" tugmasini bosing.

Ilovada sizning malina pi ismingiz ko'rsatilishi kerak. Pi nomi ko'rsatilgan tugmani bosing. "Qabul qilingan ulanish" yozuvi pi -da paydo bo'lishi kerak, keyin uning manzili. Endi telefonda nima yozsangiz, pi -da ko'rsatilishi kerak.

Siz o'zingizning Bluetooth server rozetkangizni muvaffaqiyatli kodladingiz!

4 -qadam: Android ilovasi (Bluetooth mijozi)

Android ilovasi (Bluetooth mijozi)
Android ilovasi (Bluetooth mijozi)
Android ilovasi (Bluetooth mijozi)
Android ilovasi (Bluetooth mijozi)
Android ilovasi (Bluetooth mijozi)
Android ilovasi (Bluetooth mijozi)
Android ilovasi (Bluetooth mijozi)
Android ilovasi (Bluetooth mijozi)

Android Studio -ni bu erdan yuklab oling. Uni o'rnating va o'rnatuvchida berilgan ko'rsatmalarga amal qiling.

Yangi loyihani boshlang. MainActivity deb nomlangan bo'sh faoliyat yarating.

"MainActivity.java" faylidagi "Logic.txt" qo'shimchasining tarkibini nusxalash (tab). Bu ilovaning barcha mantiqlarini o'z ichiga oladi. Faylning pastki qismidagi qurilmangiz nomini o'zgartirishingiz kerak bo'lishi mumkin.

Keyin "GUI" faylining mazmunini "activity_main.xml" fayliga (tab) nusxa ko'chiring. Bu dastur uchun juda oddiy GUIni o'z ichiga oladi.

Endi siz dastur tugmachalarini (rasmlarni) import qilishingiz kerak bo'ladi. Arrows.zip biriktirmasini oching. Android studiyasining chap tomonida ilova, res, minimapni ko'rish uchun fayllar tuzilishini oching. O'q rasmlarini -p.webp

Nihoyat, "Manifest" faylining tarkibini "AndroidManifest.xml" faylingizga (yorliq) nusxa ko'chiring.

Ilovani sinab ko'rish uchun uni qurilmangizda ishga tushirishingiz kerak bo'ladi. Buning uchun siz qurilmani ishlab chiquvchi rejimiga qo'yishingiz va USB orqali nosozliklarni tuzatishni yoqishingiz kerak bo'ladi. Ko'pgina qurilmalar uchun siz "Sozlamalar", "Telefon haqida" bo'limlariga o'tishingiz kerak, pastga siljiting va "Siz hozir ishlab chiqaruvchisiz!" Xabarini ko'rmaguningizcha "Raqam yaratish" ni etti marta bosing. Orqaga qayting va endi siz "Dasturchi variantlari" yorlig'ini ko'rishingiz kerak. Unga bosing va USB orqali tuzatishni yoqing.

Android qurilmangizni USB orqali kompyuteringizga ulang, Android Studio -dagi ishga tushirish belgisini bosing va qurilmangizni tanlang.

Pi -da 3 -qadamda yaratilgan python kodini buyruqni qalin qilib yozib boshlang:

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

Keyin ilovadagi ulanish tugmachasini bosing. Ulanganda, endi ba'zi o'qlar ilovada paydo bo'lishi kerak. Qachonki siz birini bosganingizda, u pi "harakat" holatini yangilaydi.

Yaxshi, agar ilovaning fonida xato bo'lsa. Bu keyinroq tuzatiladi.

Siz o'zingizning shaxsiy ilovangizni va Bluetooth mijozini yaratdingiz.

5 -qadam: uskunani ulash

Uskunani ulash
Uskunani ulash
Uskunani ulash
Uskunani ulash
Uskunani ulash
Uskunani ulash

Yuqoridagi diagrammada ulanishlarni lehimlang. Kamera modulini pi -ga ham ulang.

Ilovani ishga tushiring va harakatlar.py faylini bajaring. Agar dvigatellar ilovadan foydalanganda to'g'ri harakat qilsa, barcha komponentlarni uchuvchisiz samolyot uchun yakuniy qobiqqa soling. Siz kodlarni "HIGH" va "LOW" qiymatlarini o'zgartirishingiz kerak bo'lishi mumkin, shunda u to'g'ri harakat qiladi.

Keyingi bosqichda biz dronning oqim xususiyatini qo'shamiz.

6 -qadam: Oqim

Oqim
Oqim
Oqim
Oqim
Oqim
Oqim

Pi yordamida videotasvirni o'tkazishning ko'p usullari bor, lekin uv4l -dan foydalanish deyarli hech qanday kechikishsiz eng oson yo'li.

Agar siz dronni bir joyga qo'ygan bo'lsangiz va uni monitor va klaviaturaga ulay olmasangiz, sizga dronga SSH kerak bo'ladi. Buning uchun Putty -ni kompyuteringizga yuklab oling. Uni oching va malinaning IP manzilini kiriting (ifconfig buyrug'ini yozib IP manzilini toping). Bu sizga foydalanuvchi nomi va parolni so'raydi. Odatiy foydalanuvchi nomi va parol mos ravishda pi va malina. Endi buyruqlar satriga nima yozsangiz, dronga to'g'ridan -to'g'ri buyruqlar kiritishga o'xshaydi.

uv4l ni sozlash

Ushbu buyruqni kiriting:

sudo nano /etc/apt/sources.list

Faylning oxirgi qatoriga quyidagi qatorni qo'shing.

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

Chiqing va Ctrl-X tugmachalarini bosib, Ha ni yozib faylni saqlang.

Keyin quyidagi qatorni kiriting va Enter ni bosing.

sudo apt-get yangilanishi

keyin bu:

sudo apt-get uv4l uv4l-raspicam-ni o'rnating

Quyidagi buyruqlarni qatorlar qatoriga kiriting. Keyingi qatorga yozishdan oldin nima qilayotganini kuting.

sudo apt-get uv4l-raspicam-extras-ni o'rnating

sudo xizmati uv4l_raspicam qayta ishga tushadi

sudo rpi-update

sudo apt-get uv4l-serverni o'rnatish uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-qo'g'irchoqli uv4l-raspidisp

sudo apt-get uv4l-webrtc ni o'rnating

sudo apt-get uv4l-xmpp-ko'prigini o'rnating

sudo apt-get uv4l-raspidisp-extras-ni o'rnating

Shundan so'ng, oqimni boshlash uchun quyidagi buyruqni kiritish kifoya ("malina" ni malinaning IP -manzili/ tarmog'ingizdagi host nomi bilan almashtiring).

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

Bu video 8080 portida real vaqtda uzatila boshlaydi. Oqim endi sizning ilovangiz fonida ko'rinishi kerak. Har qanday brauzerda oqimni ko'rish uchun ushbu URL manzilini kiriting (bu erda "raspberrypi" sizning dronlarning IP -manzili).

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

Tabriklaymiz, siz josuslik droningizni tugatdingiz.

7 -qadam: haydang

Quvvat tugmachasini aylantiring va o'rganishni boshlang.

Agar siz boshqa narsalarni yasashni bilmoqchi bo'lsangiz, mendan so'rang, men nima qila olishimni ko'raman.

Agar sizda biron bir savol bo'lsa, iltimos, quyida izoh qoldiring va men ularga javob berish uchun qo'limdan kelganicha harakat qilaman.

O'qiganingiz uchun tashakkur!

Tavsiya: