Sadržaj:
- Korak 1: Neke informacije o App.remoteme.org
- Korak 2: Što je potrebno:
- Korak 3: Veze
- Korak 4: PCB
- Korak 5: PCB izlazi
- Korak 6: Kako ide na posao
- Korak 7: Sklapanje automobila - kotači
- 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: Konfiguracija RasbperryPi
- Korak 15: Provjerite veze
- Korak 16: Dodavanje Python skripte
- Korak 17: Provjerite je li Python skripta uspješno dodana
- Korak 18: Dodavanje web stranice kontrolnom automobilu
- Korak 19: Konfigurirajte uređaj WebPage za upravljanje automobilom 1/2
- Korak 20: Konfigurirajte uređaj WebPage za upravljanje automobilom 2/2
- Korak 21: Otvorite Centar za upravljanje automobilom
- 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 to funkcionira
- Korak 27: Tablet, mobilno upravljanje
- Korak 28: Otvorite stranicu na mobilnom telefonu
- Korak 29: Dodavanje poslužitelja skretanja
- Korak 30: Mobilno upravljanje
- Korak 31: Sažetak
Video: RasbperryPi automobil s FPV kamerom. Upravljanje putem web preglednika: 31 korak (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Napravit ćemo automobil s 4 pogona - upravljanje će biti slično kao u spremniku - okretanje jedne strane kotača rotirat će se različitom brzinom od druge. Kod automobila bit će 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. Kako bih olakšao komunikaciju, upotrijebio sam sustav app.remoteme.org, također se radi i izvan okvira za upravljanje ovom vrstom automobila, tako da ne morate pisati vlastiti kôd, ali naravno možete izmijeniti skripte i dodati nove mogućnosti itd.
Prije priključivanja napajanja na PCB, provjerite sve veze
Korak 1: Neke informacije o App.remoteme.org
Sustav ima tri dijela
- webapplication - kada hostirate svoje kontrolne web stranice i povezuje svu komunikaciju
- rasbperryPi program - program koji šalje video zapise, upravlja vašim python skriptama
- knjižnice 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. Sustav Remoteme.org napravljen je kako bi vam pomogao da počnete stvarati svoje projekte, 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 jednostavno izmijeniti ispisujući vlastitu funkcionalnost
U ovom tutorijalu pokazat ću vam kako napraviti nevjerojatan projekt gotovo bez pisanja koda.
Na kraju ovog vodiča stavio sam korisne veze koje će vam pomoći razumjeti sustav remoteme.org.
Korak 2: Što je potrebno:
- Malina PI Zero W
- Namjenska kamera
- Adafruit 16 -kanalni 12 -bitni PWM/servo upravljački program - I2C sučelje - PCA9685 ili njegov klon
- Dva servo mehanizma kompatibilna s držačem kamere
- Držač za kameru
- Baterije - U vodiču dvije mogućnosti povezivanja
- H most TB6612FNG, za upravljanje nagibom kotača
- PCB eagle datoteke Lako je napraviti način toplinskog prijenosa DC-DC
- Step Down pretvarački modul DC
- Robotsko kućište
Korak 3: Veze
Servo mehanizam za upravljanje malinom pi preko PWM modula i brzine motora pomoću H mosta koji je spojen na RasbperryPi pinove, ulaz PWM na H most generira isti modul koji sam koristio za servomotore (za koje dijelove gore spominjem nisu potrebni logički pretvarači)
Korak 4: PCB
Datoteke s PCB eagle -a možete preuzeti odavde. Putovi su debeli pa je to lako napraviti metodom toplinskog prijenosa
Korak 5: PCB izlazi
- PWM ulaz za pogonske motore trebao bi biti spojen 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 toč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 također će pokretati motore pa 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 knjižnice
- uvoz RPi. GPIO kao GPIO-za pinove 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (oznaka BCM) koji su spojeni na H most
- uvoz Adafruit_PCA9685 za PWM modul
Rpi pinovi povezani su na sljedeći način 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) i način upravljanja H mosta (naprijed, natrag, zaustavljanje, kratki prekid). H mostu trebaju 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), koristit ćemo ga i za generiranje PWM -a za H most.
PWM modul koristi I2C komunikacijski protokol. Koristio sam rad iz kutije Adafruit_PCA9685. knjižnica
Korak 7: Sklapanje automobila - kotači
Počet ćemo od povezivanja pogonskih motora s kućištem automobila. Lijevi/bočni motor spojeni su zajedno, a oba se para spajaju na neki kabel za napajanje koji će kasnije biti spojen na PCB. Važna napomena prilikom povezivanja 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 iz 10xAA punjivih baterija. Zadnju sliku nacrtao sam kratkospojnicima 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 izravno iz baterija 7,2 V za pogonske motore. Morao sam koristiti dva stupanjska modula
Opcija 2 s 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 ponovno pokrenuti.
Korak 10: Lemljenje
Stavio sam na PCB neke razmaknice za PWM modul. Nema se što napisati, samo pogledajte slike kako sve spojiti
Korak 11: Kamera
spajamo 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č fotoaparata 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 sustav app.remoteme.org koji vam pomaže u povezivanju i već ima skripte koje su nam potrebne
Na ovom uputstvu samo ću korak po korak pokazati što bi trebalo učiniti kako bi vožnja automobilom (ovdje ćete pronaći više detalja)
- Pjevajte na https://app.remoteme.org nakon registracije Automatski ćete se prijaviti
- otvorite karticu Token s lijeve strane, zatim kliknite "novi token" unesite neki naziv i kliknite U redu, Upravo smo stvorili novi token (slika na ekranu)
- u ovom primjeru vrijednost tokena je: ~ 1_ & p@+BNnZ@A+x8 (vaša će biti drugačija;))
Korak 14: Konfiguracija RasbperryPi
na konzoli kit (ovdje kako postaviti naš RPi uključite kameru I2c komunikaciju)
git klon git: //github.com/remoteme/remoteme.git
cd remoteme
python3.5 install.py
- Instalacijski program postavit će nam 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 ponovno je pokrenuti
Korak 17: Provjerite je li Python skripta uspješno dodana
Na kartici uređaja trebao bi se dodati novi Python skriptni uređaj, a njegov ID uređaja je 2. Na ovaj uređaj Id web stranica će slati poruke upravljačkom automobilu
Korak 18: Dodavanje web stranice kontrolnom automobilu
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 uređaj WebPage za upravljanje automobilom 1/2
Proširite WebPage na kartici uređaja i kliknite index.html, a zatim Otvori
Korak 20: Konfigurirajte uređaj WebPage za upravljanje automobilom 2/2
Pojavljuje se prozor tada moramo unijeti deviceId naše python skripte u našem slučaju deviceId je 2. Promijenimo mjesto prikazano na slici
Korak 21: Otvorite Centar za upravljanje automobilom
Sada je vrijeme da otvorimo našu stranicu i vidimo kako radi. Na kartici uređaja kliknite index.html, a zatim "Otvori na novoj kartici" Za pregled videa Morate koristiti preglednik Chrome ili Firefox, drugi preglednik ne podržava potpuno webRTC
Korak 22: Konfiguracija kamere 1/2
Kad pomičemo miša na video područje, kamera bi trebala promijeniti položaj i trebala bi raditi točno kao u FPS igrama. Vjerojatno 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 tipkovnici, 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 i dolje sa strelicom.
Korak 25: Vožnja 2/2
Sada se okrećete - pritisnite strelicu ulijevo ako automobil skreće udesno Morate prevrnuti kabele (provjerite gornju sliku)
Ako ste lemili ove kabele, možete ih promijeniti na script.js, samo promijenite redoslijed brzine slanja 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 kako bi ispravno radio;). Kao što ste vjerojatno primijetili nakon udarca sa strelicom, automobil ne vozi punom brzinom kako bi se automobil brže kretao, samo brzo pustite strelicu prema gore kada je u maksimalnom položaju i ponovno pritisnite i držite
Korak 26: Kako to funkcionira
Web stranica šalje poruke poruke devetog bajta u 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 = zaustavljanje)
- 1 bajt cijeli broj okretaja lijevog motora
- 1 bajt cjelobrojni desni način rada motora (3 = unatrag, 1 = naprijed, 2 = zaustavljanje)
- 1 bajt cijeli broj desne brzine motora
slanje poruke vrši se u datoteci script.js na funkciji "sendNow ()"
na RasbperryPi python.py dobiva ovu poruku u funkciji "onUserMessage"
Možete to 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 upravljanje radnom površinom. 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 mobitela, samo skenirajte QR bilo koji url.
pojedinosti o QR -u ovdje
Ako vaša mobilna kontrola radi kada su RPi i mobitel na istom wifi -ju, ali ne radi ako koristite mobilni internet, morate dodati turn server, kako to učiniti napisao sam ovdje
Korak 29: Dodavanje poslužitelja skretanja
Ponekad (kada ste iza NAT -a ili nekih postavki vatrozida) 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 poslužitelj tvrtke XIRSYS (besplatan je za razvojne programere) i pokazat ću kako konfigurirati poslužitelj skretanja pomoću sustava XIRSYS
Registar:
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širiti RaspberryPi deivces
kliknite datoteku webrtc_streamer.conf
kliknite otvoriti
i dodati podatke
turn_server = turn_username =
turn_credential =
nakon što završite uređivanje trebali biste imati nešto poput na ekranu.
zatim kliknite Spremi i ponovno pokrenite svoj Rpi, klikom na izbornik na uređaju RasbperryPi i odaberite ponovno pokretanje
Nakon ponovnog pokretanja programa RPi na svom mobilnom telefonu možete vidjeti pregled videa čak i ako koristite mobilni internet.
Korak 30: Mobilno upravljanje
u krug 1 stavljamo palac lijevo, na 2 desno - ne mora biti točno na ovom mjestu - web stranica će postaviti nulti položaj odmah nakon što dodirnete zaslon, a pomicanjem palca (vožnja lijevo, položaj kamere desno) možete kontrolirati tvoj automobil
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 tamo možete pronaći dokumentaciju i vodiče
FB fanpage - Facebook fanpage najnovije informacije o remoteme.org
Youtube - neki video zapisi projekta, vodiči
Živjeli, Maciek
Preporučeni:
Upravljanje Led putem aplikacije Blynk pomoću Nodemcua putem interneta: 5 koraka
Upravljanje LED -om putem aplikacije Blynk pomoću Nodemcua putem Interneta: Pozdrav svima Danas ćemo vam pokazati kako možete upravljati LED diodom pomoću pametnog telefona putem interneta
Kako napraviti mobilni automobil na daljinsko upravljanje putem Bluetootha: 4 koraka
Kako napraviti mobilni automobil na daljinsko upravljanje putem Bluetootha: Kako napraviti mobilni automobil na daljinsko upravljanje putem Bluetootha | Indijski LifeHacker
Kako izraditi web stranicu (korak-po-korak vodič): 4 koraka
Kako izraditi 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 vam da izbjegnete neke greške koje sam učinio kad sam počeo
Upravljajte uređajima putem interneta putem preglednika. (IoT): 6 koraka
Upravljajte uređajima putem interneta putem preglednika. (IoT): U ovom Instructableu pokazat ću vam kako možete upravljati uređajima poput LED-a, releja, motora itd. Putem interneta putem web-preglednika. I možete sigurno pristupiti kontrolama s bilo kojeg uređaja. Web platforma koju sam ovdje koristio je RemoteMe.org posjet
Kako napraviti automobil na daljinsko upravljanje kod kuće na jednostavan način - DIY bežični RC AUTOMOBIL: 7 koraka
Kako napraviti auto na daljinsko upravljanje kod kuće na jednostavan način - DIY bežični RC CAR: Pozdrav prijatelji, u ovom uputstvu pokazat ću vam kako na jednostavan način napraviti daljinski upravljani automobil, nastavite čitati …… Ovo je zaista super projekt pa pokušajte ga izgraditi