Përmbajtje:
- Hapi 1: Disa informacione rreth App.remoteme.org
- Hapi 2: Çfarë nevojitet:
- Hapi 3: Lidhjet
- Hapi 4: PCB
- Hapi 5: Rezultatet e PCB
- Hapi 6: Si do të funksionojë
- Hapi 7: Montimi i makinave - Rrota
- Hapi 8: Fuqia (bateri rimbushëse AA) Opsioni 1/2
- Hapi 9: Fuqia (Li-Po 7.2V Bateri) Opsioni 2/2
- Hapi 10: Saldimi
- Hapi 11: Kamera
- Hapi 12: Vendosja e Pjesëve të Makinave së bashku
- Hapi 13: Konfigurimi i App.remoteme.org
- Hapi 14: Konfigurimi i RasbperryPi
- Hapi 15: Kontrollimi i lidhjeve
- Hapi 16: Shtimi i Python Script
- Hapi 17: Kontrolloni nëse Skripti Python u shtua me sukses
- Hapi 18: Shtimi i Uebfaqes te Control Car
- Hapi 19: Konfiguroni pajisjen e uebfaqes për të kontrolluar makinën 1/2
- Hapi 20: Konfiguroni pajisjen e faqes në internet për të kontrolluar makinën 2/2
- Hapi 21: Hapni Qendrën e Kontrollit të Makinave
- Hapi 22: Konfigurimi i kamerës 1/2
- Hapi 23: Konfigurimi i kamerës 2/2
- Hapi 24: Drejtimi i makinës 1/2
- Hapi 25: Drejtimi i makinës 2/2
- Hapi 26: Si funksionon
- Hapi 27: Tablet, Drejtimi celular
- Hapi 28: Hapni faqen në telefonin celular
- Hapi 29: Shtimi i Turn Server
- Hapi 30: Drejtimi celular
- Hapi 31: Përmbledhje
Video: Makinë RasbperryPi Me Kamera FPV. Kontrolli nga Shfletuesi i Uebit: 31 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Ne do të ndërtojmë makinë 4wd - drejtimi do të jetë i ngjashëm si në një rezervuar - për të kthyer njërën anë të rrotave do të rrotullohet me shpejtësi të ndryshme nga tjetra. Në makinë do të vendoset kamera në mbajtës të veçantë ku mund të ndryshojmë pozicionin e kamerës. Roboti do të kontrollohet nga shfletuesi i uebit (krom ose firefox në desktop, ose firefox në celular), në shfletues, Ne do të marrim video të kamerës (me vonesë vetëm 200ms), dhe nga shfletuesi, ne mund të kontrollojmë lëvizjet e makinës dhe pozicioni i kamerës. Për ta bërë më të lehtë komunikimin, unë kam përdorur sistemin app.remoteme.org, gjithashtu po punohet jashtë kutisë që kontrollon këtë lloj makine, kështu që nuk keni pse të shkruani kodin tuaj, por sigurisht që mund të modifikoni skriptet mundësi të reja etj.
Para se të lidhni energjinë me PCB -në tuaj, ju lutemi kontrolloni dy herë të gjitha lidhjet
Hapi 1: Disa informacione rreth App.remoteme.org
Sistemi ka tre pjesë
- webapplication - kur ju mbani faqet e internetit të kontrollit tuaj dhe lidh të gjithë komunikimin
- program rasbperryPi - program i cili dërgon video, menaxhoni skriptet tuaja python
- bibliotekat ku gjeni klasa, përkufizime funksionesh
Remoteme.org është i shpejtë në sistem Ju lidhni të gjitha pajisjet tuaja së bashku, Ju mund të strehoni atje Faqet tuaja të internetit, shikoni pajisjet tuaja të lidhura. Sistemi Remoteme.org u krijua për t'ju ndihmuar të filloni të bëni projektet tuaja, pa u shqetësuar për komunikimin protokoll, ideja kryesore është të dërgoni mesazhe binare para pajisjeve të ndryshme, si faqe në internet, RasbeprryPI, arduino dhe skripte.
Nga ana tjetër Remoteme.org ju jep kontroll të plotë të skedarëve tuaj, ju mund ta lehtësoni modifikimin e tij duke shkruar funksionalitetin tuaj
Në këtë tutorial do t'ju tregoj se si të bëni një projekt të mrekullueshëm pa u shkruar asnjë kod.
Në fund të këtij tutoriali kam vendosur lidhje të dobishme të cilat do t'ju ndihmojnë të kuptoni sistemin remoteme.org.
Hapi 2: Çfarë nevojitet:
- Mjedër PI Zero W
- Kamera e dedikuar
- Adafruit 16 -Channel 12 -bit PWM/Servo Driver - ndërfaqe I2C - PCA9685 ose kloni i tij
- Dy mekanizma servo të pajtueshëm me mbajtësin e kamerës
- Mbajtës i kamerës
- Bateritë - Në tutorial dy mundësi lidhjeje
- H urë TB6612FNG, për të kontrolluar lëvizjen e rrotave
- Skedarët e shqiponjës PCB easyshtë e lehtë të bëhet metoda e transferimit termik DC-DC
- Moduli i konvertuesit Step Down DC
- Rast robot
Hapi 3: Lidhjet
Mekanizmi servo i kontrollit Raspberry pi përmes modulit PWM dhe shpejtësisë së motorit me urën H e cila është e lidhur me kunjat RasbperryPi, hyrja PWM në urën H gjenerohet nga i njëjti modul që kam përdorur për servos (të cilat pjesët i përmenda më lart nuk nevojiten konvertorë logjikë)
Hapi 4: PCB
Ju mund të shkarkoni skedarët e shqiponjës PCB nga këtu Rrugët janë të trasha kështu që është e lehtë të bëhet me metodën e transferimit termik
Hapi 5: Rezultatet e PCB
- Hyrja PWM për motorët e vozitjes Duhet të jetë e lidhur me kunjat e modulit 15 dhe 16 të PWM (kontrolloni drejtkëndëshin e gjelbër në imazhin e modulit PWM)
- Hyrja e energjisë për motorët me makinë (kontrolloni se me cilin tension maksimal mund të punojnë motorët tuaj)
- Fuqia për modulin RasbperryPi dhe PWM - duhet të jetë saktësisht
- Daljet e motorit të makinës (ka dy dalje sepse ne do të çiftojmë motorë me makinë)
- Fuqia e Mekanizmave Servo - gjithashtu Ju duhet të kontrolloni se cili tension është i mirë për ta
- Jumper fuqia e tij aktuale nga hyrja e 5 -të do të fuqizojë edhe motorët, kështu që nuk ka nevojë të lidhni asgjë me hyrjen 2
- Jumper nëse është i pranishëm RasbperryPi do të jetë energji nga hyrja e tretë - para se të vendosni bluzën këtu kontrolloni nëse lidhjet janë në rregull - Ju nuk doni të digjni RPi tuaj
- Lejoni të bashkoni kabllot këtu pasi nuk kemi nevojë për konvertues logjikë
Hapi 6: Si do të funksionojë
Në RasbperryPi ekziston një shkrim python i cili përdor dy biblioteka
- importoni RPi. GPIO si GPIO-për kunjat 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (shënimi BCM) të cilët janë të lidhur me urën H
- importoni Adafruit_PCA9685 për modulin PWM
Kunjat Rpi janë të lidhur si më poshtë 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) dhe mënyra e kontrollit të urës H (përpara, prapa, ndalese, pushim i shkurtër). Ura H ka nevojë edhe për dy sinjale PWM kështu që ne mund të kontrollojmë shpejtësinë ose rrotullimin e motorit. Për shkak se në projekt ne tashmë kemi kontrollues PWM (përdoret për servo) ne do ta përdorim atë gjithashtu për të gjeneruar PWM për urën H.
Moduli PWM përdor protokollin e komunikimit I2C. Unë kam përdorur punën jashtë kutisë Adafruit_PCA9685. librari
Hapi 7: Montimi i makinave - Rrota
Ne do të fillojmë nga lidhja e motorëve të vozitjes në kutinë e makinës. Motorët anësorë të majtë/anës lidhen së bashku, dhe të dy palët, lidhen me ndonjë kabllo të energjisë e cila më vonë do të lidhet me PCB. Shënim i rëndësishëm kur lidhni rrotat e motorëve në secilën anë duhet të rrotullohen në të njëjtin drejtim.
Hapi 8: Fuqia (bateri rimbushëse AA) Opsioni 1/2
Unë do të shkruaj dy mundësi të energjisë Makina e parë është nga bateritë e rimbushjes 10xAA
Hapi 9: Fuqia (Li-Po 7.2V Bateri) Opsioni 2/2
Dhe opsioni i dytë është bateria 7.2 LI-PO. Në këtë rast morëm 3 tensione - 5v Për Rpi dhe modul, 6V për servos dhe drejtpërdrejt nga bateritë 7.2 volt për motorët e vozitjes. Më duhej të përdorja dy module hap pas hapi
Opsioni 2 me LI-PO është më i mirë:
- Bateritë kanë kapacitet më të madh - makina do të ecë më gjatë
- Tension më i madh për motorët me makinë - makina do të lëvizë më shpejt
- Më pak probabilitet që pasi motorët e vozitjes të fillojnë të lokalizohen mund të kemi rënie të madhe të tensionit dhe RPI të riniset.
Hapi 10: Saldimi
Unë kam vënë në PCB disa ndarës për modulin PWM. Nuk ka asgjë për të shkruar, thjesht shikoni imazhet se si të bashkoni gjithçka së bashku
Hapi 11: Kamera
ne e lidhim kamerën, këtu writtenshtë shkruar se si të qendërzoni servo Mekanizmat para se të montoheni në mbajtësen e kamerës, por mënyra më e shkurtër është të kontrolloni butësisht manualisht pozicionin maksimal të rrotullimit dhe të vendosni servot në pozicionin qendror. Këta mekanizma servo të përqendruar i vendosim në mbajtësen e kamerës në pozicionin qendror (kamera po tregon drejt përpara si në foto)
Hapi 12: Vendosja e Pjesëve të Makinave së bashku
Për PCB kam bërë tavolinë të vogël pleksiglasi
Hapi 13: Konfigurimi i App.remoteme.org
Unë kam përdorur sistemin pa pagesë app.remoteme.org që ju ndihmon të krijoni lidhje, dhe ai tashmë ka skriptet për të cilat kemi nevojë
Në këtë udhëzues, unë thjesht do të tregoj hap pas hapi se çfarë duhet bërë për të bërë vozitje me makinë (këtu do të gjeni më shumë detaje)
- Këndoni në https://app.remoteme.org pasi të regjistroheni Do të regjistroheni automatikisht
- hapni skedën Token në të majtë, pastaj klikoni "shenja e re" jepni një emër dhe klikoni OK, Ne thjesht krijuam një shenjë të re (imazhi në ekran)
- në këtë shembull, vlera simbolike është: ~ 1_ & p@+BNnZ@A+x8 (e juaja do të jetë e ndryshme;))
Hapi 14: Konfigurimi i RasbperryPi
në tastierë stuko (këtu si të vendosni RPi tonë të aktivizojë komunikimin e kamerës I2c)
git klon git: //github.com/remoteme/remoteme.git
cd telekomandë
python3.5 install.py
- Instaluesi do të na bëjë disa pyetje për të gjithë që ne i përgjigjemi [Y] es dhe i konfirmojmë me [enter]
- kur instalimi do të kërkojë shenjë ne ngjisim (shift+insert) shenjën e kopjuar nga aplikacioni dhe Enter
- emri për shembull Rpi
- pajisjaId 1 Enter
- pas instalimit - ekzekutoni programin
./runme.sh
Hapi 15: Kontrollimi i lidhjeve
Le të kthehemi në
Në skedën e pajisjeve do të shohim RPi -në tonë të lidhur (ikona e lidhjes së gjelbër do të thotë që RPi është e lidhur tani)
Hapi 16: Shtimi i Python Script
Tani do të shtojmë shkrimin python, i cili tashmë është në modele, kështu që nuk kemi pse të programojmë asgjë.
Në skedën e pajisjeve hapni menunë RasbperryPi dhe zgjidhni "Shto skript të jashtëm".
Kur të shfaqet dritarja e re siguroni informacion si në figurën e mësipërme
Mos harroni të zgjidhni modelin "car4wd". Pas këtyre hapave, remoteme.org do të shtojë shkrimin python në RasbperryPi -n tonë dhe do ta rinisë atë
Hapi 17: Kontrolloni nëse Skripti Python u shtua me sukses
Në skedën e pajisjeve duhet të shtohet një pajisje e re e shkrimit python dhe pajisja e saj është 2. Në këtë pajisje, faqja e internetit Id do të dërgojë mesazhe për të kontrolluar makinën
Hapi 18: Shtimi i Uebfaqes te Control Car
në skedën e pajisjeve klikoni "E Re" pastaj "Faqja e Internetit". Ne thjesht shtojmë një pajisje tjetër - faqen në internet që do ta përdorim për të kontrolluar makinën tonë. Dhe për shkak se ne përdorëm shabllonin "car4wdDesktop" në faqen në internet tashmë janë skedarë pothuajse gati për t'u përdorur
Hapi 19: Konfiguroni pajisjen e uebfaqes për të kontrolluar makinën 1/2
Zgjero faqen në skedën e pajisjes dhe kliko index.html pastaj Hap
Hapi 20: Konfiguroni pajisjen e faqes në internet për të kontrolluar makinën 2/2
Dritarja shfaqet atëherë ne duhet të sigurojmë pajisjenId të shkrimit tonë python në pajisjen tonë të rastitId është 2. Le të ndryshojmë vendin e treguar në imazh
Hapi 21: Hapni Qendrën e Kontrollit të Makinave
Tani është koha për të hapur faqen tonë dhe për të parë se si funksionon. Në skedën e pajisjes klikoni index.html dhe më pas "Hap në skedën e re" Për të marrë pamjen paraprake të videos Duhet të përdorni shfletuesin Chrome ose Firefox, shfletuesi tjetër nuk e mbështet plotësisht webRTC
Hapi 22: Konfigurimi i kamerës 1/2
Kur lëvizim miun në zonën e videos kamera duhet të ndryshojë pozicionin dhe duhet të funksionojë saktësisht si në lojërat FPS. Ndoshta nuk do të lëvizë si duhet
Hapi 23: Konfigurimi i kamerës 2/2
Hapni script.js (skeda e pajisjeve zgjeroni uebfaqen pastaj klikoni në script.js pastaj hapeni) dhe gjeni vendin që tregova në ekran
në rastin tim pozicioni qendror është 560 dhe 430 dhe diapazoni i lëvizjeve është për të dy akset 200
Ju duhet të eksperimentoni me këta numra në mënyrë që të merrni qendrën e pozicionit të kamerës dhe lëvizjet e qetë, Nëse e keni përdorur këtë tutorial thjesht kopjoni vlerat e dhëna të ngjitura
Hapi 24: Drejtimi i makinës 1/2
Nëse shtypni shigjetën lart në tastierë, matësit duhet të ndryshojnë pozicionet dhe makina duhet të ngasë. Nëse shtypni shigjetën "lart" dhe makina po kthehet, atëherë duhet të shtoni/hiqni minus në vendet në ekran.
Pas këtij operacioni pas goditjes shigjeta "lart" makina duhet të lëvizë përpara dhe makina me shigjetë duhet të ecë prapa.
Hapi 25: Drejtimi i makinës 2/2
Tani duke u kthyer - goditni shigjetën e majtë nëse makina kthehet djathtas Ju duhet të rrokullisni kabllot (kontrolloni imazhin më lart)
Nëse i lidhni këto kabllo, mund ta ndryshoni në skript. Thjesht ndryshoni rendin e dërgimit të shpejtësisë së motorëve, para:
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));
pas:
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));
dhe tani Ju duhet të luani me minuset si një hap më parë për ta bërë atë të funksionojë si duhet;). Siç e keni vënë re me siguri pasi shigjeta e goditur nuk po ecën me makinë me shpejtësi të plotë për ta bërë makinën të lëvizë më shpejt, vetëm lëshoni shpejt shigjetën lart kur është në pozicionin maksimal dhe shtypeni dhe mbajeni përsëri
Hapi 26: Si funksionon
Faqja e internetit po dërgon mesazhe mesazhi 9-bajtësh në python script në formatin:
- 1 bajt një byte vlerë e plotë 1
- 2 bajt numër i plotë X pozicioni i kamerës
- 2 bajt i plotë Y pozicioni i kamerës
- Modaliteti motorik i majtë 1 bajt i majtë (3 = prapa, 1 = përpara, 2 = ndalesë)
- 1 bajt i plotë shpejtësia e majtë e motorit
- Modaliteti motorik i djathtë 1 bajt i plotë (3 = prapa, 1 = përpara, 2 = ndalesë)
- Shpejtësi e plotë e motorit të drejtë 1 bajt
dërgimi i mesazhit bëhet në skedarin script.js në funksionin "sendNow ()"
në RasbperryPi python.py po e merr këtë mesazh në funksion "onUserMessage"
Mund ta shikoni dhe të luani pak në mënyrë që ta dini se çfarë po ndodh.
Përshkrimi i funksioneve të klasës këtu
Hapi 27: Tablet, Drejtimi celular
Ne shtojmë një faqe të re në internet pa interes siç kemi bërë herën e kaluar, por tani ne zgjedhim modelin "car4wdMobile"
Tjetra, ne konfigurojmë gjithçka në script.js siç bëmë për uebfaqen e kontrollit të desktopit Formati i mesazhit është saktësisht i njëjtë kështu që ne nuk kemi pse të ndryshojmë shkrimin python.py.
Hapi 28: Hapni faqen në telefonin celular
Në vend që të identifikoheni në llogarinë tuaj nga celulari, thjesht skanoni një url QR të çdo lloji.
detajet e QR këtu
Nëse kontrolli juaj celular funksionon kur RPi dhe celulari janë në të njëjtin wifi, por jo nëse përdorni internet celular, atëherë duhet të shtoni serverin e kthesës, si ta bëni atë që kam shkruar këtu
Hapi 29: Shtimi i Turn Server
Ndonjëherë (kur jeni prapa NAT ose disa cilësime të firewall) Ju nuk mund ta lidhni robotin tuaj nga një rrjet tjetër atëherë roboti juaj është i lidhur. Nuk është çështje e madhe dhe më pas Ju duhet të shtoni serverin e kthesës.
Unë kam testuar serverin nga kompania XIRSYS (është falas për përdorim nga zhvilluesit) dhe do të tregoj se si të konfiguroni serverin e kthesës duke përdorur sistemin XIRSYS
regjistrohu:
global.xirsys.net/dashboard/signup
pastaj kliko "plus" për të shtuar aplikacionin
në të djathtë nën "kredencialet e kthesës statike" Ju keni të gjitha të dhënat që ju nevojiten. Kopjojeni në skedar webrtc_streamer.conf për ta bërë këtë shkoni te
zgjeroni Deivces RaspberryPi
kliko skedarin webrtc_streamer.conf
kliko hapur
dhe shtoni informacion
turn_server = turn_username =
kredencialet e kthesës =
pasi të keni përfunduar redaktimin Duhet të keni diçka si në ekran.
pastaj klikoni Ruaj dhe rinisni You Rpi, duke klikuar menunë në pajisjen RasbperryPi dhe zgjidhni rinisjen
Pas rifillimit të programit RPi Ju mund të shihni pamjen paraprake të videos në telefonin tuaj celular edhe nëse jeni duke përdorur internetin celular.
Hapi 30: Drejtimi celular
në rrethin 1 vendosim gishtin e madh të dorës së majtë, në 2 djathtas - nuk duhet të jeni pikërisht në këto pika - uebfaqja do të vendosë pozicionin zero menjëherë pasi të prekni ekranin, dhe duke lëvizur gishtërinjtë tuaj të mëdhenj (ngarje majtas, pozicioni i djathtë i kamerës) Ju mund të kontrolloni makina juaj
Hapi 31: Përmbledhje
Shpresoj se ju ka pëlqyer ky tutorial, siç kam shkruar më parë në këtë tutorial ka më shumë detaje se si funksionon nën kapuç.
disa lidhje:
remoteme.org - faqja kryesore e remoteme.org atje Ju gjeni dokumente dhe mësime
Fanpage e FB - Faqja e Facebook -ut inflacioni më i ri në lidhje me remoteme.org
Youtube - disa video të projektit, mësime
Gezuar, Maciek
Recommended:
Dërgoni të dhëna në Platformën IoT AskSensors Nga Shfletuesi i Uebit: 6 hapa
Dërgoni të dhëna në Platformën IoT AskSensors Nga Shfletuesi i Uebit: Unë kam postuar kohët e fundit një udhëzues që tregon një udhëzues hap pas hapi për të lidhur një MCU nyje ESP8266 me Platformën IoT AskSensors. Mora disa reagime nga njerëz më të interesuar në platformën AskSensors, por ata nuk kanë një MCU nyje në dorë. Kjo une
LED i kontrolluar nga interneti duke përdorur serverin e uebit të bazuar në ESP32: 10 hapa
LED i kontrolluar nga Interneti duke përdorur Web Serverin e bazuar në ESP32: Vështrim i përgjithshëm i projektitNë këtë shembull, ne do të kuptojmë se si të bëjmë një server në internet të bazuar në ESP32 për të kontrolluar gjendjen LED, e cila është e arritshme nga kudo në botë. Ju do të keni nevojë për një kompjuter Mac për këtë projekt, por mund ta përdorni këtë softuer edhe në një i
Kontrolli i ekranit LED me 7 segmente duke përdorur serverin e uebit ESP8266: 8 hapa (me fotografi)
Kontrolli i ekranit LED me 7 segmente duke përdorur Web Serverin ESP8266: Projekti im ka një Nodemcu ESP8266 i cili po kontrollon një ekran me 7 segmente përmes serverit http duke përdorur formën html
Wi-Servo: Servomotorët e kontrolluar nga shfletuesi Wi-fi (me Arduino + ESP8266): 5 hapa
Wi-Servo: Servomotorët e kontrolluar nga shfletuesi Wi-fi (me Arduino + ESP8266): Ky udhëzues tregon se si të kontrolloni disa servomotorë në distancë në një rrjet wi-fi, duke përdorur një shfletues të zakonshëm të internetit (për shembull, Firefox). Kjo mund të përdoret në disa aplikacione: lodra, robotë, dronë, tigan/kamera, etj. Motorët ishin
Krijimi i një programi në Visual Basic: Shfletuesi i uebit: 9 hapa
Krijimi i një programi në Visual Basic: Shfletuesi i Uebit: Ky Instructable shpjegon procesin e krijimit të një aplikacioni të thjeshtë të shfletuesit të uebit në VB.NETI është krijuar si një vazhdim i VB.NET -it tim të parë Instructable: Krijimi i Programit tuaj të Parë në Visual Basic. Rekomandohet që ta lexoni atë inst