Sadržaj:

Raspberry Pi, Android, IoT i Bluetooth bespilotna letelica: 7 koraka (sa slikama)
Raspberry Pi, Android, IoT i Bluetooth bespilotna letelica: 7 koraka (sa slikama)

Video: Raspberry Pi, Android, IoT i Bluetooth bespilotna letelica: 7 koraka (sa slikama)

Video: Raspberry Pi, Android, IoT i Bluetooth bespilotna letelica: 7 koraka (sa slikama)
Video: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, Juli
Anonim
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica
Raspberry Pi, Android, IoT i Bluetooth bespilotna letjelica

Koristeći Raspberry Pi za ugrađenu logiku, ovaj kompaktni, mobilni računar, stvorit će lokalni port koji struji video u stvarnom vremenu, a istovremeno stvara Bluetooth utičnice za čitanje vrijednosti koje šalje prilagođena android aplikacija. Aplikacija se sinkronizira s dronom i koristi korisnički unos za trenutno slanje uputa dronu.

Ovaj projekat je prilično teško napraviti od nule. Nadajmo se da će sljedeće informacije pružiti uvid u više aplikacija za dronove. Dostupan je sav softver i dizajn kola koji se odnose na ovaj projekat. Slobodno izmijenite i podijelite kôd po svom ukusu. Molimo vas da odgovorno koristite navedene podatke i slobodno ostavite komentar ispod.

Korak 1: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Ispod je lista hardvera koji sam koristio.

  • Raspberry Pi 3 Model B
  • Modul PI kamere za maline
  • L298N Vozač motora
  • 2, DC motori
  • Tastatura, bilo koji monitor, miš, Ethernet kabl i HDMI kabl (za pi)
  • 8 GB MicroSD kartica
  • Vijci, traka itd.
  • 2 točka
  • Android Bluetooth uređaj (moj telefon)
  • 2, 18650 Ćelije
  • Regulator od 5 volti
  • Računalo na kojem se programira aplikacija

A Raspberry Pi: Za veće rezolucije prijenosa (ili za početnike), preporučio bih najnoviju verziju B modela, dok kompaktnije verzije mogu koristiti ili najnoviji model A+ ili Pi Zero (verzija kamere). Zapamtite da će vam, ako koristite malinu pi zero, biti potreban Bluetooth i/ili WiFi dongle. Ovaj vodič će pretpostaviti da koristite Raspberry Pi 3 B.

Vozač motora: Koristio sam L298N, iako bi svaki vozač motora trebao raditi. Samo pazite da može podnijeti napon i struju vaših motora.

2 DC motora: Pobrinite se da izdrže težinu vašeg drona.

Tijelo: Koristi se previše. U njega se drže sve komponente. Obično je čvrsta plastika ili aluminij izdržljiv i lagan materijal za upotrebu. Za optimalne rezultate može se koristiti čak i 3D pisač.

Izvor napajanja: gotovo uvijek je najteža odluka pri odabiru dijelova. Potrebna baterija ovisi o trenutnom napajanju. Za aplikacije male snage (poput 1 ili 2 ampera), baterija od 9V trebala bi biti dovoljna. Za veću amperažu preporučujem litij -ionsku ćeliju 18650 ili litij -polimernu bateriju jer su lagane, mogu držati puno energije za svoju veličinu i mogu se puniti.

2 Točka: Samo provjerite da li vaši točkovi imaju istu veličinu rupa kao i vratilo vašeg motora. Takođe osigurajte da su prečnici točkova dovoljno veliki za vaš dron. Budući da postoji više mogućih varijacija i dizajna za ovaj projekt, različite su vrste i veličine kotača za korištenje.

Regulatori napona: Za napajanje pi preko baterije potreban je regulator od 5 volti. Koristio sam LM2596 DC-DC konverter.

Većina proizvoda na linkovima korištena je u ovom projektu i bila je to najbolja ponuda koju sam tada mogao pronaći.

Sada kada imate sve što vam je potrebno, dozvolite da postavite pi.

Korak 2: Postavljanje Raspberry Pi

Postavljanje Raspberry Pi
Postavljanje Raspberry Pi
Postavljanje Raspberry Pi
Postavljanje Raspberry Pi
Postavljanje Raspberry Pi
Postavljanje Raspberry Pi

Ovaj korak će vam pokazati kako postaviti Raspberry Pi tako da možete započeti kodiranje. Ako već imate postavku pi sa Raspbian -om, slobodno pređite na sljedeći korak.

Prvo morate preuzeti operativni sistem za malinu. Nabavite NOOBS ako ste početnik. Ako već imate značajno iskustvo s pirom od maline, možda će vas zanimati Raspbian. Pretpostavit ću da za ovaj vodič koristite NOOBS.

Dok se to preuzima, formatirajte SD karticu pomoću SD Formattera.

Sada izdvojite i kopirajte sadržaj preuzimanja u korijen SD kartice. Root jednostavno znači da nije unutar mapa. Ako je stvorena nova mapa u koju će se smjestiti sve izdvojene datoteke, kopirajte je preko te datoteke.

Zatim pričvrstite SD karticu na pi. Prilikom umetanja, trebao bi ili "kliknuti" ili samo sjediti unutar dna pi.

Uključite miš i tastaturu u pi. Zatim priključite HDMI kabl u pi sa monitora. Konačno priključite adapter za mikro USB zidnu utičnicu od 3 ampera u pi. Iako se preporučuje zidna utičnica, laptop sam koristio kao izvor napajanja (USB od laptopa do Micro USB -a u pi).

Neka pi uradi svoje. Ako se to od vas zatraži, odaberite Raspbian i pustite ga da se instalira. Slijedite upute u instalacijskom programu. Može potrajati neko vrijeme da se dovrši. Ako sve prođe kako treba, trebali biste vidjeti ekran radne površine sličan onom gore.

Priključite Ethernet kabel sa usmjerivača u pi. Zatim otvorite komandnu liniju (crna ikona "okvir" na vrhu ekrana). Morat ćete ažurirati pi putem žičane mreže da biste ga povezali s bežičnom mrežom.

Zatim kliknite na ikonu Kabel na vrhu ekrana. Unesite podatke o mreži gdje se to od vas zatraži.

Upišite tekst u sljedeći red točno onako kako je prikazano i pritisnite enter. Ovo će ažurirati pi. Može potrajati. Samo neka uradi svoje.

sudo apt-get update

Zatim upišite kôd u sljedeći red. Ovo će takođe potrajati neko vreme. Ne radite ništa dok se ne završi.

sudo apt-get dist-upgrade

Sada biste trebali moći odspojiti Ethernet kabel, kliknuti na ikonu bežične veze pri vrhu ekrana, unijeti podatke o mreži i konačno se povezati s mrežom putem bežične veze.

Sada kodirajmo dio drona koji upravlja pokretima.

Korak 3: Rukovanje pokretima (Bluetooth server)

Rukovanje pokretima (Bluetooth server)
Rukovanje pokretima (Bluetooth server)

Za rukovanje pokretima koristi se programski jezik "Python 3". Poruke koje govore robotu da se kreće bit će poslane putem Bluetootha iz aplikacije.

Prvo morate instalirati Bluetooth biblioteku. Upišite sljedeće naredbe da biste to učinili.

sudo apt-get update

sudo apt-get install bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Sada na radnoj površini kliknite ikonu izbornika Start, zatim Programiranje, pa Python 3. Zatim na alatnoj traci kliknite Datoteka, novo. Trebalo bi se pojaviti novi prozor.

Kopirajte sadržaj priloga "bluetoothpi.rtf" u prozor.

Na alatnoj traci kliknite Datoteka, Spremi kao. Sačuvajte ga u/home/pi/Desktop/direktorijumu pod imenom pokreta.py.

Sada za testiranje koda kliknite ikonu Bluetooth u gornjem desnom kutu ekrana. Uparite malinu pi sa svojim Android uređajem. Preuzmite aplikaciju pod nazivom BlueTerm na svoj Android uređaj. Zatim u komandnu liniju unesite sljedeći kod podebljanim slovima. Ovo će izvršiti python kod.

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

Na pi -u bi se trebao pojaviti tekst "Čekajući veze".

Pokrenite BlueTerm i kliknite ikonu opcija, a zatim gumb "traži veze".

U aplikaciji bi se trebalo pojaviti ime vašeg malina pi. Kliknite na dugme sa imenom pi. Tekst "Prihvaćena veza od" trebao bi se pojaviti na pi iza koje slijedi njegova adresa. Sada sve što unesete u telefon, trebalo bi biti prikazano u pi.

Uspješno ste kodirali vlastitu utičnicu za Bluetooth poslužitelj!

Korak 4: Android aplikacija (Bluetooth klijent)

Android aplikacija (Bluetooth klijent)
Android aplikacija (Bluetooth klijent)
Android aplikacija (Bluetooth klijent)
Android aplikacija (Bluetooth klijent)
Android aplikacija (Bluetooth klijent)
Android aplikacija (Bluetooth klijent)
Android aplikacija (Bluetooth klijent)
Android aplikacija (Bluetooth klijent)

Preuzmite Android Studio ovdje. Instalirajte ga i slijedite upute date u instalacijskom programu.

Pokrenite novi projekat. Kreirajte praznu aktivnost pod nazivom MainActivity.

Kopirajte sadržaj priloga "Logic.txt" u datoteku (kartica) "MainActivity.java". Ovo sadrži svu logiku koja stoji iza aplikacije. Možda ćete morati promijeniti naziv svog uređaja na dnu datoteke.

Zatim kopirajte sadržaj datoteke "GUI" u datoteku "activity_main.xml" (kartica). Ovo sadrži vrlo jednostavan GUI za aplikaciju.

Sada ćete morati uvesti dugmad sa strelicama (slike) u aplikaciju. Raspakirajte privitak Arrows.zip. S lijeve strane android studija otvorite strukturu datoteke da vidite aplikaciju, res, minimap. Kopirajte slike sa strelicama-p.webp

Na kraju kopirajte sadržaj datoteke "Manifest" u svoju datoteku (karticu) "AndroidManifest.xml".

Da biste testirali aplikaciju, morat ćete je pokrenuti na svom uređaju. Da biste to učinili, morate postaviti uređaj u način za programere i omogućiti USB otklanjanje grešaka. Za većinu uređaja morat ćete otići u "Postavke", "O telefonu", pomaknite se do dna i sedam puta kliknite na "Broj izrade" dok ne vidite poruku "Sada ste programer!" Vratite se nazad i sada biste trebali vidjeti karticu "Opcije za programere". Kliknite na nju i omogućite USB ispravljanje pogrešaka.

Povežite svoj Android uređaj s računarom putem USB -a, kliknite na ikonu za pokretanje u Android Studiju i odaberite svoj uređaj.

Na pi -ju pokrenite python kôd kreiran u koraku 3 upisivanjem naredbe podebljanim slovima:

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

Zatim kliknite na dugme za povezivanje u aplikaciji. Kad se povežete, neke bi se strelice sada trebale pojaviti u aplikaciji. Kad god kliknete na jedan, on će ažurirati stanje pi "premještanja".

U redu je ako pozadina aplikacije daje grešku. Ovo će biti kasnije ispravljeno.

Upravo ste stvorili vlastitu aplikaciju i Bluetooth klijenta.

Korak 5: Povezivanje hardvera

Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera
Povezivanje hardvera

Lemiti veze na gornjem dijagramu. Priključite i modul kamere na pi.

Pokrenite aplikaciju i pokrenite datoteku pokreta.py. Ako se motori ispravno kreću tijekom korištenja aplikacije, slobodno stavite sve komponente u finaliziranu ljusku za bespilotnu letjelicu. Možda ćete morati izmijeniti kodove "VISOKA" i "NISKA" kako bi se pravilno kretale.

U sljedećem koraku ćemo dodati značajku streaminga drona.

Korak 6: Streaming

Streaming
Streaming
Streaming
Streaming
Streaming
Streaming

Postoji više načina za prijenos videozapisa pomoću Pi -a, ali upotreba uv4l je daleko najjednostavniji način s praktički bez kašnjenja.

Samo napomena: ako ste već sastavili svoj dron i ne možete ga povezati s monitorom i tastaturom, morat ćete SSH ubaciti u svoj dron. Da biste to učinili, preuzmite Putty na svoj računar. Otvorite ga i upišite IP adresu svoje maline (pronađite IP adresu upisivanjem naredbe ifconfig). Od vas će se zatražiti korisničko ime i lozinka. Zadano korisničko ime i lozinka su pi i malina respektivno. Sada će sve što ukucate u komandno polje biti kao da unosite komande direktno u dron.

postavljanje uv4l

Upišite ovu naredbu:

sudo nano /etc/apt/sources.list

Dodajte sljedeći red u zadnji red datoteke.

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

Izađite i spremite datoteku pritiskom na Ctrl-X, a zatim upišite Da.

Zatim upišite sljedeću liniju i pritisnite enter.

sudo apt-get update

pa ovo:

sudo apt-get install uv4l uv4l-raspicam

Ukucajte sljedeće naredbe red po redak. Sačekajte da završi ono što radi pre nego što otkucate u sledeći red.

sudo apt-get install uv4l-raspicam-extras

sudo servis uv4l_raspicam ponovno pokretanje

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

Nakon toga, sve što trebate učiniti je upisati sljedeću naredbu za početak streaminga (zamijenite "raspberrypi" s malinovom IP adresom/ imenom hosta na vašoj mreži)

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

Ovo će započeti streaming videozapisa u stvarnom vremenu na portu 8080. Prijenos bi se trebao vidjeti u pozadini vaše aplikacije. Za pregled streama u bilo kojem pregledniku upišite ovaj URL (gdje je "raspberrypi" vaša adresa bespilotnih letjelica).

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

Čestitamo, završili ste svoj špijunski dron.

Korak 7: Vozite

Okrenite prekidač za napajanje i krenite u istraživanje.

Ako želite znati kako napraviti nešto drugo, pitajte me pa ću vidjeti šta mogu učiniti.

Ako imate bilo kakvih pitanja, komentirajte ispod i potrudit ću se odgovoriti na njih.

Hvala na čitanju!

Preporučuje se: