Sisukord:
- Samm 1: Teavet App.remoteme.org kohta
- 2. samm: mida on vaja:
- Samm: ühendused
- Samm: PCB
- Samm: PCB väljundid
- 6. samm: kuidas see töötab
- 7. samm: auto kokkupanek - rattad
- 8. samm: toide (AA -laadimispatareid) Valik 1/2
- 9. samm: toide (7,2 V Li-Po akud) Valik 2/2
- 10. samm: jootmine
- 11. samm: kaamera
- 12. samm: autode osade kokku panemine
- Samm 13: App.remoteme.org seadistamine
- 14. samm: RasbperryPi seadistamine
- Samm: ühenduste kontrollimine
- 16. samm: Pythoni skripti lisamine
- 17. samm: kontrollige, kas Pythoni skript on edukalt lisatud
- 18. samm: veebisaidi lisamine auto juhtimisse
- 19. samm: seadistage veebisaidi seade auto juhtimiseks 1/2
- Samm 20: seadistage WebPage'i seade auto juhtimiseks 2/2
- Samm: avage auto juhtimiskeskus
- 22. samm: kaamera konfiguratsioon 1/2
- Samm 23: Kaamera seadistamine 2/2
- 24. samm: sõitmine 1/2
- 25. samm: sõitmine 2/2
- 26. samm: kuidas see töötab
- 27. samm: tahvelarvuti, mobiilne juhtimine
- Samm: avage leht mobiiltelefonis
- Samm 29: Turn Serveri lisamine
- 30. samm: mobiilne juhtimine
- 31. samm: kokkuvõte
Video: RasbperryPi auto koos FPV kaameraga. Juhtimine veebibrauseri kaudu: 31 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Ehitame 4wd auto - roolimine on sarnane nagu paagis - rataste ühe külje pööramine pöörleb erineva kiirusega kui teine. Auto juurde pannakse kaamera spetsiaalsele hoidikule, kus saame kaamera asukohta muuta. Robotit kontrollib veebibrauser (lauaarvutis Chrome või Firefox või mobiiltelefonis Firefox), brauseris saame kaameraga videot (ainult 200 ms latentsusaega) ning brauserist saame kontrollida auto liikumist ja kaamera asend. Suhtlemise hõlbustamiseks olen kasutanud süsteemi app.remoteme.org, kus on ka seda tüüpi autode juhtimine, nii et te ei pea oma koodi kirjutama, kuid muidugi saate skripte muuta uued võimalused jne.
Enne PCB -ga toite ühendamist kontrollige kindlasti kõiki ühendusi
Samm 1: Teavet App.remoteme.org kohta
Süsteem koosneb kolmest osast
- veebirakendus - kui hostite oma kontrollveebilehti ja see seob kogu suhtluse
- programm rasbperryPi - programm, mis saadab videot, haldab teie pythoni skripte
- teegid, kust leiate klassi, funktsioonide definitsioonid
Remoteme.org on süsteemi kiire. Linkite kõik oma seadmed omavahel, saate seal oma veebisaite majutada, vaadata ühendatud seadmeid. Süsteem Remoteme.org on loodud selleks, et aidata teil alustada oma projektide tegemist, muretsemata protokollisuhtluse pärast, peamine idee on saata binaarsõnumeid erinevate seadmete, näiteks veebilehtede, RasbeprryPI, arduino ja skriptide vahel.
Teisest küljest annab Remoteme.org teile täieliku kontrolli oma failide üle, saate seda hõlpsalt muuta, kirjutades oma funktsioone
Selles õpetuses näitan teile, kuidas teha mõni äge projekt ilma koodi kirjutamata.
Selle õpetuse lõpus olen pannud kasulikke linke, mis aitavad teil remoteme.org süsteemi mõista.
2. samm: mida on vaja:
- Vaarika PI Zero W
- Spetsiaalne kaamera
- Adafruit 16 -kanaliline 12 -bitine PWM/servo draiver - I2C liides - PCA9685 või selle kloon
- Kaks servomehhanismi ühilduvad kaamerahoidjaga
- Kaamerahoidja
- Patareid - Õpetuses kaks ühendamisvõimalust
- H sild TB6612FNG, rattaotsiku juhtimiseks
- PCB kotkafailid Seda on lihtne muuta soojusülekande meetodiks DC-DC
- Alandage muunduri moodul DC
- Robotiümbris
Samm: ühendused
Vaarika pi juhtimisservo mehhanism PWM -mooduli kaudu ja mootori kiirus H -silla kaudu, mis on ühendatud RasbperryPi tihvtidega, PWM -sisendi H -sillale genereerib sama moodul, mida kasutasin servode jaoks (milliseid osi ma eespool mainisin, pole loogikamuundureid vaja)
Samm: PCB
Siit saate PCB kotka faile alla laadida. Teed on paksud, nii et seda on lihtne soojusülekande meetodil teha
Samm: PCB väljundid
- PWM -sisend ajamimootoritele Tuleb ühendada PWM -mooduli 15. ja 16. tihvtiga (kontrollige rohelist ristkülikut PWM -mooduli pildil)
- Jõuallikas ajamimootoritele (kontrollige, millise maksimaalse pingega teie mootorid töötavad)
- RasbperryPi ja PWM mooduli toide - peab olema täpselt
- Ajammootori väljundid (on kaks väljundit, kuna ühendame ajamimootorid paariks)
- Servomehhanismide võimsus - samuti peate kontrollima, milline pinge neile sobib
- Jumper praegune võimsus viiendast sisendist käivitab ka mootoreid, nii et pole vaja sisendiga 2 midagi ühendada
- Jumper, kui see on olemas RasbperryPi saab toidet kolmandast sisendist - enne hüppaja siia panemist kontrollige, kas ühendused on korras - te ei soovi oma RPi põletada
- Jootame siin kaableid, kuna me ei vaja loogikamuundureid
6. samm: kuidas see töötab
RasbperryPi -l on pythoni skript, mis kasutab kahte raamatukogu
- importige RPi. GPIO GPIO-na-tihvtide 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM märge) jaoks, mis on ühendatud H-sillaga
- importige PWM -mooduli jaoks Adafruit_PCA9685
RPI tihvtid on ühendatud järgmiselt 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) ja H-silla juhtimisrežiim (edasi, tagasi, seiskamine, lühike paus). H -sild vajab ka kahte PWM -signaali, et saaksime juhtida kiirust või mootori pöörlemist. Kuna projekti käigus on meil juba PWM -kontroller (kasutatakse servo jaoks), kasutame seda ka H -silla jaoks PWM -i genereerimiseks.
PWM moodul kasutab I2C sideprotokolli. Olen kasutanud karbist välja töötamist Adafruit_PCA9685. raamatukogu
7. samm: auto kokkupanek - rattad
Alustame ajamimootorite ühendamisest autoümbrisega. Vasakpoolsed/külgmised mootorid ühenduvad omavahel ja mõlemad ühendatakse mõne toitekaabliga, mis hiljem ühendatakse trükkplaadiga. Oluline märkus mootorite ühendamisel peavad kummalgi küljel rattad pöörlema samas suunas.
8. samm: toide (AA -laadimispatareid) Valik 1/2
Kirjutan kaks võimsusvõimalust Auto esimene on 10xAA laadimispatareidest. Viimasel pildil olen joonistanud punased värvid, mis tuleb panna.
9. samm: toide (7,2 V Li-Po akud) Valik 2/2
Ja teine võimalus on 7,2 LI-PO aku. Sel juhul saime 3 pinget - 5v Rpi ja mooduli jaoks, 6V servodele ja otse akudest 7,2 volti ajamimootoritele. Pidin kasutama kahte astmelist moodulit
Variant 2 koos LI-PO-ga on parem:
- Patareid on suurema mahutavusega - auto sõidab kauem
- Suurem pinge ajamimootoritele - auto sõidab kiiremini
- Väiksem tõenäosus, et pärast ajamimootorite paiknemist võib meil olla tohutu pingelangus ja RPI taaskäivitub.
10. samm: jootmine
Panin PCB -le mõned PWM -mooduli vahekaugused. Pole midagi kirjutada, vaadake pilte, kuidas kõike kokku joota
11. samm: kaamera
me ühendame kaamera, siin on kirjutatud, kuidas servomehhanisme tsentreerida enne kaamerahoidikusse paigaldamist, kuid lühim viis on maksimaalse pöörlemisasendi õrn käsitsi kontrollimine ja servode seadmine keskasendisse. Need tsentreeritud servomehhanismid panime kaamerahoidikusse keskmisesse asendisse (kaamera osutab otse edasi nagu fotol)
12. samm: autode osade kokku panemine
PCB jaoks olen teinud väikese pleksiklaasist laua
Samm 13: App.remoteme.org seadistamine
Olen kasutanud tasuta app.remoteme.org süsteemi, mis aitab teil ühendusi luua ja sellel on juba vajalikud skriptid
Selles juhendis näitan ma samm -sammult, mida tuleks autosõidu tegemiseks teha (siit leiate lisateavet)
- Laulge pärast registreerumist saidil https://app.remoteme.org. Teid logitakse automaatselt sisse
- avage vasakul vahekaart Token, seejärel klõpsake „uus žetoon”, andke mõni nimi ja klõpsake nuppu OK, lõime just uue märgi (pilt ekraanil)
- selles näites on sümboolne väärtus: ~ 1_ & p@+BNnZ@A+x8 (teie oma on erinev;))
14. samm: RasbperryPi seadistamine
kittkonsoolis (siit saate teada, kuidas seadistada meie RPi, lülitage kaamera I2c side sisse)
git kloon git: //github.com/remoteme/remoteme.git
cd kaugseade
python3.5 install.py
- Instalator esitab meile mõned küsimused kõigi vastuste korral ja kinnitab [enter]
- kui installimine küsib märki, kleepime (vahetus+sisestamine) rakendusest kopeeritud märgi ja sisestusklahvi
- nimi näiteks Rpi
- deviceId 1 Sisestage
- pärast installimist - käivitage programm
./runme.sh
Samm: ühenduste kontrollimine
Läheme tagasi saidile
Vahekaardil Seadmed näeme meie ühendatud RPi (roheline lingiikoon tähendab, et RPi on praegu ühendatud)
16. samm: Pythoni skripti lisamine
Nüüd lisame pythoni skripti, mis on juba mallide juures, nii et me ei pea midagi programmeerima.
Avage seadmete vahekaardil RasbperryPi menüü ja valige "Lisa väline skript".
Kui ilmub uus aken, esitage teave nagu ülaltoodud pildil
Ärge unustage valida malli "car4wd". Pärast neid samme lisab remoteme.org meie RasbperryPi -le pythoni skripti ja taaskäivitab selle
17. samm: kontrollige, kas Pythoni skript on edukalt lisatud
Vahekaardile Seadmed tuleks lisada uus pythoni skriptiga seade ja selle seadme ID on 2. Selle seadme ID veebisait saadab sõnumeid auto juhtimiseks
18. samm: veebisaidi lisamine auto juhtimisse
seadmete vahekaardil klõpsake "Uus" ja seejärel "Veebileht". Lisame lihtsalt teise seadme - veebilehe, mida kasutame oma auto juhtimiseks. Ja kuna me kasutasime veebilehel malli "car4wdDesktop", on failid juba peaaegu kasutamiseks valmis
19. samm: seadistage veebisaidi seade auto juhtimiseks 1/2
Laiendage vahekaardil Seade WebPage ja klõpsake index.html ning seejärel Ava
Samm 20: seadistage WebPage'i seade auto juhtimiseks 2/2
Ilmub aken, siis peame esitama seadme puldi skripti deviceId meie puhul deviceId on 2. Muudame pildil näidatud kohta
Samm: avage auto juhtimiskeskus
Nüüd on aeg avada meie leht ja vaadata, kuidas see töötab. Vahekaardil Seade klõpsake nuppu index.html ja seejärel „Ava uuel vahelehel“Video eelvaate saamiseks peate kasutama Chrome'i või Firefoxi brauserit, teiste brauser ei toeta täielikult webRTC -d
22. samm: kaamera konfiguratsioon 1/2
Kui liigutame hiirt videopiirkonnas, peaks kaamera asendit muutma ja see peaks toimima täpselt nagu FPS -mängudes. Tõenäoliselt ei liigu see õigesti
Samm 23: Kaamera seadistamine 2/2
Avage script.js (vahekaart Seadmed laiendage veebilehte, seejärel klõpsake käsku script.js, seejärel avage) ja leidke koht, mida ekraanil näitasin
minu juhtumi keskpunktis on 560 ja 430 ning liigutuste ulatus on mõlema telje jaoks 200
Peate nende numbritega katsetama, et saaksite kaamera positsiooni keskpunkti ja sujuvat liikumist. Kui kasutasite seda õpetust, kopeerige lihtsalt kleebitud antud väärtused
24. samm: sõitmine 1/2
Kui vajutate klaviatuuril ülesnoolt, peaksid näidikud asendit muutma ja auto peaks sõitma. Kui vajutate "üles" noolt ja auto pöörleb, peate ekraani kohtades miinuse lisama/eemaldama.
Pärast seda toimingut peaks pärast ülesnoolt vajutamist auto sõitma ette ja alla noolega auto tagasi.
25. samm: sõitmine 2/2
Nüüd pöörates - vajutage vasakule noolele, kui auto pöörab paremale. Peate kaablid ümber pöörama (vaadake ülaltoodud pilti)
Kui joote need kaablid, saate seda muuta saidil script.js. Lihtsalt muutke mootorite kiiruse saatmise järjekorda, enne:
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));
pärast:
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));
ja nüüd peate mängima miinustega, nagu üks samm enne, et see korralikult töötaks;). Nagu te ilmselt märkasite pärast löögiklaasi üles sõitmist, ei sõida auto täiskiirusel, et auto kiiremini liikuda, vaid vabastage ülesnool, kui see on maksimaalses asendis ja hoidke seda uuesti all
26. samm: kuidas see töötab
Veebileht saadab 9-baidiseid sõnumeid pythoni skripti vormingus:
- 1 bait üks bait täisarv 1
- 2 baiti täisarv X kaamera asukoht
- 2 baiti täisarvuline Y kaamera asukoht
- 1 bait täisarv vasak mootorirežiim (3 = tagasi, 1 = edasi, 2 = seiskamine)
- 1 bait täisarv vasakpoolne mootori kiirus
- 1 bait täisarvuline parempoolne mootorirežiim (3 = tagasi, 1 = edasi, 2 = seiskamine)
- 1 bait täisarv parem mootori kiirus
sõnum saadetakse failis script.js funktsioonis "sendNow ()"
aadressil RasbperryPi saab python.py selle sõnumi funktsiooni "onUserMessage"
Saate seda vaadata ja natuke mängida, nii et teate, mis toimub.
klassi funktsioonide kirjeldus siin
27. samm: tahvelarvuti, mobiilne juhtimine
Lisame uue veebisaidi suurepäraselt nagu eelmisel korral, kuid nüüd valime malli "car4wdMobile"
Järgmisena konfigureerime kõik skriptis.js, nagu tegime töölaua juhtimise veebilehe puhul. Sõnumivorming on täpselt sama, nii et me ei pea skripti python.py muutma.
Samm: avage leht mobiiltelefonis
Mobiiltelefonilt oma kontole sisselogimise asemel skannige lihtsalt anonüümne QR -aadress.
QR -i üksikasjad leiate siit
Kui teie mobiilikontroll töötab, kui RPi ja mobiil on samal wifi -l, kuid ei tööta, kui kasutate mobiilset internetti, peate lisama pöördeserveri, kuidas seda teha, olen siin kirjutanud
Samm 29: Turn Serveri lisamine
Mõnikord (kui olete NAT -i või mõne tulemüüri sätte taga) ei saa te oma robotit teisest võrgust ühendada, siis on teie robot ühendatud. See pole suur probleem ja siis peate lisama pöördeserveri.
Olen testinud XIRSYS ettevõtte serverit (see on arendajatele tasuta kasutamiseks) ja näitan, kuidas pöördserverit XIRSYS süsteemi abil konfigureerida
Registreeri:
global.xirsys.net/dashboard/signup
seejärel klõpsake rakenduse lisamiseks "pluss"
paremal "Staatilise pöörde mandaat" all Teil on kõik vajalikud andmed. Selleks kopeerige see faili webrtc_streamer.conf, minge aadressile
laiendada RaspberryPi deivse
klõpsake faili webrtc_streamer.conf
klõpsake avatud
ja lisage teavet
turn_server = turn_username =
turn_credential =
pärast redigeerimise lõpetamist peaks ekraanil olema midagi sarnast.
seejärel klõpsake nuppu Salvesta ja taaskäivitage You Rpi, klõpsates RasbperryPi seadme menüül ja seejärel taaskäivitage
Pärast RPi programmi taaskäivitamist näete oma mobiiltelefonis video eelvaadet isegi siis, kui kasutate mobiilset internetti.
30. samm: mobiilne juhtimine
ringil 1 asetame vasaku pöidla, 2 paremale - ei pea olema täpselt selles kohas - veebileht seab kohe pärast puuteekraani puudutamist nulli ja pöidlaid liigutades (vasakpoolne sõit, kaamera parem asend) sinu Auto
31. samm: kokkuvõte
Loodan, et teile meeldis see õpetus, nagu ma selles õpetuses varem kirjutasin, on rohkem teavet selle kohta, kuidas see kapoti all töötab.
mõned lingid:
remoteme.org - saidi remoteme.org koduleht Leiate dokumentatsiooni ja õpetusi
FB fännileht - Facebooki fännilehe uusim teave remoteme.org kohta
Youtube - mõned projektivideod, õpetused
Tervist, Maciek
Soovitan:
Juhtimine Blynk -rakenduse kaudu Nodemcu abil Interneti kaudu: 5 sammu
LED -i juhtimine Blynk -rakenduse kaudu Interneti kaudu Nodemcu abil: Tere kõigile, täna näitame teile, kuidas saate LED -i juhtida Interneti kaudu nutitelefoni abil
Klaasist kivist LED -toru (WiFi kaudu juhitav nutitelefonirakenduse kaudu): 6 sammu (koos piltidega)
Klaasist kivist LED-toru (WiFi kaudu juhitav nutitelefonirakenduse kaudu): Tere kaastegijad! Selles juhendatavas näitan teile, kuidas ehitada WiFi-juhitav LED-toru, mis on klaasikividega täidetud, et saada kena difusiooniefekt. Valgusdioodid on individuaalselt adresseeritavad ja seetõttu on mõned head efektid võimalikud
ESP8266 RGB LED -riba WIFI juhtimine - NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu - RGB LED STRIP nutitelefoni juhtimine: 4 sammu
ESP8266 RGB LED -riba WIFI juhtimine | NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu | RGB LED STRIP nutitelefoni juhtimine: Tere poisid, selles õpetuses õpime, kuidas kasutada nodemcu või esp8266 IR -kaugjuhtimispuldina, et juhtida RGB LED -riba ja Nodemcu saab juhtida nutitelefoniga WiFi kaudu. Nii et põhimõtteliselt saate oma nutitelefoniga juhtida RGB LED -riba
Seadmete juhtimine Interneti kaudu brauseri kaudu. (IoT): 6 sammu
Seadmete juhtimine Interneti kaudu brauseri kaudu. (IoT): Selles juhendis näitan teile, kuidas saate veebibrauseri kaudu Interneti kaudu juhtida selliseid seadmeid nagu LED-id, releed, mootorid jne. Ja pääsete juhtelementidele turvaliselt juurde mis tahes seadme kaudu. Veebiplatvorm, mida ma siin kasutasin, on RemoteMe.org külastus
RC auto juhtimine veebiliidese kaudu: 6 sammu (piltidega)
RC -auto juhtimine veebiliidese kaudu: Hei sõbrad, selles juhendis õpetan teid veebiliidese kaudu RC -autot valmistama. Me juhime seda juhtmevabalt oma serveri kaudu. Kasutades teile näidatavat meetodit, ei pea me kasutama RC -vastuvõtjat. Veebi hostimiseks