Turinys:

„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas: 7 žingsniai (su nuotraukomis)
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas: 7 žingsniai (su nuotraukomis)

Video: „Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas: 7 žingsniai (su nuotraukomis)

Video: „Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas: 7 žingsniai (su nuotraukomis)
Video: Create app to control Servo motor in Tamil|Arduino Project |Karthikesh Robotics|Tamil Projects 2024, Liepa
Anonim
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas
„Raspberry Pi“, „Android“, „IoT“ir „Bluetooth“varomas dronas

Naudojant „Raspberry Pi“integruotai logikai, šis kompaktiškas, mobilus kompiuteris sukurs vietinį prievadą, kuris srautu perduoda vaizdo įrašą realiuoju laiku, tuo pačiu sukurdamas „Bluetooth“lizdus, kad nuskaitytų pasirinktinės „Android“programos siunčiamas vertes. Programa sinchronizuojasi su dronu ir naudoja vartotojo įvestį, kad akimirksniu išsiųstų instrukcijas dronui.

Šį projektą gana sunku įgyvendinti nuo nulio. Tikimės, kad ši informacija suteiks įžvalgų apie įvairias dronų programas. Pateikiama visa su šiuo projektu susijusi programinė įranga ir grandinių dizainas. Nedvejodami pakeiskite ir bendrinkite kodą pagal savo skonį. Prašome atsakingai naudoti pateiktą informaciją ir nedvejodami palikite komentarą žemiau.

1 žingsnis: Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Žemiau yra aparatūros, kurią naudojau, sąrašas.

  • Raspberry Pi 3 B modelis
  • Aviečių PI kameros modulis
  • L298N variklio tvarkyklė
  • 2, DC varikliai
  • Klaviatūra, bet koks monitorius, pelė, eterneto kabelis ir HDMI kabelis („pi“)
  • 8 GB „MicroSD“kortelė
  • Sraigtai, juostos ir kt.
  • 2 ratai
  • „Android“„Bluetooth“įrenginys (mano telefonas)
  • 2, 18650 Ląstelės
  • 5 voltų reguliatorius
  • Kompiuteris programuoti programą

A „Raspberry Pi“: jei norite didesnės srauto skiriamosios gebos (arba pradedantiesiems), rekomenduočiau naujausią B modelio versiją, o kompaktiškesnėse versijose gali būti naudojamas naujausias „A+“modelis arba „Pi Zero“(fotoaparato versija). Atminkite, kad jei naudojate aviečių pi nulį, jums reikės „Bluetooth“ir (arba) „WiFi“raktų. Šioje pamokoje bus manoma, kad naudojate „Raspberry Pi 3 B.

Variklio vairuotojas: Aš naudoju L298N, nors bet kuris variklio vairuotojas turėtų dirbti. Tiesiog įsitikinkite, kad jis gali valdyti jūsų variklių įtampą ir srovę.

2 nuolatinės srovės varikliai: įsitikinkite, kad jie gali atlaikyti jūsų drono svorį.

Korpusas: Naudojant taip pat laikykite visus komponentus. Paprastai kietas plastikas arba aliuminis yra patvari, lengva medžiaga. Siekiant geriausių rezultatų, galima naudoti net 3D spausdintuvą.

Maitinimo šaltinis: tai beveik visada sunkiausias sprendimas renkantis dalis. Reikalingas akumuliatorius priklauso nuo srovės. Mažos galios programoms (pvz., 1 ar 2 amperų) turėtų pakakti 9 V baterijos. Didesniam amperui rekomenduoju naudoti 18650 ličio jonų elementą arba ličio polimerų akumuliatorių, nes jie yra lengvi, gali išlaikyti daug energijos pagal savo dydį ir yra įkraunami.

2 ratai: Tiesiog įsitikinkite, kad jūsų ratų skylių dydis yra toks pat kaip variklio veleno. Taip pat įsitikinkite, kad ratų skersmuo yra pakankamai didelis jūsų dronui. Kadangi tai yra daugybė galimų šio projekto variantų ir dizaino, jie gali būti naudojami įvairiais ratų tipais ir dydžiais.

Įtampos reguliatoriai: norint maitinti pi per akumuliatorių, reikalingas 5 voltų reguliatorius. Aš naudojau LM2596 DC-DC keitiklį.

Dauguma nuorodų produktų buvo naudojami šiame projekte ir buvo geriausi pasiūlymai, kuriuos tuo metu galėjau rasti.

Dabar, kai turite viską, ko reikia, leiskite nustatyti pi.

2 veiksmas: nustatykite „Raspberry Pi“

„Raspberry Pi“nustatymas
„Raspberry Pi“nustatymas
„Raspberry Pi“nustatymas
„Raspberry Pi“nustatymas
„Raspberry Pi“nustatymas
„Raspberry Pi“nustatymas

Šis žingsnis parodys, kaip nustatyti „Raspberry Pi“, kad galėtumėte pradėti koduoti. Jei jau turite „Pip“sąranką su „Raspbian“, nedvejodami pereikite prie kito žingsnio.

Pirmiausia turite atsisiųsti aviečių operacinę sistemą. Gaukite NOOBS, jei esate pradedantysis. Jei jau turite puikios patirties su aviečių pi, tuomet jus gali sudominti „Raspbian“. Aš manysiu, kad šiai pamokai naudojate NOOBS.

Atsisiuntimo metu suformatuokite SD kortelę naudodami „SD Formatter“.

Dabar ištraukite ir nukopijuokite atsisiuntimo turinį į savo SD kortelės šaknį. Šaknis tiesiog reiškia, kad jo nėra jokiuose aplankuose. Jei buvo sukurtas naujas aplankas, kuriame bus saugomi visi išgauti failai, nukopijuokite tame faile.

Tada prijunkite SD kortelę prie pi. Įterpiant jis turėtų arba „spustelėti“, arba tiesiog sėdėti pi apačioje.

Prijunkite pelę ir klaviatūrą prie pi. Tada prijunkite HDMI kabelį prie monitoriaus „pi“. Galiausiai prijunkite 3 amperų mikro USB sieninio lizdo adapterį prie pi. Nors rekomenduojamas sieninis lizdas, nešiojamąjį kompiuterį naudojau kaip maitinimo šaltinį (USB iš nešiojamojo kompiuterio į „Micro USB“pi).

Tegul pi daro savo. Jei būsite paraginti, pasirinkite „Raspbian“ir leiskite jam įdiegti. Vykdykite diegimo programos instrukcijas. Tai gali užtrukti. Jei viskas gerai, turėtumėte pamatyti darbalaukio ekraną, panašų į aukščiau pateiktą.

Prijunkite eterneto kabelį iš maršrutizatoriaus į pi. Tada atidarykite komandų eilutę (ekrano viršuje esanti juoda „dėžutės“piktograma). Norėdami prijungti belaidį tinklą, turėsite atnaujinti pi per laidinį tinklą.

Tada ekrano viršuje spustelėkite kabelio piktogramą. Kai būsite paraginti, įveskite išsamią tinklo informaciją.

Įveskite tekstą kitoje eilutėje tiksliai taip, kaip parodyta, ir paspauskite „Enter“. Tai atnaujins pi. Tai gali užtrukti. Tiesiog leisk tai padaryti savo.

sudo apt-get atnaujinimas

Tada įveskite kodą kitoje eilutėje. Tai taip pat užtruks šiek tiek laiko. Nieko nedarykite, kol jis nebus baigtas.

sudo apt-get dist-upgrade

Dabar turėtumėte galėti atjungti Ethernet kabelį, ekrano viršuje spustelėti belaidžio ryšio piktogramą, įvesti tinklo informaciją ir galiausiai prisijungti prie tinklo belaidžiu ryšiu.

Dabar leiskite koduoti drono dalį, kuri tvarko judesius.

3 veiksmas: judesių tvarkymas („Bluetooth“serveris)

Judėjimų tvarkymas („Bluetooth“serveris)
Judėjimų tvarkymas („Bluetooth“serveris)

Tvarkant judesius, naudojama programavimo kalba „Python 3“. Pranešimai, liepiantys robotui judėti, bus siunčiami per „Bluetooth“iš programos.

Pirmiausia turite įdiegti „Bluetooth“biblioteką. Norėdami tai padaryti, įveskite šias komandas.

sudo apt-get atnaujinimas

sudo apt-get įdiegti „Bluetooth“

sudo apt-get install bluez

sudo apt-get įdiegti python-bluez

Dabar darbalaukyje spustelėkite pradžios meniu piktogramą, tada Programavimas, tada Python 3. Tada įrankių juostoje spustelėkite Failas, naujas. Turėtų pasirodyti naujas langas.

Nukopijuokite priedo „bluetoothpi.rtf“turinį į langą.

Įrankių juostoje spustelėkite Failas, Išsaugoti kaip. Išsaugokite jį/home/pi/Desktop/kataloge kaip judesiai.py.

Dabar, norėdami patikrinti kodą, spustelėkite „Bluetooth“piktogramą viršutiniame dešiniajame ekrano kampe. Suporuokite aviečių pi su „Android“įrenginiu. Atsisiųskite programą „BlueTerm“savo „Android“įrenginyje. Tada komandinėje eilutėje įveskite šį kodą paryškintu šriftu. Tai atliks python kodą.

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

Tekstas „Laukiama ryšių“turėtų būti rodomas pi.

Paleiskite „BlueTerm“ir spustelėkite parinkčių piktogramą, tada mygtuką „ieškoti ryšių“.

Programoje turėtų būti rodomas jūsų aviečių pi vardas. Spustelėkite mygtuką su pi pavadinimu. Tekstas „Priimtas ryšys iš“turėtų būti rodomas pi, o po jo - adresas. Dabar viskas, ką įvedate telefone, turėtų būti rodoma pi.

Sėkmingai užkodavote savo „Bluetooth“serverio lizdą!

4 veiksmas: „Android“programa („Bluetooth“klientas)

„Android“programa („Bluetooth“klientas)
„Android“programa („Bluetooth“klientas)
„Android“programa („Bluetooth“klientas)
„Android“programa („Bluetooth“klientas)
„Android“programa („Bluetooth“klientas)
„Android“programa („Bluetooth“klientas)
„Android“programa („Bluetooth“klientas)
„Android“programa („Bluetooth“klientas)

Atsisiųskite „Android Studio“čia. Įdiekite jį ir vykdykite diegimo programos instrukcijas.

Pradėkite naują projektą. Sukurkite tuščią veiklą, pavadintą „MainActivity“.

Nukopijuokite priedo „Logic.txt“turinį į failą „MainActivity.java“(skirtukas). Tai apima visą programos logiką. Gali reikėti pakeisti įrenginio pavadinimą failo apačioje.

Tada nukopijuokite failo „GUI“turinį į failą „activity_main.xml“(skirtukas). Jame yra labai paprasta programos GUI.

Dabar į programą turėsite importuoti rodyklių mygtukus (paveikslėlius). Išpakuokite priedą Arrows.zip. „Android Studio“kairėje atidarykite failų struktūrą, kad pamatytumėte programą, res, minimalap. Nukopijuokite rodyklių paveikslėlius-p.webp

Galiausiai nukopijuokite failo „Manifest“turinį į „AndroidManifest.xml“failą (skirtuką).

Norėdami išbandyti programą, turėsite ją paleisti savo įrenginyje. Norėdami tai padaryti, turėsite nustatyti įrenginį kūrėjo režimu ir įjungti USB derinimą. Daugelyje įrenginių turėsite eiti į „Nustatymai“, „Apie telefoną“, slinkite iki apačios ir septynis kartus spustelėkite „Sukurti numerį“, kol pamatysite pranešimą „Dabar esate kūrėjas!“. Grįžkite atgal ir dabar turėtumėte pamatyti skirtuką „Kūrėjo parinktys“. Spustelėkite jį ir įjunkite USB derinimą.

Prijunkite „Android“įrenginį prie kompiuterio per USB, spustelėkite „Android Studio“paleidimo piktogramą ir pasirinkite savo įrenginį.

Pi, paleiskite python kodą, sukurtą 3 veiksme, įvesdami komandą paryškintu šriftu:

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

Tada programoje spustelėkite prisijungimo mygtuką. Prisijungus, kai kurios rodyklės dabar turėtų būti rodomos programoje. Kai spustelėsite vieną, jis atnaujins pi „judėjimo“būseną.

Viskas gerai, jei programos fone pateikiama klaida. Tai bus pataisyta vėliau.

Jūs ką tik sukūrėte savo programą ir „Bluetooth“klientą.

5 žingsnis: Aparatūros prijungimas

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

Lituokite jungtis aukščiau esančioje diagramoje. Prie pi taip pat pritvirtinkite fotoaparato modulį.

Paleiskite programą ir vykdykite failą motion.py. Jei varikliai juda teisingai, kai naudojate programą, nedvejodami sudėkite visus komponentus į galutinį drono apvalkalą. Jums gali tekti pakeisti kodų „HIGH“ir „LOW“reikšmes, kad jis judėtų teisingai.

Kitame žingsnyje pridėsime bepiločio orlaivio srautinio perdavimo funkciją.

6 žingsnis: transliacija

Srautas
Srautas
Srautas
Srautas
Srautas
Srautas

Tai yra keli būdai, kaip transliuoti vaizdo įrašą naudojant „Pi“, tačiau naudojant „uv4l“yra pats lengviausias būdas praktiškai be vėlavimo.

Tik šoninė pastaba: jei jau sudėjote savo droną ir negalite jo prijungti prie monitoriaus ir klaviatūros, turėsite SSH prijungti prie savo drono. Norėdami tai padaryti, atsisiųskite „Putty“į savo kompiuterį. Atidarykite jį ir įveskite savo aviečių IP adresą (suraskite IP adresą įvesdami komandą ifconfig). Jis paprašys įvesti vartotojo vardą ir slaptažodį. Numatytasis vartotojo vardas ir slaptažodis yra atitinkamai pi ir avietė. Dabar viskas, ką įvesite komandų laukelyje, bus kaip komandų įvedimas tiesiai į droną.

uv4l nustatymas

Įveskite šią komandą:

sudo nano /etc/apt/sources.list

Paskutinėje failo eilutėje pridėkite šią eilutę.

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

Išeikite ir išsaugokite failą paspausdami Ctrl-X ir įvesdami Taip.

Tada įveskite šią eilutę ir paspauskite enter.

sudo apt-get atnaujinimas

tada tai:

sudo apt-get install uv4l uv4l-raspicam

Įveskite šias komandas eilutėje po eilutės. Prieš įvesdami kitą eilutę, palaukite, kol ji baigs tai, ką daro.

sudo apt-get install uv4l-raspicam-extras

iš naujo paleiskite „sudo“paslaugą uv4l_raspicam

sudo rpi atnaujinimas

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

Po to viskas, ką jums reikia padaryti, yra įvesti šią komandą, kad pradėtumėte transliaciją (pakeiskite „raspberrypi“aviečių IP adresu/ pagrindinio kompiuterio pavadinimu savo tinkle)

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

Tai pradės transliuoti vaizdo įrašą realiuoju laiku iš 8080 prievado. Srautas dabar turėtų būti matomas jūsų programos fone. Jei norite peržiūrėti srautą bet kurioje naršyklėje, įveskite šį URL (kur „raspberrypi“yra jūsų dronų IP adresas).

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

Sveikiname, baigėte savo šnipų droną.

7 žingsnis: vairuokite

Pasukite maitinimo jungiklį ir pradėkite tyrinėti.

Jei norite žinoti, kaip pasigaminti ką nors kita, paklauskite manęs ir pamatysiu, ką galiu padaryti.

Jei turite klausimų, komentuokite žemiau ir aš padarysiu viską, kad į juos atsakyčiau.

Ačiū, kad skaitote!

Rekomenduojamas: