INHOUDSOPGAWE:

DIY digitale ervaring sonder liggaam: 6 stappe
DIY digitale ervaring sonder liggaam: 6 stappe

Video: DIY digitale ervaring sonder liggaam: 6 stappe

Video: DIY digitale ervaring sonder liggaam: 6 stappe
Video: Zo installeer je de Next Mini | Monteur Jordi helpt 2024, Julie
Anonim
DIY digitale ervaring sonder liggaam
DIY digitale ervaring sonder liggaam

In hierdie handleiding leer u hoe u 'n stelsel kan bou waarmee u kan sien asof u êrens anders is. Ek het hierdie digitale ervaring sonder liggaam genoem, want die eerste keer dat ek aan hierdie stelsel gedink het, was toe ek joga beoefen het, en ek het gedink dat dit baie interessant sou wees om te oefen terwyl ek myself met 'n 3D -beeld sien, soos in sommige videospeletjies. Uiteindelik het ek ook gedink dat dit 'n interessante instrument kan wees om na te dink oor die nie-self, om myself van buite af te bekyk, as 'n hulpmiddel om my 'n entjie te neem en bloot my gedagtes, emosies en gevoelens waar te neem. Maar die beginner -yogi en mediteerder in my was nie die regte mense om my met hierdie projek te laat weglei nie. Uiteindelik is dit die speler/speler wat ek gedink het dat hierdie projek 'n goeie stap sou wees in die rigting van die bou van 'n mobiele robot wat deur die eerste persoon-aansig beheer word, om 'n soort van 'n eerste robot-wedrenne te maak!

Stap 1: Dinge wat u benodig

Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
Dinge wat jy nodig het
  1. 2x Raspberry Pi 3 model B, elk toegerus met 'n kamera en kabelmaat (15 cm en 30 cm)
  2. 'N Batteryskerm, 2 batterye en 'n usb-na 2xmini-USB-kabel om aan te sluit op die Framboos (ek het 'n dubbele 10650-batteryskerm met USB-uitgang, 2xLiitoKala Lii-35A 18650-batterye en hierdie kabel gebruik)
  3. 240x140x5mm stuk MDF -hout (of enige ander hout wat versoenbaar is met lasersnyer)
  4. Toegang tot 'n lasersnyer
  5. M2 skroewe en boute
  6. 'N Rekenaar met luislang
  7. 'N Slimfoon met chroom
  8. 'N Google -karton of enige ander stelsel waarmee u VR -ervaring van u telefoon kan kry (ek het die ednet Virtual Reality Brille wat versoenbaar is met 'n telefoon met 'n afmeting van tot 159,2 mm x 75,2 mm van wat ek gelees het)

Stap 2: Kry die Rapsberry Pi om 'n lewendige video op te neem en te deel

Laat ons eers seker maak dat ons Pi -kamera die framboos Pi aangesluit het. Klaar? Dit was die hardeware -deel van hierdie stap. Kom ons gaan voort met die sagtewaregedeelte.

Met betrekking tot die sagte, as u in my geval is en u geen bedryfstelsel op u PI geïnstalleer het nie en dat u geen ekstra sleutelbord, muis en skerm het nie, laat ons raspbian lite hier aflaai en volg die eenvoudige stappe wat hier beskryf word: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… As alles goed verloop het, is u Pi nou gekoppel aan u WIFI, weet u sy ip-adres en is u daaraan gekoppel via ssh.

Met behulp van ssh, laat ons die Pi deel wat hy sien. Hiervoor gebruik ons UV4L. Volg hiervoor die stappe op die volgende webblad: https://raspberry-valley.azurewebsites.net/UV4L/. As u klaar is met die opstelling van UV4L soos beskryf in die skakel, moet u nou die regstreekse video van u framboos op u rekenaar kan sien. Gaan hiervoor na u blaaier op die adres https:// raspberryip: 8080/stream, en vervang "raspberryip" deur die ip van die framboospi wat u deur lanScan gevind het.

Dit is nou een van ons twee "oë". Wat van die ander? Óf ons herhaal dieselfde proses, óf ons kloon wat op ons framboospi is, na 'n ander SD -kaart. Om meer te wete te kom oor die tweede opsie, kan u hierdie github nagaan:

En nou ja, jy moet jou twee framboospi nou hul regstreekse videostroom op die plaaslike netwerk laat deel! Ons het oë uit die weg geruim, laat ons nou hierdie klein strabisme -probleem oplos en laat ons klein stelsel draagbaar maak!

Stap 3: Maak dit draagbaar: Lasersny en monteer

Maak dit draagbaar: laser sny en monteer
Maak dit draagbaar: laser sny en monteer
Maak dit draagbaar: laser sny en monteer
Maak dit draagbaar: laser sny en monteer
Maak dit draagbaar: laser sny en monteer
Maak dit draagbaar: laser sny en monteer

Om die kamerastelsel draagbaar te maak, het ek 'n houtstruktuur ontwerp waarop ek die framboos Pis, die kameras en die batteryskerm kan skroef. Die ontwerp is hier aangeheg as 'n svg -lêer. Miskien moet u die skroefposisies van die batterykleed verander, afhangende van u skerm en/of die ontwerp, afhangende van die dikte van u hout.

Sodra jy alles afgesny het:

  1. Monteer die kameras aan die linkerkant van die ontwerp (8 M2 skroewe van 5 mm, 8 M2 skroewe van 8 mm en 8 boute van 8 mm)
  2. Monteer die batteryskerm (4 M2 skroewe van 5 mm, 4 M2 skroewe van 8 mm en 4 boute van 8 mm)
  3. Monteer die framboos pi "cluster" soos op die foto hierbo getoon (4 M2 skroewe van 5 mm, 4 M2 skroewe van 8 mm, 4 boutjies van 5 mm of meer, 4 21 mm boute). Let wel: ek het nie 21 mm boute gehad nie, so ek het myne met 16 boute en 5 boutjies vir vroulike mannetjies.

Waarskuwing: die lengte van die boute wat hier gedefinieer word, kan verander word; die enigste ding is om seker te maak dat die afstand tussen die framboos -pis groot genoeg is om geen kortsluiting te kry nie …

Laai u litiumbatterye op met die mini-usb-aansluiting, en monteer die houtstuk saam soos op die foto hierbo getoon. U is gereed om u batteryskerm aan die frambose te koppel! En nie meer ssh-ing is nodig nie, sodra ons die framboos pi aanskakel, deel dit nou die videostroom aanlyn sodra dit begin danksy UV4L. Transmissie verby!

Stap 4: Visualiseer die stereobeeld

Visualiseer die stereobeeld
Visualiseer die stereobeeld

Nou het ons twee beeldstrome wat toeganklik is via die plaaslike netwerk; ons het gesien dat ons dit individueel kan sien met die adres https:// raspberryip {1, 2}/stream/in 'n blaaier. Kan ons dus probeer om twee bladsye in ons blaaier oop te maak? Nee, ons sal nie! 1. Dit sou te lelik kom, 2. dit sou nie werk nie, aangesien die skerm na 'n geruime tyd sou gaan slaap! Hierdie stap sal u wys hoe u hierdie probleme oplos.

Kom ons kyk eers wat agter die adres was wat voorheen gebruik is. As u die html -kode van die oopgemaakte bladsy nagaan, sien u dat die stroom wat op die bladsy verskyn, bestaan uit 'n

tag met die bron gedefinieer as https://raspberryip/stream/video.mjpeg. As gevolg hiervan kan die laaste stap redelik eenvoudig wees. Een manier kan wees om 'n Android -app met twee Webviews te programmeer om die beeldstroom te wys, 'n baie eenvoudiger manier is om 'n plaaslike bediener op ons rekenaar te bestuur wat 'n html -bladsy bedien, soortgelyk aan "https:// raspberryip/stream/" behalwe dat dit u in staat sal stel om beide strome in plaas van een te sien, en om die toestel wakker te hou.

Hoe stel ons so 'n bediener op? Niks eenvoudiger met luislang nie. Skep 'n gids waarin u die lêers index.txt en NoSleep.txt plaas wat u sal hernoem as index.html en NoSleep.js. Soek in index.html na die twee

tags en vervang die framboos ips met joune. Dit sal die html -bladsy wees wat ons twee beeldstrome wys met die javascript sodat dit wakker kan bly. Nou wil u hierdie bladsy toeganklik maak vir u selfoon, waar python handig is: plaas die lêer server.py in dieselfde gids en begin die script met die opdrag python server.py (let op dat hierdie script verenigbaar is met python 3 As u python 2 gebruik, moet u server.py wysig en socketserver vervang deur SocketServer).

Dit is alles, u het toegang tot die stereostroom vanaf elke toestel met 'n blaaier wat aan u plaaslike netwerk gekoppel is. Probeer dit, kry die ip van u rekenaar en maak https:// computerip: 8080 oop. U kan waarskynlik drie dinge opmerk:

  • Dit is wonderlik ons is amper daar!
  • Dit is nie op volskerm nie,
  • Dit gaan uiteindelik slaap.

Hoekom ? Soos u hier kan lees, benodig die funksie om die slaapmodus te aktiveer 'n dummy-aksie. Om hierdie noodsaaklikheid te respekteer, het ek 'n klik op die eerste prent aan hierdie funksie gekoppel. As gevolg hiervan, klik eenvoudig op die eerste prentjie, en u sal 'n waarskuwing sien wat aandui dat slaap nie geaktiveer is nie en dat die bladsy ook op volle skerm moet wees.

Dis dit! U moet nou u telefoon in u VR -headset kan sit en kyk wat voor u Pi's aangaan! Of is dit dit?

Stap 5: Maak dinge gladder

As u Pi's en u netwerk soortgelyk is aan myne, kan dit wat u in u koptelefoon sien, 'n bietjie ongemaklik wees, aangesien daar sterk vertragings kan wees. Om hierdie werklike probleem op te los, om regtig af te sluit met 'n gladde stelsel. Hoe om die vertraging op te los? Ek het eenvoudig geraai dat die probleem kan ontstaan as gevolg van die intydse kompressie van die Pi's wat te berekeningsintensief is, óf deur die draadlose verbinding waaroor ek sou twyfel. Hoe dan ook, om dit op te los, kan u iets baie eenvoudig doen, naamlik om die resolusie en bitrate waarmee u beelde op die Pi's verkry en gekodeer word, te verminder.

Om die parameters te verander, kom terug na u terminale en meld u aan by u Raspberry Pi's. UV4L gebruik 'n konfigurasie lêer. Hierdie lêer is /etc/uv4l/uv4l-raspicam.conf. Tik die opdrag sudo nano /etc/uv4l/uv4l-raspicam.conf om dit te wysig. U kan nou die breedte, hoogte en kwantisering instel soos u wil. Ek het die waardes breedte = 320, hoogte = 240 en kwantisasie = 40 gebruik en 'n gladde transmissie gekry.

Stap 6: Geniet dit

Die enigste ding wat u nou moet doen, is om die stelsel op te stel waar u dit wil hê, u telefoon in u karton te sit en u joga -sessie, meditasie, bierpong saam met u vriende te doen, of wat ook al! Miskien het u 'n rukkie (1 of 2 minute) nodig om aan die kamerarigting gewoond te raak, wat aanvanklik sal voel asof u skielik 'n strabismusprobleem het. Een manier om vinnig daaraan gewoond te raak, is om eers op nabye voorwerpe te fokus en dan verder te gaan.

Ek het aan 'n paar uitbreidings gedink wat interessant kan wees:

  • maak dit moontlik om buite u huis te sien, dit wil sê dat die stroom buite u plaaslike netwerk toeganklik is.
  • sit dit op 'n mobiele robotplatform om drone -wedrenne te doen!

As onderwyser dink ek dat hierdie projek interessant kan wees om meer te wete te kom oor:

  • Die framboos Pi, wat is die basiese komponente van 'n rekenaar, wat is 'n bedryfstelsel,
  • Algemene netwerkbegrippe, met plaaslike en eksterne IP, die HTTP -protokol,
  • HTML en javascript.

Ek hoop dat hierdie opdrag wat my eerste was, duidelik genoeg is sonder om te swaar te lees.

Aanbeveel: