Sisukord:

Raspberry Pi, Android, IoT ja Bluetooth -toitega droon: 7 sammu (koos piltidega)
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon: 7 sammu (koos piltidega)

Video: Raspberry Pi, Android, IoT ja Bluetooth -toitega droon: 7 sammu (koos piltidega)

Video: Raspberry Pi, Android, IoT ja Bluetooth -toitega droon: 7 sammu (koos piltidega)
Video: Leap Motion SDK 2024, November
Anonim
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon
Raspberry Pi, Android, IoT ja Bluetooth -toitega droon

Kasutades sisseehitatud loogikat Raspberry Pi abil, loob see kompaktne mobiilne arvuti kohaliku pordi, mis voogesitab videot reaalajas, luues samal ajal Bluetooth-pistikupesad kohandatud Android-rakenduse saadetud väärtuste lugemiseks. Rakendus sünkroonib drooniga ja kasutab kasutaja sisendit, et saata koheselt droonile juhised.

Seda projekti on üsna raske nullist teha. Loodetavasti annab järgmine teave ülevaate mitmest droonirakendusest. Pakutakse kogu selle projektiga seotud tarkvara ja vooluringi. Muutke ja jagage koodi oma äranägemise järgi. Palun kasutage esitatud teavet vastutustundlikult ja jätke julgelt kommentaar allpool.

Samm: riistvara

Riistvara
Riistvara
Riistvara
Riistvara
Riistvara
Riistvara
Riistvara
Riistvara

Allpool on kasutatud riistvara loend.

  • Vaarika Pi 3 Mudel B
  • Vaarika PI kaamera moodul
  • L298N mootorijuht
  • 2, alalisvoolumootorid
  • Klaviatuur, mis tahes monitor, hiir, Etherneti kaabel ja HDMI -kaabel (pi jaoks)
  • 8 GB MicroSD -kaart
  • Kruvid, lint jne.
  • 2 ratast
  • Androidi Bluetooth -seade (minu telefon)
  • 2, 18650 Rakud
  • 5 -voldine regulaator
  • Arvuti rakenduse programmeerimiseks

A Raspberry Pi: Suurema voo eraldusvõime jaoks (või algajatele) soovitaksin B -mudeli uusimat versiooni, samas kui kompaktsemad versioonid võivad kasutada kas uusimat mudelit A+ või Pi Zero (kaameraversioon). Pidage meeles, et kui kasutate vaarika pi nulli, vajate selle jaoks Bluetooth- ja/või WiFi -donglit. See õpetus eeldab, et kasutate Raspberry Pi 3 B.

Mootorijuht: kasutasin L298N -i, kuigi iga mootorijuht peaks töötama. Lihtsalt veenduge, et see saaks teie mootorite pinget ja voolu käsitseda.

2 alalisvoolumootorit: veenduge, et nad saaksid teie drooni raskusega hakkama.

Korpus: Kasutatuna hoia kõik komponendid kinni. Tavaliselt on kõva plast või alumiinium vastupidav ja kerge materjal. Optimaalsete tulemuste saamiseks saab kasutada isegi 3D -printerit.

Toiteallikas: see on peaaegu alati kõige raskem otsus osade valimisel. Vajalik aku sõltub voolutugevusest. Vähese energiatarbega rakenduste puhul (näiteks 1 või 2 amprit) peaks piisama 9 V patareist. Suurema voolutugevuse jaoks soovitan kas 18650 liitiumioonakut või liitiumpolümeeraku, kuna need on kerged, mahutavad oma suuruse järgi palju energiat ja on laetavad.

2 ratast: Lihtsalt veenduge, et teie ratastel on sama suur ava kui teie mootori võllil. Veenduge ka, et rataste läbimõõt on teie drooni jaoks piisavalt suur. Kuna selle projekti jaoks on mitmeid võimalikke variatsioone ja disainilahendusi, kasutatakse neid mitut erinevat tüüpi ja suurusega rattaid.

Pingeregulaatorid: Pi toiteks aku kaudu on vaja 5 -voldist regulaatorit. Kasutasin LM2596 DC-DC buck converterit.

Enamikku linkides olevaid tooteid kasutati selles projektis ja need olid parimad pakkumised, mida sel ajal leida sain.

Nüüd, kui teil on kõik vajalik olemas, seadistage pi.

2. samm: seadistage Raspberry Pi

Raspberry Pi seadistamine
Raspberry Pi seadistamine
Raspberry Pi seadistamine
Raspberry Pi seadistamine
Raspberry Pi seadistamine
Raspberry Pi seadistamine

See samm näitab teile, kuidas seadistada Raspberry Pi, et saaksite alustada kodeerimist. Kui teil on Raspbianiga juba pi -seadistus, siis jätkake järgmise sammuga.

Esiteks peate vaarika jaoks alla laadima operatsioonisüsteemi. Hankige NOOBS, kui olete algaja. Kui teil on juba vaarika pi -ga märkimisväärseid kogemusi, siis võite olla Raspbianist huvitatud. Eeldan, et kasutate selle õpetuse jaoks NOOBS -i.

Allalaadimise ajal vormindage oma SD -kaart SD -vormindajaga.

Nüüd ekstraktige ja kopeerige allalaaditava sisu oma SD -kaardi juure. Juur tähendab lihtsalt seda, et seda pole üheski kaustas. Kui kõigi ekstraheeritud failide hoidmiseks loodi uus kaust, kopeerige see fail.

Seejärel kinnitage SD -kaart pi külge. Sisestamise ajal peaks see kas "klõpsama" või lihtsalt istuma pi põhjas.

Ühendage hiir ja klaviatuur pi -ga. Seejärel ühendage HDMI -kaabel monitori pi -ga. Lõpuks ühendage 3 -amprine mikro -USB -seinakontakti pistikupessa. Kuigi on soovitatav kasutada seinakontakti, kasutasin oma sülearvutit toiteallikana (USB sülearvutist Micro pi -sse).

Las pi teeb oma asja. Kui küsitakse, valige Raspbian ja laske sellel installida. Järgige paigaldaja juhiseid. Selle täitmine võib võtta aega. Kui kõik läheb õigesti, peaksite nägema ülaltoodud töölauaekraani.

Ühendage ruuterist Etherneti kaabel pi -ga. Seejärel avage käsurida (ekraani ülaosas olev must "kasti" ikoon). Traadita võrguga ühendamiseks peate pi -d värskendama traadiga võrgu kaudu.

Seejärel klõpsake ekraani ülaosas ikooni Kaabel. Sisestage oma võrgu üksikasjad, kui seda küsitakse.

Sisestage järgmisel real olev tekst täpselt nii, nagu näidatud, ja vajutage sisestusklahvi. See värskendab pi. See võib võtta aega. Las see teeb oma asja.

sudo apt-get update

Seejärel tippige järgmisel real olev kood. Ka see võtab natuke aega. Ärge tehke midagi enne, kui see on lõpetatud.

sudo apt-get dist-upgrade

Nüüd peaksite saama Etherneti kaabli lahti ühendada, klõpsata ekraani ülaosas asuvat traadita ühenduse ikooni, sisestada oma võrguteabe ja lõpuks traadita ühenduse kaudu oma võrguga ühenduse luua.

Nüüd kodeerime drooni selle osa, mis liigutusi haldab.

3. samm: liigutuste käsitlemine (Bluetooth -server)

Liigutuste käsitlemine (Bluetooth -server)
Liigutuste käsitlemine (Bluetooth -server)

Liigutuste käsitlemiseks kasutatakse programmeerimiskeelt "Python 3". Sõnumid, mis käsivad robotil liikuda, saadetakse rakendusest Bluetoothi kaudu.

Esiteks peate installima Bluetoothi kogu. Selleks sisestage järgmised käsud.

sudo apt-get update

sudo apt-get install bluetooth

sudo apt-get install bluez

sudo apt-get install python-bluez

Nüüd klõpsake töölaual käivitusmenüü ikooni, seejärel Programmeerimine, seejärel Python 3. Seejärel klõpsake tööriistaribal nuppu Fail, uus. Ilmuma peaks uus aken.

Kopeerige manuse "bluetoothpi.rtf" sisu aknasse.

Klõpsake tööriistaribal nuppu Fail, Salvesta nimega. Salvestage see kataloogi/home/pi/Desktop/kausta motion.py.

Koodi testimiseks klõpsake ekraani paremas ülanurgas Bluetoothi ikooni. Siduge vaarika pi oma Android -seadmega. Laadige oma Android -seadmesse alla rakendus BlueTerm. Seejärel tippige käsureale järgmine paksus kirjas olev kood. See käivitab püütoni koodi.

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

Pi -le peaks ilmuma tekst "Ühenduste ootamine".

Käivitage BlueTerm ja klõpsake suvandite ikooni ning seejärel nuppu "otsi ühendusi".

Rakenduses peaks ilmuma teie vaarika pi nimi. Klõpsake pi nimega nuppu. Pi -le peaks ilmuma tekst „Accepted connection from” ja selle aadress. Nüüd tuleb kõik, mida telefoni sisestate, kuvada pi -s.

Olete edukalt kodeerinud oma Bluetoothi serveripesa!

Samm: Androidi rakendus (Bluetoothi klient)

Androidi rakendus (Bluetooth -klient)
Androidi rakendus (Bluetooth -klient)
Androidi rakendus (Bluetooth -klient)
Androidi rakendus (Bluetooth -klient)
Androidi rakendus (Bluetooth -klient)
Androidi rakendus (Bluetooth -klient)
Androidi rakendus (Bluetooth -klient)
Androidi rakendus (Bluetooth -klient)

Laadige Android Studio alla siit. Installige see ja järgige paigaldaja juhiseid.

Alustage uut projekti. Looge tühi tegevus nimega MainActivity.

Kopeerige manuse "Logic.txt" sisu faili "MainActivity.java" (sakk). See sisaldab kogu rakenduse loogikat. Võimalik, et peate faili allosas muutma oma seadme nime.

Seejärel kopeerige faili "GUI" sisu faili "activity_main.xml" (sakk). See sisaldab rakenduse jaoks väga lihtsat GUI -d.

Nüüd peate rakendusse importima noolenupud (pildid). Pakkige manus lahti Arrows.zip. Avage android stuudio vasakul failistruktuur, et näha rakendust, res, minimaalset kaarti. Kopeerige noolepildid-p.webp

Lõpuks kopeerige faili "Manifest" sisu oma "AndroidManifest.xml" faili (vahekaart).

Rakenduse testimiseks peate selle oma seadmes käivitama. Selleks peate seadistama seadme arendajarežiimi ja lubama USB silumise. Enamiku seadmete puhul peate minema jaotisse "Seaded", "Teave telefoni kohta", kerige alla ja klõpsake seitse korda "Ehituse number", kuni näete teadet "Olete nüüd arendaja!" Minge tagasi ja nüüd peaksite nägema vahekaarti „Arendaja valikud”. Klõpsake seda ja lubage USB silumine.

Ühendage oma Android -seade arvutiga USB -ühenduse kaudu, klõpsake Android Studios käivitusikoonil ja valige oma seade.

Pi -l käivitage 3. etapis loodud python -kood, tippides käsu paksus kirjas:

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

Seejärel klõpsake rakenduses ühenduse loomise nuppu. Kui ühendus on loodud, peaksid nüüd rakenduses ilmuma mõned nooled. Iga kord, kui klõpsate ühel, värskendab see pi "liikumise" olekut.

See on korras, kui rakenduse taust annab vea. See parandatakse hiljem.

Lõite äsja oma rakenduse ja Bluetoothi kliendi.

Samm: riistvara ühendamine

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Ühendage ühendused ülaltoodud skeemil. Kinnitage kaameramoodul pi külge.

Käivitage rakendus ja käivitage fail motion.py. Kui mootorid rakenduse kasutamisel õigesti liiguvad, pange julgelt kõik komponendid drooni lõplikule kestale. Võimalik, et peate koodide "HIGH" ja "LOW" väärtusi muutma, et see õigesti liiguks.

Järgmise sammuna lisame drooni voogesituse funktsiooni.

6. samm: voogesitus

Voogesitus
Voogesitus
Voogesitus
Voogesitus
Voogesitus
Voogesitus

Neid on mitmeid viise video voogesitamiseks Pi abil, kuid uv4l kasutamine on vaieldamatult lihtsaim viis peaaegu viivituseta.

Vahemärkusena: kui olete oma drooni juba kokku pannud ega saa seda monitori ja klaviatuuriga ühendada, peate oma drooni SSH -ga ühendama. Selleks laadige oma arvutisse alla Putty. Avage see ja sisestage oma vaarika IP -aadress (leidke IP -aadress, sisestades käsu ifconfig). See küsib kasutajanime ja parooli. Vaikimisi kasutajanimi ja parool on vastavalt pi ja vaarikas. Nüüd on kõik, mida käsukasti sisestate, nagu käskude sisestamine otse drooni.

uv4l seadistamine

Sisestage see käsk:

sudo nano /etc/apt/sources.list

Lisage faili viimasele reale järgmine rida.

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

Väljuge ja salvestage fail, vajutades Ctrl-X ja seejärel tippides Jah.

Seejärel tippige järgmine rida ja vajutage sisestusklahvi.

sudo apt-get update

siis see:

sudo apt-get install uv4l uv4l-raspicam

Sisestage rida -realt järgmised käsud. Enne järgmise rea sisestamist oodake, kuni see töö lõpetab.

sudo apt-get install uv4l-raspicam-lisad

sudo teenus uv4l_raspicam taaskäivitage

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-lisad

Pärast seda peate voogesituse alustamiseks sisestama järgmise käsu (asendage "raspberrypi" oma võrgus oleva vaarika IP -aadressi/ hostinimega)

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

See alustab reaalajas video voogesitust sadamas 8080. Oja peaks nüüd olema teie rakenduse taustal näha. Oja vaatamiseks mis tahes brauseris sisestage see URL (kus "raspberrypi" on teie droonide IP -aadress).

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

Palju õnne, olete oma spioondrooni valmis saanud.

7. samm: sõitke

Lülitage toitelüliti ümber ja hakake uurima.

Kui soovite teada, kuidas midagi muud valmistada, küsige minult ja vaatan, mida teha saan.

Kui teil on küsimusi, palun kommenteerige allpool ja annan endast parima, et neile vastata.

Täname lugemise eest!

Soovitan: