Sadržaj:
- Korak 1: Neke informacije o App.remoteme.org
- Korak 2: Šta je potrebno:
- Korak 3: Veze
- Korak 4: PCB
- Korak 5: PCB izlazi
- Korak 6: Kako ide na posao
- Korak 7: Sklapanje automobila - Točkovi
- Korak 8: Napajanje (AA punjive baterije) Opcija 1/2
- Korak 9: Napajanje (Li-Po baterije od 7,2 V) Opcija 2/2
- Korak 10: Lemljenje
- Korak 11: Kamera
- Korak 12: Sastavljanje dijelova automobila
- Korak 13: Konfiguracija App.remoteme.org
- Korak 14: RasbperryPi konfiguracija
- Korak 15: Provjerite veze
- Korak 16: Dodavanje Python skripte
- Korak 17: Provjerite je li Python skripta uspješno dodana
- Korak 18: Dodavanje web stranice za kontrolu automobila
- Korak 19: Konfigurirajte WebPage uređaj za kontrolu automobila 1/2
- Korak 20: Konfigurirajte WebPage uređaj za kontrolu automobila 2/2
- Korak 21: Otvorite Kontrolni centar automobila
- Korak 22: Konfiguracija kamere 1/2
- Korak 23: Konfiguracija kamere 2/2
- Korak 24: Vožnja 1/2
- Korak 25: Vožnja 2/2
- Korak 26: Kako funkcionira
- Korak 27: Tablet, mobilno upravljanje
- Korak 28: Otvorite stranicu na mobilnom telefonu
- Korak 29: Dodavanje Turn Servera
- Korak 30: Mobilno upravljanje
- Korak 31: Sažetak
Video: RasbperryPi automobil sa FPV kamerom. Kontrola putem web preglednika: 31 korak (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Napravit ćemo automobil s 4 vozila - upravljanje će biti slično kao u spremniku - okretanje jedne strane kotača rotirat će se različitom brzinom od druge. Kod auta će biti postavljena kamera na poseban držač gdje možemo promijeniti položaj kamere. Robotom će upravljati web preglednik (chrome ili firefox na radnoj površini ili firefox na mobilnom telefonu), u pregledniku ćemo dobiti video zapis kamere (sa samo 200 ms kašnjenja), a iz preglednika možemo kontrolirati kretanje automobila i položaj kamere. Da bih olakšao komunikaciju, upotrijebio sam sistem app.remoteme.org, postoji i standardna kontrola upravljanja ovom vrstom automobila, tako da ne morate pisati vlastiti kôd, ali naravno možete izmijeniti skripte nove mogućnosti itd.
Prije priključivanja napajanja na PCB, provjerite sve veze
Korak 1: Neke informacije o App.remoteme.org
Sistem ima tri dijela
- webapplication - kada hostujete svoje kontrolne web stranice i ona povezuje svu komunikaciju
- rasbperryPi program - program koji šalje video zapise, upravlja vašim python skriptama
- biblioteke u kojima možete pronaći klase, definicije funkcija
Remoteme.org je sistemski brz Povezujete sve svoje uređaje zajedno, tamo možete ugostiti svoje web stranice, vidjeti povezane uređaje. Sistem Remoteme.org napravljen je kako bi vam pomogao da započnete sa stvaranjem svojih projekata, bez brige oko protokolarne komunikacije, glavna ideja je slanje binarnih poruka između različitih uređaja, poput web stranica, RasbeprryPI, arduino i skripti.
S druge strane, Remoteme.org vam daje potpunu kontrolu nad vašim datotekama. Možete ga lako izmijeniti ispisujući vlastitu funkcionalnost
U ovom tutorijalu ću vam pokazati kako napraviti sjajan projekat zauvijek bez pisanja koda.
Na kraju ovog vodiča stavio sam korisne veze koje će vam pomoći da razumijete sistem remoteme.org.
Korak 2: Šta je potrebno:
- Malina PI Zero W
- Namenska kamera
- Adafruit 16 -kanalni 12 -bitni PWM/servo upravljački program - I2C sučelje - PCA9685 ili njegov klon
- Dva servo mehanizma kompatibilna sa držačem kamere
- Držač za kameru
- Baterije - U vodiču dvije mogućnosti povezivanja
- H most TB6612FNG, za kontrolu nagiba kotača
- PCB eagle datoteke Lako je napraviti metodu toplotnog prenosa DC-DC
- Step Down pretvarački modul DC
- Robot futrola
Korak 3: Veze
Raspberry pi upravlja servo mehanizmom preko PWM modula i brzine motora pomoću H mosta koji je spojen na RasbperryPi pinove, PWM ulaz na H most generira isti modul koji sam koristio za servosisteme (gore spomenute dijelove nisu potrebni logički pretvarači)
Korak 4: PCB
Datoteke sa PCB eagle -a možete preuzeti odavde. Staze su debele pa je lako napraviti metodom termalnog prenosa
Korak 5: PCB izlazi
- PWM ulaz za pogonske motore treba spojiti na 15 -ti i 16 -ti pinove PWM modula (provjerite zeleni pravokutnik na slici PWM modula)
- Ulazna snaga pogonskih motora (provjerite s kojim maksimalnim naponom vaši motori mogu raditi)
- Napajanje za RasbperryPi i PWM modul - mora biti tačno
- Izlazi pogonskog motora (postoje dva izlaza jer ćemo upariti pogonske motore)
- Snaga servo mehanizama - također morate provjeriti koji je napon dobar za njih
- Kratkospojnik, trenutna snaga s 5. ulaza će također napajati pogone motora, tako da nema potrebe ništa povezivati na ulaz 2
- Kratkospojnik, ako je prisutan, RasbperryPi će se napajati s trećeg ulaza - prije nego što ovdje postavite kratkospojnik, provjerite jesu li veze u redu - Ne želite spaliti svoj RPi
- Omogućavamo lemljenje kabela jer nam ne trebaju logički pretvarači
Korak 6: Kako ide na posao
Na RasbperryPi postoji python skripta koja koristi dvije biblioteke
- uvoz RPi. GPIO kao GPIO-za pinove 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM oznaka) koji su spojeni na H most
- uvozite Adafruit_PCA9685 za PWM modul
Rpi pinovi su povezani na sljedeći način 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) i način upravljanja H mosta (naprijed, nazad, zaustavljanje, kratki prekid). H mostu su potrebna i dva PWM signala kako bismo mogli kontrolirati brzinu ili rotaciju motora. Budući da na projektu već imamo PWM kontroler (koristi se za servo), mi ćemo ga koristiti i za generiranje PWM -a za H most.
PWM modul koristi I2C komunikacijski protokol. Koristio sam rad iz kutije Adafruit_PCA9685. biblioteka
Korak 7: Sklapanje automobila - Točkovi
Počet ćemo od povezivanja pogonskih motora na kućište automobila. Lijevi/bočni motor spojeni su zajedno, a oba para se spajaju na neki kabel za napajanje koji će kasnije biti spojen na PCB. Važna napomena pri povezivanju motora kotači sa svake strane moraju se okretati u istom smjeru.
Korak 8: Napajanje (AA punjive baterije) Opcija 1/2
Napisat ću dvije mogućnosti napajanja Automobil je prvi od 10xAA punjivih baterija. Na kraju sam nacrtao kratkospojnike u crvenim bojama koje je potrebno staviti.
Korak 9: Napajanje (Li-Po baterije od 7,2 V) Opcija 2/2
Druga mogućnost je 7,2 LI-PO baterija. U ovom slučaju imamo 3 napona - 5 V za Rpi i modul, 6 V za servo i direktno iz baterija 7,2 V za pogonske motore. Morao sam koristiti dva modula za stepenasto spuštanje
Opcija 2 sa LI-PO je bolja:
- Baterije imaju veći kapacitet - automobil će voziti duže
- Veći napon za pogonske motore - automobil će voziti brže
- Manja je vjerojatnost da bismo nakon lociranja pogonskih motora mogli imati veliki pad napona i RPI se ponovo pokrenuti.
Korak 10: Lemljenje
Stavio sam na PCB neke odstojnike za PWM modul. Nema šta da se napiše samo pogledajte slike kako sve lemiti zajedno
Korak 11: Kamera
povezujemo kameru, ovdje je napisano kako centrirati servo mehanizme prije ugradnje u držač kamere, ali najkraći način je lagano ručno provjeriti maksimalni položaj rotacije i postaviti servo u središnji položaj. Ovaj centrirani servo mehanizam stavljamo u držač kamere u središnjem položaju (kamera je usmjerena ravno naprijed kao na fotografiji)
Korak 12: Sastavljanje dijelova automobila
Za PCB sam napravio mali stol od pleksiglasa
Korak 13: Konfiguracija App.remoteme.org
Koristio sam besplatni sistem app.remoteme.org koji vam pomaže da uspostavite veze i već ima skripte koje su nam potrebne
Na ovom uputstvu samo ću pokazati korak po korak šta bi trebalo učiniti kako bi vožnja automobilom (ovdje ćete pronaći više detalja)
- Zapjevajte na https://app.remoteme.org nakon registracije Bit ćete automatski prijavljeni
- otvorite karticu Token s lijeve strane, zatim kliknite „novi token“unesite neko ime i kliknite U redu, Upravo smo stvorili novi token (slika na ekranu)
- u ovom primjeru vrijednost tokena je: ~ 1_ & p@+BNnZ@A+x8 (vaše će biti drugačije;))
Korak 14: RasbperryPi konfiguracija
na konzoli kit (ovdje kako postaviti naš RPi uključite kameru I2c komunikaciju)
git clone git: //github.com/remoteme/remoteme.git
cd remoteme
python3.5 install.py
- Instalater će nam postaviti nekoliko pitanja za sve odgovore [DA] i potvrditi [enter]
- kada instalacija zatraži token zalijepimo (shift+insert) token kopiran iz aplikacije i Enter
- naziv na primjer Rpi
- deviceId 1 Unesite
- nakon instalacije - pokrenite program
./runme.sh
Korak 15: Provjerite veze
Vratimo se na
Na kartici uređaja vidjet ćemo naš povezani RPi (zelena ikona veze znači da je RPi trenutno povezan)
Korak 16: Dodavanje Python skripte
Sada ćemo dodati python skriptu, koja je već u predlošcima, tako da ne moramo ništa programirati.
Na kartici uređaja otvorite izbornik RasbperryPi i odaberite "Dodaj vanjsku skriptu".
Kada se pojavi novi prozor, pružite informacije kao na gornjoj slici
Ne zaboravite odabrati predložak "car4wd". Nakon ovih koraka, remoteme.org će dodati python skriptu u naš RasbperryPi i ponovo je pokrenuti
Korak 17: Provjerite je li Python skripta uspješno dodana
Na kartici Uređaji treba dodati novi Python skriptni uređaj i njegov ID uređaja je 2. Na ovom uređaju Id web stranica će slati poruke kontrolnom automobilu
Korak 18: Dodavanje web stranice za kontrolu automobila
na kartici uređaja kliknite "Novo", a zatim "Web stranica". Samo dodajemo još jedan uređaj - webPage kojim ćemo upravljati svojim automobilom. A budući da smo na web stranici koristili predložak "car4wdDesktop" već su datoteke gotovo spremne za upotrebu
Korak 19: Konfigurirajte WebPage uređaj za kontrolu automobila 1/2
Proširite WebPage na kartici uređaja i kliknite index.html, a zatim Otvori
Korak 20: Konfigurirajte WebPage uređaj za kontrolu automobila 2/2
Pojavljuje se prozor i tada moramo navesti deviceId naše python skripte u našem slučaju deviceId je 2. Promijenimo mjesto prikazano na slici
Korak 21: Otvorite Kontrolni centar automobila
Sada je vrijeme da otvorimo našu stranicu i vidimo kako funkcionira. Na kartici uređaja kliknite index.html, a zatim "Otvori na novoj kartici" Da biste dobili pregled videa Morate koristiti preglednik Chrome ili Firefox, drugi preglednik ne podržava u potpunosti webRTC
Korak 22: Konfiguracija kamere 1/2
Kada pomjeramo miša na video područje, kamera bi trebala promijeniti položaj i trebala bi raditi potpuno isto kao u FPS igrama. Vjerovatno se neće pravilno kretati
Korak 23: Konfiguracija kamere 2/2
Otvorite script.js (kartica uređaja proširi web stranicu, zatim kliknite na script.js, a zatim otvorite) i pronađite mjesto koje sam prikazao na ekranu
u mom slučaju središnja pozicija je 560 i 430, a raspon pokreta za obje osi 200
Morate eksperimentirati s ovim brojevima kako biste dobili središte položaja kamere i glatke pokrete. Ako ste koristili ovaj vodič, samo kopirajte zalijepljene zadane vrijednosti
Korak 24: Vožnja 1/2
Ako pritisnete strelicu prema gore na tastaturi, mjerači bi trebali promijeniti položaj i automobil bi trebao voziti. Ako pritisnete strelicu “gore” i automobil se okreće, tada morate dodati/ukloniti minus na mjestima na ekranu.
Nakon ove operacije, nakon što je pritisnuta strelica “gore”, automobil bi trebao voziti naprijed, a dolje sa strelicom.
Korak 25: Vožnja 2/2
Sada se okrećete - pritisnite strelicu ulijevo ako automobil skreće udesno Morate prevrnuti kablove (provjerite gornju sliku)
Ako ste lemili ove kablove, možete ih promijeniti na script.js, samo promijenite redoslijed slanja brzine motora, prije:
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())); pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
nakon:
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed ()*255));
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed ()*255));
i sada se morate igrati s minusima kao jedan korak prije da bi ispravno radio;). Kao što ste vjerojatno primijetili nakon udarca strelicom, automobil ne vozi punom brzinom kako bi se automobil brže kretao, samo brzo otpustite strelicu prema gore kada je u maksimalnom položaju i ponovo pritisnite i držite
Korak 26: Kako funkcionira
Web stranica šalje poruke poruke devetog bajta na python skriptu u formatu:
- 1 bajt jedan bajt cijela vrijednost 1
- 2 bajta cijeli broj X kamere
- 2 bajta cijeli Y položaj kamere
- 1 bajt cijeli broj lijevi način rada motora (3 = unatrag, 1 = naprijed, 2 = stop)
- 1 bajt cijeli broj okretaja lijevog motora
- 1 bajt integer desni način rada motora (3 = unatrag, 1 = naprijed, 2 = stop)
- 1 bajt cijeli broj desna brzina motora
slanje poruke vrši se u datoteci script.js na funkciji "sendNow ()"
na RasbperryPi python.py prima ovu poruku u funkciji "onUserMessage"
Možete provjeriti i malo se igrati kako biste znali što se događa.
opis funkcija klase ovdje
Korak 27: Tablet, mobilno upravljanje
S velikom pažnjom dodajemo novu web stranicu kao i prethodni put, ali sada odabiremo predložak "car4wdMobile"
Zatim sve konfiguriramo u script.js kao što smo to učinili za web stranicu za kontrolu radne površine. Format poruke je potpuno isti pa ne moramo mijenjati skriptu python.py.
Korak 28: Otvorite stranicu na mobilnom telefonu
Umjesto da se prijavite na svoj račun s mobilnog telefona, samo skenirajte QR ogroman url.
detalje o QR -u ovdje
Ako vaša mobilna kontrola radi kada su RPi i mobilni na istom wifi -ju, ali ne radi ako koristite mobilni internet, morate dodati turn turn, kako to učiniti napisao sam ovdje
Korak 29: Dodavanje Turn Servera
Ponekad (kada ste iza NAT -a ili nekih postavki zaštitnog zida) ne možete povezati svog robota s druge mreže, tada je vaš robot povezan. To nije veliki problem i tada morate dodati turn server.
Testirao sam server iz kompanije XIRSYS (besplatan je za razvojne programere) i pokazat ću kako konfigurirati poslužitelj skretanja pomoću XIRSYS sistema
registracija:
global.xirsys.net/dashboard/signup
zatim kliknite "plus" za dodavanje aplikacije
s desne strane pod "static credentials" Imate sve potrebne podatke. Kopirajte ga u datoteku webrtc_streamer.conf da biste to učinili, idite na
proširite RaspberryPi deivces
kliknite datoteku webrtc_streamer.conf
kliknite Otvori
i dodajte informacije
turn_server = turn_username =
turn_credential =
nakon što završite uređivanje trebali biste imati nešto poput na ekranu.
zatim kliknite Spremi i ponovo pokrenite svoj Rpi, klikom na izbornik na RasbperryPi uređaju i odaberite ponovno pokretanje
Nakon ponovnog pokretanja programa RPi možete vidjeti pregled videa na svom mobilnom telefonu čak i ako koristite mobilni internet.
Korak 30: Mobilno upravljanje
u krug 1 stavljamo palac lijevo, na 2 desno - ne mora biti baš na ovim mjestima - web stranica će postaviti nultu poziciju odmah nakon što dodirnete ekran i pomicanjem palca (vožnja ulijevo, položaj kamere desno) Možete kontrolirati tvoj auto
Korak 31: Sažetak
Nadam se da vam se svidio ovaj vodič, jer sam već napisao u ovom vodiču više detalja o tome kako radi ispod haube.
neki linkovi:
remoteme.org - početna stranica remoteme.org na kojoj se nalaze dokumentacija i vodiči
FB fanpage - Facebook fanpage najnovije informacije o remoteme.org
Youtube - neki video zapisi projekta, vodiči
Živjeli, Maciek
Preporučuje se:
Kako stvoriti web stranicu (korak-po-korak vodič): 4 koraka
Kako stvoriti web stranicu (korak-po-korak vodič): U ovom vodiču pokazat ću vam kako većina web programera gradi svoje web stranice i kako možete izbjeći skupe graditelje web stranica koji su često previše ograničeni za veće web stranice. pomoći će vam da izbjegnete neke greške koje sam učinio na početku
Robotski automobil s Bluetoothom, kamerom i MIT App Inventor2: 12 koraka (sa slikama)
Robotski automobil s Bluetoothom, kamerom i MIT App Inventor2: Jeste li ikada htjeli napraviti vlastiti robot automobil? Pa … ovo je tvoja šansa !! U ovom Instructableu ću vas upoznati sa načinom kako napraviti robotski automobil upravljan putem Bluetootha i MIT App Inventor2. Budite svjesni da sam tek početnik i da mi je ovo prvi instuc
Upravljajte uređajima putem interneta putem preglednika. (IoT): 6 koraka
Upravljajte uređajima putem interneta putem preglednika. (IoT): U ovom uputstvu ću vam pokazati kako možete kontrolirati uređaje poput LED dioda, releja, motora itd. Putem interneta putem web-preglednika. I možete sigurno pristupiti kontrolama sa bilo kojeg uređaja. Web platforma koju sam ovdje koristio je RemoteMe.org posjetite
Ciclop 3d skener Moj način Korak po korak: 16 koraka (sa slikama)
Ciclop 3d skener My Way Korak po korak: Zdravo svima, realizirat ću slavni Ciclop 3D skener. Svi koraci koji su dobro objašnjeni u originalnom projektu nisu prisutni. Prvo sam napravio neke popravke da pojednostavim proces Ispisujem bazu i zatim ponovno namještam PCB, ali nastavite
Napravite zadivljujuće makro slike sa bilo kojom kamerom na telefonu sa kamerom Posebno sa iPhoneom: 6 koraka
Snimite zadivljujuće makro slike sa bilo kojom kamerom na telefonu sa kamerom … Posebno sa iPhoneom: ikada ste hteli da napravite jednu od onih neverovatnih fotografija izbliza … onu koja kaže … WOW!? … sa kamerom telefona sa kamerom !? U osnovi, ovo je dodatak za povećanje za bilo koju kameru telefona s kamerom koja uvećava vaš postojeći objektiv kamere kako bi snimila