INHOUDSOPGAWE:
- Stap 1: 'n bietjie inligting oor App.remoteme.org
- Stap 2: Wat is nodig:
- Stap 3: Verbindings
- Stap 4: PCB
- Stap 5: PCB -uitsette
- Stap 6: Hoe dit gaan werk
- Stap 7: Montering van motors - wiele
- Stap 8: krag (AA herlaai batterye) Opsie 1/2
- Stap 9: Krag (Li-Po 7.2V-batterye) Opsie 2/2
- Stap 10: Soldeer
- Stap 11: kamera
- Stap 12: Onderdele van motors saamvoeg
- Stap 13: App.remoteme.org -opset
- Stap 14: RasbperryPi -konfigurasie
- Stap 15: Kontroleer verbindings
- Stap 16: Voeg Python Script by
- Stap 17: Kontroleer of Python -script suksesvol bygevoeg is
- Stap 18: Voeg webblad by Control Car
- Stap 19: Stel die webbladtoestel op om die motor 1/2 te beheer
- Stap 20: Stel die webbladtoestel op om die motor 2/2 te beheer
- Stap 21: Maak die motorbeheersentrum oop
- Stap 22: Kamerakonfigurasie 1/2
- Stap 23: Kamerakonfigurasie 2/2
- Stap 24: Ry 1/2
- Stap 25: Ry 2/2
- Stap 26: Hoe werk dit
- Stap 27: tablet, mobiele stuur
- Stap 28: Maak bladsy oop by selfoon
- Stap 29: Voeg Turn Server by
- Stap 30: Mobiele stuur
- Stap 31: Opsomming
Video: RasbperryPi -motor met FPV -kamera. Beheer deur die webblaaier: 31 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Ons bou 'n vierwielmotor - die stuur sal dieselfde wees as in 'n tenk - om een kant van die wiele te draai, draai dit met 'n ander spoed as die ander. By die motor sal die kamera op 'n spesiale houer geplaas word, waar ons die kamera se posisie kan verander. Die robot word beheer deur 'n webblaaier (chroom of firefox op die tafelblad, of firefox op die selfoon), in die blaaier, ons kry kameravideo (met slegs 200 ms vertraging), en vanuit die blaaier kan ons die motorbewegings en kameraposisie. Om die kommunikasie te vergemaklik, het ek die app.remoteme.org -stelsel gebruik, en daar word ook outomaties beheer van hierdie soort motors gedoen, dus hoef u nie u eie kode te skryf nie, maar u kan natuurlik die skrifte verander nuwe moontlikhede ens.
Kontroleer alle verbindings voordat u krag aan u PCB koppel
Stap 1: 'n bietjie inligting oor App.remoteme.org
Die stelsel bestaan uit drie dele
- webtoepassing - as u u beheerwebblaaie huisves en alle kommunikasie verbind word
- rasbperryPi -program - 'n program wat video stuur en u python -skrifte bestuur
- biblioteke waar u klasse, funksies definisies vind
Remoteme.org is vinnig stelsel U skakel al u toestelle saam, u kan u webblaaie daar huisves, u gekoppelde toestelle sien. Remoteme.org -stelsel is gemaak om u te help om u projekte te begin maak, sonder om bekommerd te wees oor protokolkommunikasie, die belangrikste idee is om binêre boodskappe te stuur tussen verskillende toestelle, soos 'n webblad, RasbeprryPI, arduino en skrifte.
Aan die ander kant gee Remoteme.org u volle beheer oor u lêers, u kan dit maklik verander deur u eie funksies te skryf
In hierdie handleiding sal ek jou wys hoe om 'n wonderlike projek volmaak te maak sonder om enige kode te skryf.
Aan die einde van hierdie tutoriaal het ek nuttige skakels geplaas wat u sal help om die remoteme.org -stelsel te verstaan.
Stap 2: Wat is nodig:
- Framboos PI Zero W
- Toegewyde kamera
- Adafruit 16 -kanaals 12 -bis PWM/Servo -bestuurder - I2C -koppelvlak - PCA9685 of die kloon daarvan
- Twee servomeganismes verenigbaar met die kamerahouer
- Kamera houer
- Batterye - In die tutoriaal twee verbindingsmoontlikhede
- H brug TB6612FNG, vir die bestuur van die wiele
- PCB-arendlêers Dit is maklik om dit termiese oordragmetode DC-DC te maak
- Step Down -omskakelingsmodule DC
- Robottas
Stap 3: Verbindings
Framboos pi -bedienings servomeganisme deur middel van PWM -module en motorsnelheid deur H -brug wat aan RasbperryPi -penne gekoppel is, PWM -invoer na H -brug word gegenereer deur dieselfde module as wat ek vir servo's gebruik het (watter dele wat ek hierbo noem, is nie nodig nie)
Stap 4: PCB
U kan PCB -arendlêers van hier af aflaai. Paaie is vet, so dit is maklik om dit deur middel van termiese oordragmetode te maak
Stap 5: PCB -uitsette
- PWM -invoer vir dryfmotors Moet gekoppel word aan PWM -module 15de en 16de penne (kyk groen reghoek by PWM -modulebeeld)
- Kraginvoer vir dryfmotors (kyk met watter maksimum spanning u motors kan werk)
- Krag vir RasbperryPi en PWM module - moet presies wees
- Aangedrewe motoruitsette (daar is twee uitsette omdat ons aandrywingsmotors sal koppel)
- Servomeganismes krag - ook U moet kyk watter spanning goed is vir hulle
- Die huidige krag van die 5de ingang sal die motor ook aandryf, dus hoef u niks aan ingang 2 te koppel nie
- Jas, indien teenwoordig, RasbperryPi sal die krag van die derde ingang hê - voordat die jumper hier geplaas word, kyk of die verbindings reg is - u wil nie u RPi verbrand nie
- Laat kabels hier soldeer, aangesien ons geen logiese omsetters nodig het nie
Stap 6: Hoe dit gaan werk
By RasbperryPi is daar 'n python -skrip wat twee biblioteke gebruik
- voer RPi. GPIO in as GPIO-vir penne 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM-notasie) wat aan die H-brug gekoppel is
- voer Adafruit_PCA9685 in vir PWM -module
Rpi-penne word soos volg verbind: 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) en die beheermodus van H-brug (vorentoe, agteruit, stop, kort onderbreking). H brug benodig ook twee PWM seine sodat ons die snelheid of motorrotasie kan beheer. Omdat ons by die projek reeds 'n PWM -beheerder het (gebruik vir servo), sal ons dit ook gebruik om PWM vir H -brug te genereer.
Die PWM -module gebruik I2C -kommunikasieprotokol. Ek het gebruik om uit die boks te werk Adafruit_PCA9685. biblioteek
Stap 7: Montering van motors - wiele
Ons begin met die aansluit van dryfmotors na die motorkas. Motors aan die linker- en sykant verbind aan mekaar, en albei word gekoppel aan 'n kragkabel wat later aan die PCB gekoppel sal word. Belangrike opmerking tydens die koppeling van motors moet wiele aan elke kant in dieselfde rigting draai.
Stap 8: krag (AA herlaai batterye) Opsie 1/2
Ek sal twee moontlikhede van krag skryf. Die eerste motor is van 10xAA herlaai batterye. Laastens het ek 'n prentjie getrek deur rooi kleure, wat geplaas moet word.
Stap 9: Krag (Li-Po 7.2V-batterye) Opsie 2/2
En die tweede opsie is 'n 7,2 LI-PO-battery. In hierdie geval het ons 3 spannings - 5v vir Rpi en module, 6V vir servo's en direk van batterye 7,2 volt vir dryfmotors. Ek moes twee afstapmodules gebruik
Opsie 2 met LI-PO is beter:
- Batterye het 'n groter kapasiteit - die motor sal langer ry
- Groter spanning vir dryfmotors - die motor sal vinniger ry
- Minder waarskynlikheid dat ons, nadat dryfmotors begin opspoor het, 'n groot spanningsval kan hê en RPI weer begin.
Stap 10: Soldeer
Ek het 'n paar afstandhouers vir die PWM -module op die PCB gesit. Daar is niks om te skryf nie, kyk na die beelde om alles saam te soldeer
Stap 11: kamera
Ons sluit die kamera aan, hier word geskryf hoe om die servomeganismes te sentreer voordat u dit in die kamerahouer monteer, maar die kortste manier is om die maksimum rotasieposisie saggies te kontroleer en servo's in die middelposisie te stel. Hierdie gesentreerde servomeganismes plaas ons in die kamerahouer in die middelste posisie (kamera wys reguit vorentoe, soos op die foto)
Stap 12: Onderdele van motors saamvoeg
Vir PCB het ek 'n klein plexiglas tafel gemaak
Stap 13: App.remoteme.org -opset
Ek het 'n gratis app.remoteme.org -stelsel gebruik, dit help u om verbindings te maak, en dit bevat reeds skrifte wat ons nodig het
In hierdie instruksies sal ek net stap vir stap wys wat u moet doen om motor te bestuur (hier vind u meer besonderhede)
- Sing op https://app.remoteme.org na aanmelding U sal outomaties aangemeld word
- maak die tabblad Token aan die linkerkant oop, klik dan op 'nuwe token', gee 'n naam en klik op OK, ons het pas 'n nuwe teken gemaak (prent op die skerm)
- in hierdie voorbeeld is die tokenwaarde: ~ 1_ & p@+BNnZ@A+x8 (joune sal anders wees;))
Stap 14: RasbperryPi -konfigurasie
op stopverfkonsole (hier is hoe ons ons RPi -kamera -I2c -kommunikasie kan opstel)
git kloon git: //github.com/remoteme/remoteme.git
cd -afstandbeheer
python3.5 install.py
- Instalator sal ons 'n paar vrae stel vir alles wat ons reageer en bevestig deur [enter]
- wanneer die installasie vra vir die teken, plak ons (shift+insert) token wat uit die toepassing gekopieer is en Enter
- die naam byvoorbeeld Rpi
- deviceId 1 Voer in
- na die installasie - voer die program uit
./runme.sh
Stap 15: Kontroleer verbindings
Kom ons gaan terug na
Op die oortjie -toestelle sal ons ons gekoppelde RPi sien (groen skakel -ikoon beteken dat RPi nou verbind is)
Stap 16: Voeg Python Script by
Nou sal ons 'n python -script byvoeg, dit is reeds by die sjablone, sodat ons niks hoef te programmeer nie.
Open die RasbperryPi -kieslys op die oortjie -toestelle en kies 'Voeg eksterne skrif by'.
As 'n nuwe venster verskyn, verskaf inligting soos op die prent hierbo
Moenie vergeet om die sjabloon "car4wd" te kies nie. Na hierdie stappe sal remoteme.org 'n python -script by ons RasbperryPi voeg en dit weer begin
Stap 17: Kontroleer of Python -script suksesvol bygevoeg is
Op die oortjie -oortjie moet 'n nuwe python -scripttoestel bygevoeg word, en die deviceId daarvan is 2. In hierdie toestel -ID -webbladsy sal boodskappe na die motor gestuur word
Stap 18: Voeg webblad by Control Car
Klik op die oortjie "New" en dan op "Webbladsy". Ons het net 'n ander toestel bygevoeg - 'n webbladsy, ons sal dit gebruik om ons motor te beheer. En omdat ons die sjabloon "car4wdDesktop" op die webblad gebruik het, is lêers reeds byna gereed om te gebruik
Stap 19: Stel die webbladtoestel op om die motor 1/2 te beheer
Brei webbladsy uit op die oortjie toestel en klik op index.html en dan oop
Stap 20: Stel die webbladtoestel op om die motor 2/2 te beheer
Die venster verskyn, dan moet ons deviceId van ons python -script verskaf by ons case deviceId is 2. Kom ons verander die plek in die prentjie
Stap 21: Maak die motorbeheersentrum oop
Dit is nou tyd om ons bladsy oop te maak en te sien hoe dit werk. Klik op die apparaat -oortjie op index.html en dan op "Maak oop in nuwe oortjie" Om 'n voorskou van video te kry, moet u Chrome of Firefox -blaaier gebruik, ander blaaier ondersteun webRTC nie volledig nie
Stap 22: Kamerakonfigurasie 1/2
As ons die muis na die videogebied beweeg, moet die kamera van posisie verander, en dit moet presies werk soos in FPS -speletjies. Dit sal waarskynlik nie reg beweeg nie
Stap 23: Kamerakonfigurasie 2/2
Maak script.js oop (tabblad toestelle brei webblad uit, klik dan op script.js en maak oop) en vind die plek wat ek op die skerm gewys het
in my geval is die middelste posisie 560 en 430, en die bewegingsreeks is vir beide as 200
U moet met hierdie getalle eksperimenteer, sodat u die kameraposisiesentrum en gladde bewegings kry. As u hierdie handleiding gebruik, kopieer u slegs gegewe waardes
Stap 24: Ry 1/2
As u die pyltjie op die sleutelbord ingedruk het, moet meters van posisie verander en die motor moet ry. As u op die pyltjie "op" druk en die motor draai, moet u minus byvoeg/verwyder op plekke op die skerm.
Na hierdie operasie moet die pyltjie na bo getref word, en die pyltjie af moet agteruit ry.
Stap 25: Ry 2/2
Draai nou - druk die pyl na links as die motor regs draai. U moet die kabels draai (kyk na die prent hierbo)
As u hierdie kabels soldeer, kan u dit verander op script.jsjust volgorde van stuur van motorsnelheid verander, voor:
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));
na:
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));
en nou moet u net soos 'n stap met minusse speel om dit korrek te laat werk;). en hou dit weer ingedruk
Stap 26: Hoe werk dit
Die webwerf stuur 'n 9-byte-boodskap na die python-script in die volgende formaat:
- 1 byte een byte heelgetalwaarde 1
- 2 grepe heelgetal X kameraposisie
- 2 grepe heelgetal Y kameraposisie
- 1 byte heelgetal linkermotormodus (3 = agteruit, 1 = vorentoe, 2 = stop)
- 1 byte heel getal motorsnelheid
- 1 byte heelgetal regtermotormodus (3 = agteruit, 1 = vorentoe, 2 = stop)
- 1 byte heelgetal regter motorsnelheid
die stuur van 'n boodskap word gemaak by die script.js -lêer by die funksie "sendNow ()"
by RasbperryPi kry python.py hierdie boodskap in funksie "onUserMessage"
U kan dit kyk en 'n bietjie speel sodat u weet wat aan die gang is.
klas funksies beskrywing hier
Stap 27: tablet, mobiele stuur
Ons voeg 'n nuwe webblad by soos ons die vorige keer gedoen het, maar nou kies ons die sjabloon "car4wdMobile"
Vervolgens konfigureer ons alles in script.js soos ons gedoen het vir tafelbladbeheerwebblad Die boodskapformaat is presies dieselfde, sodat ons nie die python.py -script hoef te verander nie.
Stap 28: Maak bladsy oop by selfoon
In plaas daarvan om vanaf u selfoon by u rekening aan te meld, moet u slegs 'n QR -URL soek.
besonderhede van QR hier
As u selfoonbeheer werk as RPi en selfoon op dieselfde wifi is, maar nie as u mobiele internet gebruik nie, moet u 'n draai -bediener byvoeg, hoe doen ek dit wat ek hier geskryf het
Stap 29: Voeg Turn Server by
Soms (as u agter NAT of sommige firewall -instellings is), kan u u robot nie van 'n ander netwerk koppel nie, dan is u robot gekoppel. Dit is nie 'n groot probleem nie, en dan moet u 'n draai -bediener byvoeg.
Ek het die bediener van die XIRSYS -onderneming getoets (dit is gratis vir ontwikkelaarsgebruik) en ek sal wys hoe om die bediener met die XIRSYS -stelsel op te stel
registreer:
global.xirsys.net/dashboard/signup
klik dan op "plus" om die toepassing by te voeg
regs onder "static turn credentials" U het alle data wat u benodig. Kopieer dit na die lêer webrtc_streamer.conf om dit te doen, gaan na
brei RaspberryPi -afdelings uit
klik op lêer webrtc_streamer.conf
klik oop
en voeg inligting by
turn_server = turn_username =
turn_credential =
nadat u klaar is met redigering, moet u iets soos die skerm hê.
klik dan op Stoor en herbegin U Rpi deur op die menu op die RasbperryPi -toestel te klik en herbegin te kies
Nadat die RPi -program herbegin is, kan u die video -voorskou op u selfoon sien, selfs as u 'n mobiele internet gebruik.
Stap 30: Mobiele stuur
in sirkel 1 plaas ons die linker duim, by 2 regs - hoef nie presies op hierdie punte te wees nie - die webblad sal die nulposisie stel net nadat u die skerm raak, en deur u duime te beweeg (links ry, regter kameraposisie) kan u beheer jou kar
Stap 31: Opsomming
Ek hoop dat u van hierdie tutoriaal gehou het, soos ek voorheen in hierdie tutoriaal geskryf het, meer inligting oor hoe dit onder die enjinkap werk.
'n paar skakels:
remoteme.org - tuisblad van remoteme.org daar U vind dokumentasies en tutoriale
FB fanpage - Facebook fanpage nuutste inligting oor remoteme.org
Youtube - 'n paar video's van projekte, tutoriale
Groete, Maciek
Aanbeveel:
Beheer deur die Blynk -app met behulp van Nodemcu via die internet: 5 stappe
Beheer deur die Blynk -app met behulp van Nodemcu via die internet: Hallo almal vandag, ons sal u wys hoe u 'n LED met 'n slimfoon via die internet kan beheer
Stuur data vanaf die webblaaier na die AskSensors IoT -platform: 6 stappe
Stuur data na die AskSensors IoT -platform vanuit die webblaaier: Ek het onlangs 'n instruksies geplaas wat 'n stap -vir -stap gids toon om 'n ESP8266 -knooppunt -MCU aan die AskSensors IoT -platform te koppel. Ek het terugvoer gekry van mense wat meer geïnteresseerd is in die AskSensors -platform, maar hulle het nie 'n node -MCU in die hand nie. Hierdie ek
ESP8266 -NODEMCU $ 3 WiFi -module #2 - draadlose penne wat deur die WEBBLADSYN beheer word: 9 stappe (met foto's)
ESP8266 -NODEMCU $ 3 WiFi -module #2 - Draadlose penne wat deur middel van 'n WEBBLAD beheer word: 'n Nuwe wêreld van hierdie mikrorekenaars het aangebreek en hierdie ding is die ESP8266 NODEMCU. Dit is die eerste deel wat wys hoe u die omgewing van die esp8266 in u arduino IDE kan installeer deur die aanvangsvideo en as die dele in
Hoe om die temperatuur van die bierfermentasie en die swaartekrag van u slimfoon te beheer: 4 stappe (met foto's)
Hoe om die temperatuur van die bierfermentasie en -gravitasie vanaf u slimfoon te beheer: as bier fermenteer, moet u die erns en temperatuur daarvan daagliks monitor. Dit is maklik om te vergeet om dit te doen, en as u weg is, is dit onmoontlik. Na 'n bietjie gegoogle het ek verskeie oplossings gevind vir outomatiese swaartekragmonitering (een, twee, drie). Een van die
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek