Სარჩევი:

Raspberry Pi, Android, IoT და Bluetooth აღჭურვილი უპილოტო საფრენი აპარატი: 7 ნაბიჯი (სურათებით)
Raspberry Pi, Android, IoT და Bluetooth აღჭურვილი უპილოტო საფრენი აპარატი: 7 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi, Android, IoT და Bluetooth აღჭურვილი უპილოტო საფრენი აპარატი: 7 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi, Android, IoT და Bluetooth აღჭურვილი უპილოტო საფრენი აპარატი: 7 ნაბიჯი (სურათებით)
ვიდეო: Nastya and Watermelon with a fictional story for kids 2024, ივლისი
Anonim
Raspberry Pi, Android, IoT და Bluetooth Powered Drone
Raspberry Pi, Android, IoT და Bluetooth Powered Drone
Raspberry Pi, Android, IoT და Bluetooth Powered Drone
Raspberry Pi, Android, IoT და Bluetooth Powered Drone
Raspberry Pi, Android, IoT და Bluetooth Powered Drone
Raspberry Pi, Android, IoT და Bluetooth Powered Drone
Raspberry Pi, Android, IoT და Bluetooth Powered Drone
Raspberry Pi, Android, IoT და Bluetooth Powered Drone

Raspberry Pi- ის გამოყენებით ბორტ ლოგიკაში, ეს კომპაქტური, მობილური კომპიუტერი შექმნის ადგილობრივ პორტს, რომელიც გადაუშვებს ვიდეოს რეალურ დროში, ხოლო ერთდროულად შექმნის Bluetooth სოკეტებს, რომ წაიკითხოს android აპლიკაციის მიერ გაგზავნილი ღირებულებები. აპლიკაცია სინქრონიზდება თვითმფრინავთან და იყენებს მომხმარებლის შეყვანას, რათა დროულად გაუგზავნოს ინსტრუქცია დრონს.

ეს პროექტი საკმაოდ რთულია ნულიდან. ვიმედოვნებთ, რომ ქვემოთ მოყვანილი ინფორმაცია საშუალებას მოგცემთ გაეცნოთ მრავალრიცხოვან თვითმფრინავებს. უზრუნველყოფილია ამ პროგრამის ყველა პროგრამული უზრუნველყოფა და სქემის დიზაინი. მოგერიდებათ შეცვალოთ და გაუზიაროთ კოდი თქვენი სურვილისამებრ. გთხოვთ გამოიყენოთ პასუხისმგებლობით მოწოდებული ინფორმაცია და მოგერიდებათ დატოვეთ კომენტარი ქვემოთ.

ნაბიჯი 1: აპარატურა

აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა
აპარატურა

ქვემოთ მოცემულია იმ აპარატურის სია, რომელიც მე გამოვიყენე.

  • ჟოლო Pi 3 მოდელი B
  • ჟოლოს PI კამერის მოდული
  • L298N ძრავის მძღოლი
  • 2, DC მოტორსი
  • კლავიატურა, ნებისმიერი მონიტორი, მაუსი, Ethernet კაბელი და HDMI კაბელი (pi- სთვის)
  • 8 GB MicroSD ბარათი
  • ხრახნები, ფირზე და ა.
  • 2 ბორბალი
  • Android Bluetooth მოწყობილობა (ჩემი ტელეფონი)
  • 2, 18650 უჯრედი
  • 5 ვოლტიანი რეგულატორი
  • კომპიუტერი პროგრამის დასაპროგრამებლად

ჟოლო Pi: ნაკადის უფრო მაღალი გარჩევადობისთვის (ან დამწყებთათვის), მე გირჩევთ B მოდელის უახლეს ვერსიას, ხოლო უფრო კომპაქტურ ვერსიებს შეუძლიათ გამოიყენონ უახლესი მოდელი A+ ან Pi Zero (კამერის ვერსია). გახსოვდეთ, რომ თუ იყენებთ ჟოლოს პი ნულს, ამისათვის დაგჭირდებათ Bluetooth და/ან WiFi დონლე. ეს გაკვეთილი გულისხმობს თქვენს გამოყენებას Raspberry Pi 3 B.

საავტომობილო მძღოლი: მე გამოვიყენე L298N, თუმცა ნებისმიერმა მძღოლმა უნდა იმუშაოს. უბრალოდ დარწმუნდით, რომ მას შეუძლია გაუმკლავდეს თქვენი ძრავების ძაბვას და დენს.

2 DC მოტორსი: დარწმუნდით, რომ მათ შეუძლიათ გაატარონ თქვენი დრონის წონა.

კორპუსი: გამოიყენება ყველა კომპონენტის შესანახად. ჩვეულებრივ მყარი პლასტმასი ან ალუმინი არის გამძლე, მსუბუქი მასალა გამოსაყენებლად. ოპტიმალური შედეგის მისაღწევად, შეგიძლიათ გამოიყენოთ 3D პრინტერიც კი.

ენერგიის წყარო: ეს თითქმის ყოველთვის უმძიმესი გადაწყვეტილებაა ნაწილების არჩევისას. საჭირო ბატარეა დამოკიდებულია მიმდინარე გათამაშებაზე. დაბალი სიმძლავრის პროგრამებისთვის (მაგალითად, 1 ან 2 ამპერი), საკმარისია 9 ვ ბატარეა. უფრო მაღალი ამპერატივისთვის, მე გირჩევთ 18650 ლითიუმის იონური უჯრედის ან ლითიუმის პოლიმერული ბატარეის ვინაიდან ისინი მსუბუქი წონაა, მათ შეუძლიათ შეინარჩუნონ ბევრი ენერგია მათი ზომისთვის და იტენება.

2 ბორბალი: უბრალოდ დარწმუნდით, რომ თქვენს ბორბლებს აქვთ იგივე ხვრელის ზომა, როგორც თქვენი ძრავის ლილვი. ასევე დარწმუნდით, რომ ბორბლების დიამეტრი საკმარისად დიდია თქვენი თვითმფრინავისთვის. ვინაიდან მათი მრავალი შესაძლო ვარიაცია და დიზაინია ამ პროექტისათვის, მათი მრავალჯერადი განსხვავებული ბორბლის ტიპი და ზომაა გამოსაყენებელი.

ძაბვის რეგულატორები: 5 ვოლტიანი რეგულატორი საჭიროა pi ბატარეის საშუალებით. მე გამოვიყენე LM2596 DC-DC მამლის გადამყვანი.

ბმულების პროდუქტების უმეტესობა გამოყენებული იყო ამ პროექტში და იყო საუკეთესო გარიგებები, რაც მე შემეძლო ამ დროს მეპოვა.

ახლა, როდესაც თქვენ გაქვთ ყველაფერი რაც გჭირდებათ, მოდით დააყენოთ pi.

ნაბიჯი 2: ჟოლოს პიის დაყენება

ჟოლოს პიის დაყენება
ჟოლოს პიის დაყენება
ჟოლოს პიის დაყენება
ჟოლოს პიის დაყენება
ჟოლოს პიის დაყენება
ჟოლოს პიის დაყენება

ეს ნაბიჯი გაჩვენებთ როგორ დააინსტალიროთ Raspberry Pi, ასე რომ თქვენ შეგიძლიათ დაიწყოთ კოდირება. თუ თქვენ უკვე გაქვთ Pi დაყენება Raspbian– ით, მაშინ მოგერიდებათ გადადით შემდეგ საფეხურზე.

პირველ რიგში, თქვენ უნდა გადმოწეროთ ჟოლოს ოპერაციული სისტემა. მიიღეთ NOOBS თუ დამწყები ხართ. თუ თქვენ უკვე გაქვთ ჟოლოს პიზე მნიშვნელოვანი გამოცდილება, მაშინ შეიძლება დაგაინტერესოთ რასბბიანმა. ვივარაუდებ, რომ თქვენ იყენებთ NOOBS– ს ამ გაკვეთილისთვის.

გადმოტვირთვისას დააფორმატეთ თქვენი SD ბარათი SD ფორმატით.

ახლა ამოიღეთ და დააკოპირეთ გადმოწერილი შინაარსი თქვენი SD ბარათის ძირში. Root უბრალოდ ნიშნავს, რომ ის არ არის საქაღალდეში. თუ შეიქმნა ახალი საქაღალდე ყველა მოპოვებული ფაილის შესანახად, დააკოპირეთ ამ ფაილში.

შემდეგ მიამაგრეთ SD ბარათი pi- ს. ჩასმისას ის ან უნდა "დააწკაპუნოს" ან უბრალოდ იჯდეს pi ბოლოში.

შეაერთეთ თქვენი მაუსი და კლავიატურა pi- ში. შემდეგ შეაერთეთ HDMI კაბელი pi- ს მონიტორიდან. საბოლოოდ შეაერთეთ 3 am მიკრო USB კედლის სოკეტის ადაპტერი pi- ში. მიუხედავად იმისა, რომ რეკომენდირებულია კედლის ბუდე, მე გამოვიყენე ჩემი ლეპტოპი, როგორც კვების წყარო (USB ჩემი ლეპტოპიდან Micro USB– მდე pi).

დაე პიამ თავისი საქმე გააკეთოს. მოთხოვნის შემთხვევაში შეარჩიეთ Raspbian და დაუშვით ინსტალაცია. მიჰყევით ინსტალატორის მითითებებს. შეიძლება ცოტა დრო დასჭირდეს მის დასრულებას. თუ ყველაფერი სწორად მიდის, თქვენ უნდა ნახოთ დესკტოპის ეკრანი, როგორც ზემოთ.

შეაერთეთ Ethernet კაბელი თქვენი როუტერიდან pi- ში. შემდეგ გახსენით ბრძანების სტრიქონი (შავი "ყუთის" ხატი ეკრანის ზედა ნაწილში). თქვენ დაგჭირდებათ პი -ს განახლება სადენიანი ქსელის საშუალებით, რათა ის უკაბელო ქსელთან დააკავშიროთ.

შემდეგ დააწკაპუნეთ კაბელის ხატულაზე ეკრანის ზედა ნაწილში. ჩაწერეთ თქვენი ქსელის დეტალები საჭიროების შემთხვევაში.

ჩაწერეთ ტექსტი შემდეგ სტრიქონში ზუსტად ისე, როგორც ნაჩვენებია და დააჭირეთ Enter. ეს განაახლებს პი. შეიძლება ცოტა დრო დასჭირდეს. ნება მიეცით გააკეთოს თავისი საქმე.

sudo apt-get განახლება

შემდეგ ჩაწერეთ კოდი მომდევნო სტრიქონში. ამასაც გარკვეული დრო დასჭირდება. არაფერი გააკეთო სანამ არ დასრულდება.

sudo apt-get dist-upgrade

ახლა თქვენ უნდა შეგეძლოთ გათიშეთ Ethernet კაბელი, დააწკაპუნეთ უკაბელო ხატულაზე ეკრანის ზედა ნაწილში, შეიყვანეთ თქვენი ქსელის ინფორმაცია და ბოლოს დაუკავშირდით თქვენს ქსელს უკაბელო საშუალებით.

ახლა მოდით დავამოწმოთ თვითმფრინავის ის ნაწილი, რომელიც მართავს მოძრაობებს.

ნაბიჯი 3: მოძრაობების დამუშავება (Bluetooth სერვერი)

მოძრაობების მართვა (Bluetooth სერვერი)
მოძრაობების მართვა (Bluetooth სერვერი)

მოძრაობების მართვისთვის გამოიყენება პროგრამირების ენა "პითონი 3". შეტყობინებები, რომლებიც ეუბნება რობოტს გადაადგილება, გაიგზავნება Bluetooth– დან აპლიკაციიდან.

პირველ რიგში, თქვენ უნდა დააინსტალიროთ Bluetooth ბიბლიოთეკა. ამისათვის ჩაწერეთ შემდეგი ბრძანებები.

sudo apt-get განახლება

sudo apt-get დააინსტალირეთ bluetooth

sudo apt-get დააინსტალირეთ bluez

sudo apt-get დააინსტალირეთ python-bluez

ახლა დესკტოპიდან დააწკაპუნეთ დაწყების მენიუს ხატულაზე, შემდეგ პროგრამირებაზე, შემდეგ პითონზე 3. შემდეგ ინსტრუმენტთა პანელიდან დააწკაპუნეთ ფაილზე, ახალზე. ახალი ფანჯარა უნდა გამოჩნდეს.

დააკოპირეთ დანართის შინაარსი "bluetoothpi.rtf" ფანჯარაში.

ინსტრუმენტთა პანელზე დააწკაპუნეთ ფაილზე, შეინახეთ როგორც. შეინახეთ იგი/home/pi/Desktop/დირექტორიაში, როგორც moves.py.

ახლა კოდის შესამოწმებლად დააწკაპუნეთ Bluetooth ხატულაზე ეკრანის ზედა მარჯვენა კუთხეში. დააწყვილეთ ჟოლოს პი თქვენი Android მოწყობილობით. ჩამოტვირთეთ აპლიკაცია სახელწოდებით BlueTerm თქვენს Android მოწყობილობაზე. შემდეგ ბრძანების სტრიქონში ჩაწერეთ შემდეგი კოდი თამამად. ეს შეასრულებს პითონის კოდს.

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

Pi- ზე უნდა გამოჩნდეს ტექსტი "ელოდება კავშირებს".

დაიწყეთ BlueTerm და დააწკაპუნეთ პარამეტრების ხატულაზე და შემდეგ ღილაკზე "მოძებნეთ კავშირები".

აპლიკაციაში უნდა გამოჩნდეს თქვენი ჟოლოს პი სახელი. დააწკაპუნეთ პი სახელის ღილაკზე. ტექსტი "მიღებული კავშირი" უნდა გამოჩნდეს პიზე, რასაც მოჰყვება მისი მისამართი. ახლა რასაც ტელეფონში ჩაწერთ, უნდა იყოს ნაჩვენები პიში.

თქვენ წარმატებით დაშიფრეთ თქვენი საკუთარი 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" ფაილში (ჩანართი). ეს შეიცავს ძალიან მარტივ GUI პროგრამას.

ახლა თქვენ დაგჭირდებათ ისრის ღილაკების (სურათების) იმპორტი პროგრამაში. გახსენით ატაშე Arrows.zip. Android studio– ს მარცხნივ, გახსენით ფაილის სტრუქტურა, რომ ნახოთ აპლიკაცია, res, minimap. დააკოპირეთ ისრის სურათები-p.webp

საბოლოოდ დააკოპირეთ ფაილის შინაარსი "მანიფესტი" თქვენს "AndroidManifest.xml" ფაილში (ჩანართი).

აპლიკაციის შესამოწმებლად, თქვენ უნდა გაუშვათ იგი თქვენს მოწყობილობაზე. ამისათვის თქვენ უნდა დააყენოთ მოწყობილობა დეველოპერის რეჟიმში და ჩართოთ USB გამართვა. უმეტეს მოწყობილობებზე, თქვენ უნდა გადახვიდეთ "პარამეტრები", "ტელეფონის შესახებ", გადაახვიეთ ბოლოში და დააწკაპუნეთ "აშენების ნომერზე" შვიდჯერ, სანამ არ დაინახავთ შეტყობინებას "შენ ხარ დეველოპერი!" დაბრუნდით და ახლა თქვენ უნდა ნახოთ ჩანართი "დეველოპერის პარამეტრები". დააწკაპუნეთ მასზე და ჩართეთ USB გამართვა.

შეაერთეთ თქვენი Android მოწყობილობა თქვენს კომპიუტერს USB– ის საშუალებით, დააწკაპუნეთ Android Studio– ს გაშვების ხატულაზე და შეარჩიეთ თქვენი მოწყობილობა.

პიზე, დაიწყეთ პითონის კოდი, რომელიც შეიქმნა მე –3 საფეხურში, თამამი ბრძანების აკრეფით:

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

შემდეგ დააჭირეთ აპლიკაციაში დაკავშირების ღილაკს. როდესაც დაკავშირებულია, ზოგიერთი ისარი ახლა უნდა გამოჩნდეს აპლიკაციაში. როდესაც თქვენ დააწკაპუნებთ ერთზე, ის განაახლებს pi- ს "გადაადგილების" მდგომარეობას.

კარგია, თუ პროგრამის ფონი იძლევა შეცდომას. ეს მოგვიანებით გამოსწორდება.

თქვენ შექმენით თქვენი საკუთარი აპლიკაცია და Bluetooth კლიენტი.

ნაბიჯი 5: აპარატურის დაკავშირება

აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება

შეაერთეთ კავშირები ზემოთ დიაგრამაში. მიამაგრეთ კამერის მოდული პიზეც.

გაუშვით აპლიკაცია და შეასრულეთ moves.py ფაილი. თუ პროგრამის გამოყენებისას ძრავები სწორად მოძრაობს, მოგერიდებათ ყველა კომპონენტი ჩავდოთ თვითმფრინავის საბოლოო ნაწილში. შეიძლება დაგჭირდეთ კოდების "HIGH" და "LOW" მნიშვნელობების შეცვლა, რათა ის სწორად მოძრაობდეს.

მომდევნო ეტაპზე, ჩვენ დავამატებთ დრონის ნაკადის მახასიათებელს.

ნაბიჯი 6: ნაკადი

ნაკადი
ნაკადი
ნაკადი
ნაკადი
ნაკადი
ნაკადი

ეს არის Pi– ს გამოყენებით ვიდეოს გადაცემის მრავალი გზა, მაგრამ uv4l– ის გამოყენება უადვილესი გზაა პრაქტიკულად ჩამორჩენის გარეშე.

მხოლოდ მეორეხარისხოვანი შენიშვნაა, თუ თქვენ უკვე მოათავსეთ თქვენი თვითმფრინავი და ვერ აკავშირებთ მას თქვენს მონიტორთან და კლავიატურაზე, თქვენ დაგჭირდებათ SSH შეყვანა თქვენს თვითმფრინავში. ამისათვის ჩამოტვირთეთ Putty თქვენს კომპიუტერში. გახსენით იგი და ჩაწერეთ თქვენი ჟოლოს IP მისამართი (იპოვეთ IP მისამართი ბრძანების ifconfig აკრეფით). ის მოგთხოვთ მომხმარებლის სახელი და პაროლი. ნაგულისხმევი მომხმარებლის სახელი და პაროლი არის პი და ჟოლო შესაბამისად. ახლა რასაც უნდა ჩაწეროთ ბრძანების ყუთში იქნება იგივე როგორც ბრძანებების შეყვანა უპილოტო თვითმფრინავში.

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 განახლება

შემდეგ ეს:

sudo apt-get დააინსტალირეთ uv4l uv4l-raspicam

ჩაწერეთ შემდეგი ბრძანებები სტრიქონით. დაელოდეთ სანამ ის დასრულდება, რასაც აკეთებს, სანამ შემდეგ სტრიქონში აკრიფებთ.

sudo apt-get დააინსტალირეთ uv4l-raspicam-extras

sudo სერვისი uv4l_raspicam გადატვირთეთ

sudo rpi- განახლება

sudo apt-get დააინსტალირეთ uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

sudo apt-get დააინსტალირეთ uv4l-webrtc

sudo apt-get დააინსტალირეთ uv4l-xmpp-bridge

sudo apt-get დააინსტალირეთ uv4l-raspidisp-extras

ამის შემდეგ, ყველაფერი რაც თქვენ უნდა გააკეთოთ არის ჩაწეროთ შემდეგი ბრძანება ნაკადის დასაწყებად (შეცვალეთ "raspberrypi" ჟოლოს IP მისამართით/ მასპინძლის სახელი თქვენს ქსელში)

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

ეს დაიწყებს ვიდეოს სტრიმინგს რეალურ დროში 8080 პორტზე. ნაკადი ახლა უნდა ნახოთ თქვენი აპლიკაციის ფონზე. ნაკადი რომ ნახოთ ნებისმიერ ბრაუზერში, ჩაწერეთ ეს URL (სადაც "raspberrypi" არის თქვენი თვითმფრინავების IP მისამართი).

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

გილოცავთ, თქვენ დაასრულეთ თქვენი მზვერავი თვითმფრინავი.

ნაბიჯი 7: იმოძრავეთ

გადაატრიალეთ კვების ბლოკი და დაიწყეთ გამოკვლევა.

თუ გინდა იცოდე როგორ გააკეთო სხვა რამ, მკითხე და ვნახავ რისი გაკეთება შემიძლია.

თუ თქვენ გაქვთ რაიმე შეკითხვები, გთხოვთ დაწეროთ ქვემოთ და მე ყველაფერს გავაკეთებ მათზე პასუხის გასაცემად.

Მადლობა წაკითხვისთვის!

გირჩევთ: