Indholdsfortegnelse:

DIY Digital Out of Body Experience: 6 trin
DIY Digital Out of Body Experience: 6 trin

Video: DIY Digital Out of Body Experience: 6 trin

Video: DIY Digital Out of Body Experience: 6 trin
Video: skibidi toilet multiverse 023 bloopers 2024, Juli
Anonim
DIY Digital Out of Body Experience
DIY Digital Out of Body Experience

I denne vejledning lærer du, hvordan du opbygger et system, der giver dig mulighed for at se, som om du var et andet sted. Jeg kaldte dette digital ud af kroppen -oplevelse, fordi den første gang, jeg tænkte på dette system, var, da jeg dyrkede yoga, og jeg tænkte, at det ville være meget interessant at øve, mens jeg så mig selv med 3d personvisning, som i nogle videospil. Til sidst tænkte jeg også, at det kunne være et interessant middel til at meditere over ikke-jeget, se mig selv udefra, som et redskab til at hjælpe mig med at tage et stykke afstand og blot observere mine tanker, følelser og følelser. Men den begyndende yogi og meditator i mig var ikke de rigtige mennesker til at få mig til at rive med på dette projekt. Til sidst er det den spiller/spiller, jeg er, der troede, at dette projekt ville være et dejligt trinvis skridt i retning af at bygge en mobil robot, der styres gennem førstepersonsvisning, for at lave en slags mobil robot first-view racing!

Trin 1: Ting du skal bruge

Ting du skal bruge
Ting du skal bruge
Ting du skal bruge
Ting du skal bruge
Ting du skal bruge
Ting du skal bruge
  1. 2xRaspberry Pi 3 model B hver udstyret med et kamera og kabelmåling (15 cm og 30 cm)
  2. Et batteriskærm, 2 batterier og usb til 2xmini-USB-kabel til tilslutning til Raspberry's (jeg brugte et dobbelt 10650 batteriskærm med USB-udgang, 2xLiitoKala Lii-35A 18650 batterier og dette kabel)
  3. 240x140x5mm stykke MDF -træ (eller andet træ, der er kompatibelt med laserskærer)
  4. Adgang til en laser cuter
  5. M2 skruer og bolte
  6. En computer med python
  7. En smartphone med krom
  8. Et Google -pap eller ethvert system, der giver dig mulighed for at få VR -oplevelse fra din telefon (jeg har ednet Virtual Reality Brille, der er kompatibel med en telefon med en størrelse på op til 159,2 mm x 75,2 mm fra det, jeg læste)

Trin 2: Få Rapsberry Pi til at optage en livevideo og dele den

Lad os først sikre os, at vores Pi -kamera er tilsluttet hindbær Pi. Færdig ? Det var hardware -delen til dette trin. Lad os fortsætte med softwaredelen.

Med hensyn til soft, hvis du er i mit tilfælde, og du ikke har noget operativsystem installeret på din PI, og at du ikke har noget ekstra tastatur, mus og skærm, lad os downloade raspbian lite her og følge de enkle trin beskrevet her: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Hvis alt gik godt, er din Pi nu forbundet til din WIFI, du kender dens ip-adresse, og du er forbundet til den via ssh.

Ved hjælp af ssh lad os få Pi til at dele, hvad den ser. Til dette vil vi bruge UV4L. For dette skal du følge trinene på følgende webside: https://raspberry-valley.azurewebsites.net/UV4L/. Hvis du er færdig med UV4L -opsætning som beskrevet i linket, skal du nu kunne se livevideoen af din hindbær på din computer. For dette skal du blot gå til din browser på adressen https:// raspberryip: 8080/stream og erstatte "raspberryip" med ip'en til hindbærpi, som du fandt gennem lanScan.

Nu er det det for et af vores to "øjne". Hvad med den anden? Enten gentager vi den samme proces, enten kloner vi det, der er på vores hindbærpi, til et andet SD -kort. Hvis du vil vide mere om den anden mulighed, kan du tjekke denne github:

Og der skal du nu have dine to hindbær pi dele deres live video stream på det lokale netværk! Vi fik øjnene ud af arbejde, lad os nu løse dette lille strabisme -problem, og lad os gøre vores lille system bærbart!

Trin 3: Gør det bærbart: Laserskæring og montering

Gør det bærbart: Laserskæring og montering
Gør det bærbart: Laserskæring og montering
Gør det bærbart: Laserskæring og montering
Gør det bærbart: Laserskæring og montering
Gør det bærbart: Laserskæring og montering
Gør det bærbart: Laserskæring og montering

For at gøre kamerasystemet bærbart designede jeg en trækonstruktion, hvorpå jeg kan skrue hindbær Pis kameraerne og batteriskærmen på. Det designede er vedhæftet her som en svg -fil. Du skal muligvis ændre skruens positioner til batteriskærmen afhængigt af dit skjold og/eller designet afhængigt af tykkelsen af dit træ.

Når du har skåret alt ned:

  1. Monter kameraerne på den venstre del af designet (8 M2 skruer på 5 mm, 8 M2 skruer på 8 mm og 8 bolte på 8 mm)
  2. Monter batteriskærmen (4 M2 skruer på 5 mm, 4 M2 skruer på 8 mm og 4 bolte på 8 mm)
  3. Monter hindbær pi "cluster" som vist på billedet ovenfor (4 M2 skruer på 5 mm, 4 M2 skruer på 8 mm, 4 han-hun-bolte på 5 mm eller mere, 4 21 mm bolte). Bemærk: Jeg havde ikke 21 mm bolte, så jeg gjorde min med 16 bolte og 5 hun-hanbolte.

Advarsel: Boltlængderne, der er defineret her, kan ændres, det eneste er bare at sørge for, at afstanden mellem hindbær Pis er stor nok til ikke at få nogen kortslutning …

Oplad dine litiumbatterier ved hjælp af mini-usb-stikket, og monter træstykket sammen som vist på billedet ovenfor. Du er klar til at slutte dit batteriskærm til hindbærene! Og der kræves ikke mere ssh-ing, så snart vi tænder for hindbærpien, deler den nu videostrømmen online, så snart den starter takket være UV4L. Transmissionen overstået!

Trin 4: Visualiser stereobilledet

Visualiser stereobilledet
Visualiser stereobilledet

Nu har vi to billedstrømme, der er tilgængelige via det lokale netværk, vi så, at vi kunne se dem individuelt ved hjælp af adressen https:// raspberryip {1, 2}/stream/i en browser. Skal vi derfor prøve at åbne to sider i vores browser? Nej det skal vi ikke! 1. Det ville være for grimt kom igen 2. det ville ikke fungere, da det ville gå i dvale efter noget tid! Dette trin viser dig, hvordan du løser disse problemer.

Lad os først se, hvad der ligger bag adressen, der blev brugt før. Hvis du tjekker html -koden for den side, der åbnes, vil du se, at strømmen, der vises på siden, består af en

tag med kilden defineret som https://raspberryip/stream/video.mjpeg. Som et resultat kan det sidste trin være ganske enkelt. En måde kan være at programmere en Android -app med to Webviews til at vise billedstrømmen, en meget enklere er at køre en lokal server på vores computer, der vil tjene en html -side svarende til "https:// raspberryip/stream/" undtagen at det giver dig mulighed for at se begge streams i stedet for en, og for at holde enheden vågen.

Hvordan opretter vi sådan en server? Intet enklere med python. Opret en mappe, hvor du lægger filerne index.txt og NoSleep.txt, som du vil omdøbe til index.html og NoSleep.js. Søg efter de to i index.html

tags og erstat hindbær ips med din. Dette vil være html -siden, der viser vores to billedstrømme med javascriptet, så det kan holde sig vågen. Nu vil du gøre denne side tilgængelig for din mobiltelefon, hvor python er praktisk: læg filserveren.py i den samme mappe og start scriptet ved hjælp af kommandoen python server.py (Bemærk, at dette script er kompatibelt med python 3, hvis du bruger python 2, skal du redigere server.py og erstatte socketserver med SocketServer).

Det er det, du kan få adgang til stereostrømmen fra enhver enhed med en browser forbundet til dit lokale netværk. Prøv det, hent din computers ip, og åbn https:// computerip: 8080. Du kan sikkert lægge mærke til tre ting:

  • Det er dejligt, vi er næsten der!
  • Det er ikke i fuld skærm,
  • Det går i dvale til sidst.

Hvorfor ? Som du kan læse her, skal funktionen til aktivering af tilstanden uden søvn blive kaldt op til en dummy-handling. For at respektere denne nødvendighed linkede jeg et klik på det første billede til denne funktion. Som et resultat klikker du blot på det første billede, og du skal se en advarsel, der fortæller dig, at ingen søvn er aktiveret, og siden skal også være i fuld skærm.

Det er det! Du skulle nu kunne sætte din telefon i dit VR -headset og se, hvad der foregår foran dine Pi'er! Eller er det det?

Trin 5: Smooth Things Up

Faktisk, hvis din Pi og dit netværk ligner mit, kan det, du ser i dit headset, være lidt akavet, da der kan være stærke forsinkelser. Så for virkelig at afslutte med et glat system lad os løse dette sidste problem. Hvordan løser man forsinkelsen? Jeg gættede simpelthen på, at problemet kan komme enten fra komprimering i realtid af Pi'erne, som er for beregningsintensiv, enten fra den trådløse forbindelse, som jeg ville tvivle på. Anyway, for at løse det kan du gøre noget meget simpelt, hvilket er at reducere den opløsning og bitrate, hvormed dine billeder erhverves og kodes på Pi'erne.

For at ændre disse parametre skal du vende tilbage til din terminal og logge på dine Raspberry Pi'er. UV4L bruger en konfigurationsfil. Denne fil er /etc/uv4l/uv4l-raspicam.conf. For at redigere det skal du skrive kommandoen sudo nano /etc/uv4l/uv4l-raspicam.conf. Du vil nu kunne indstille bredde, højde og kvantisering som du vil. Jeg brugte værdierne bredde = 320, højde = 240 og kvantisering = 40 og fik en jævn transmission med dem.

Trin 6: Nyd det

Det eneste, der er tilbage at gøre nu, er at oprette systemet, hvor du vil have det, lægge din telefon i dit pap og lave din yogasession, meditation, ølpong med dine venner eller hvad som helst! Du skal muligvis bruge lidt tid (1 eller 2 minutter) på at vænne dig til kameraretningen, som i første omgang vil føles som om du pludselig har et strabismusproblem. En måde, hvorpå jeg hurtigt kan vænne mig til det, er først at fokusere på nærliggende objekter og derefter gå videre til dem.

Jeg tænkte på et par udvidelser, der kunne være interessante:

  • gør det muligt at se uden for dit hjem, det vil sige gøre strømmen tilgængelig uden for dit lokale netværk.
  • læg den på en mobil robotplatform for at lave droneløb!

Som lærer synes jeg, at dette projekt kan være interessant at lære mere om:

  • Hindbær Pi, hvad er de grundlæggende komponenter i en computer, hvad er et OS -system,
  • Generelle netværkskoncepter med lokal og ekstern IP, HTTP -protokollen,
  • HTML og javascript.

Jeg håber, at denne instruerbare, som var min første, er klar nok uden at være for tung til at læse.

Anbefalede: