Innholdsfortegnelse:

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

Video: DIY Digital Out of Body Experience: 6 trinn

Video: DIY Digital Out of Body Experience: 6 trinn
Video: Why good leaders make you feel safe | Simon Sinek | TED 2024, Juli
Anonim
DIY Digital Out of Body Experience
DIY Digital Out of Body Experience

I denne opplæringen lærer du hvordan du bygger et system som lar deg se ut som om du var et annet sted. Jeg kalte dette digital ut av kroppen -opplevelse fordi den første gangen jeg tenkte på dette systemet var da jeg praktiserte yoga, og jeg tenkte at det ville være veldig interessant å øve mens jeg så meg selv med 3d personvisning, som i noen videospill. Etter hvert tenkte jeg også at det kunne være en interessant enhet å meditere over ikke-jeget, se meg selv utenfra, som et verktøy for å hjelpe meg med å ta litt avstand og bare observere tankene, følelsene og følelsene mine. Men nybegynneren yogi og meditator i meg var ikke de riktige menneskene til å la meg rive med på dette prosjektet. Etter hvert er det gamer/spilleren jeg er som trodde at dette prosjektet ville være et fint trinnvis skritt mot å bygge en mobil robot kontrollert gjennom førstepersonsvisning for å gjøre en slags mobil robot first-view racing!

Trinn 1: Ting du trenger

Ting du trenger
Ting du trenger
Ting du trenger
Ting du trenger
Ting du trenger
Ting du trenger
  1. 2xRaspberry Pi 3 modell B hver utstyrt med kamera og kabelmåling (15 cm og 30 cm)
  2. Et batteriskjold, 2 batterier og usb til 2xmini-USB-kabel for å koble til bringebæret (jeg brukte et dobbelt 10650 batteriskjerm med USB-utgang, 2xLiitoKala Lii-35A 18650 batterier og denne kabelen)
  3. 240x140x5mm stykke MDF -tre (eller annet tre som er kompatibelt med laserskjærer)
  4. Tilgang til en lasersøker
  5. M2 skruer og bolter
  6. En datamaskin med python
  7. En smarttelefon med krom
  8. Et Google -kartong eller et hvilket som helst system som lar deg få VR -opplevelse fra telefonen din (jeg har ednet Virtual Reality Brille som er kompatibel med en telefon med en dimensjon på opptil 159,2 mm x 75,2 mm fra det jeg leste)

Trinn 2: Få Rapsberry Pi til å ta en levende video og dele den

La oss først sørge for at Pi -kameraet vårt har plugget bringebær Pi. Ferdig? Det var maskinvaredelen for dette trinnet. La oss fortsette med programvaredelen.

Når det gjelder soft, hvis du er i mitt tilfelle og du ikke har noe operativsystem installert på PI -en din og at du ikke har noe ekstra tastatur, mus og skjerm, så la oss laste ned raspbian lite her og følge de enkle trinnene som er beskrevet her: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Hvis alt gikk bra, er Pi nå koblet til WIFI, du kjenner dens ip-adresse og du er koblet til den via ssh.

Ved å bruke ssh, la oss få Pi til å dele det den ser på. For dette bruker vi UV4L. Følg trinnene på følgende nettside for dette: https://raspberry-valley.azurewebsites.net/UV4L/. Hvis du er ferdig med UV4L -oppsettet som beskrevet i lenken, bør du nå kunne se livevideoen til bringebæret ditt på datamaskinen din. For dette kan du bare gå til nettleseren din på adressen https:// raspberryip: 8080/stream, og erstatte "raspberryip" med ip -en til bringebærpien som du fant gjennom lanScan.

Nå er det det for ett av våre to "øyne". Hva med den andre? Enten gjentar vi den samme prosessen, enten kloner vi det som er på bringebær -pi til et annet SD -kort. For å vite mer om det andre alternativet, kan du sjekke denne github:

Og der, du bør nå få de to bringebærpiene dine til å dele live videostrømmen sin på det lokale nettverket! Vi fikk øyne til å fungere, la oss løse dette lille strabisme -problemet, og la oss gjøre vårt lille system bærbart!

Trinn 3: Gjør den bærbar: Laserskjæring og montering

Gjør det bærbart: Laserskjæring og montering
Gjør det bærbart: Laserskjæring og montering
Gjør det bærbart: Laserskjæring og montering
Gjør det bærbart: Laserskjæring og montering
Gjør det bærbart: Laserskjæring og montering
Gjør det bærbart: Laserskjæring og montering

For å gjøre kamerasystemet bærbart, designet jeg en trekonstruksjon som jeg kan skru på bringebær Pis kameraene og batteriskjoldet på. Den designede er vedlagt her som en svg -fil. Du må kanskje endre skruestillingen for batteriskjoldet avhengig av skjoldet og/eller designet avhengig av tykkelsen på treverket ditt.

Når du har klippet alt:

  1. Monter kameraene på venstre del av designet (8 M2 skruer på 5 mm, 8 M2 skruer på 8 mm og 8 bolter på 8 mm)
  2. Monter batteriskjermen (4 M2 skruer på 5 mm, 4 M2 skruer på 8 mm og 4 bolter på 8 mm)
  3. Monter bringebær pi "cluster" som vist på bildet ovenfor (4 M2 skruer på 5 mm, 4 M2 skruer på 8 mm, 4 hann-hunn-bolter på 5 mm eller mer, 4 21 mm bolter). Merk: Jeg hadde ikke 21 mm bolter, så jeg gjorde min med 16 bolter og 5 hunn-hannbolter.

Advarsel: Lengden på boltene som er definert her kan endres, det eneste som er å sørge for at avstanden mellom bringebærpisene er stor nok til ikke å få noen kortslutning …

Lad dine litiumbatterier ved hjelp av mini-usb-kontakten på batteriskjoldet, og monter trestykket sammen som vist på bildet ovenfor. Du er klar til å koble batteriskjoldet til bringebærene! Og det er ikke nødvendig med mer ssh-ing, så snart vi setter i gang bringebærpien, deler den nå videostrømmen online så snart den starter takket være UV4L. Overføring over!

Trinn 4: Visualiser stereobildet

Visualiser stereobildet
Visualiser stereobildet

Nå har vi to bildestrømmer som er tilgjengelige via det lokale nettverket. Vi så at vi kunne se dem individuelt ved hjelp av adressen https:// raspberryip {1, 2}/stream/i en nettleser. Skal vi derfor prøve å åpne to sider i nettleseren vår? Nei det skal vi ikke! 1. Det ville være for stygt kom igjen 2. som ikke ville fungere da det ville gå i dvale etter en stund! Dette trinnet viser deg hvordan du løser disse problemene.

La oss først se hva som ligger bak adressen som ble brukt før. Hvis du sjekker html -koden til siden som åpnes, ser du at strømmen som vises på siden består av en

tag med kilden definert som https://raspberryip/stream/video.mjpeg. Som et resultat kan det siste trinnet være ganske enkelt. En måte kan være å programmere en Android -app med to Webviews for å vise bildestrømmen, en mye enklere er å kjøre en lokal server på datamaskinen vår som vil vise en html -side som ligner "https:// raspberryip/stream/" unntatt at den lar deg se begge bekkene i stedet for en, og å holde enheten våken.

Hvordan setter vi opp en slik server? Ikke noe enklere med python. Lag en mappe der du legger filene index.txt og NoSleep.txt som du vil gi nytt navn til som index.html og NoSleep.js. Søk etter de to i index.html

merker og erstatt bringebær -ips med din. Dette vil være html -siden som viser våre to bildestrømmer med javascriptet slik at den kan holde seg våken. Nå vil du gjøre denne siden tilgjengelig for mobiltelefonen din, der python blir nyttig: legg filserveren.py i samme mappe og start skriptet med kommandoen python server.py (Vær oppmerksom på at dette skriptet er kompatibelt med python 3, hvis du bruker python 2, må du redigere server.py og erstatte socketserver med SocketServer).

Det er det du kan få tilgang til stereostrømmen fra hvilken som helst enhet med en nettleser koblet til ditt lokale nettverk. Prøv det, hent IP -en til datamaskinen din og åpne https:// computerip: 8080. Du kan sikkert legge merke til tre ting:

  • Det er flott vi er nesten der!
  • Det er ikke i fullskjerm,
  • Den sovner etter hvert.

Hvorfor det ? Som du kan lese her trenger funksjonen for å aktivere hvilemodus en dummy-handling. For å respektere denne nødvendigheten koblet jeg et klikk på det første bildet til denne funksjonen. Som et resultat klikker du bare på det første bildet, og du bør se et varsel som forteller deg at hvilemodus er aktivert, og siden skal også være i fullskjerm.

Det er det! Du bør nå kunne sette telefonen i VR -headsettet og se hva som skjer foran Pi -ene! Eller er det det?

Trinn 5: Smooth Things Up

Faktisk, hvis Pi -ene og nettverket ditt ligner på mitt, kan det du ser i headsettet ditt være litt vanskelig, da det kan være noen sterke forsinkelser. Så for å virkelig avslutte med et jevnt system, la oss løse dette siste problemet. Hvordan løse forsinkelsen? Jeg gjettet ganske enkelt at problemet kan komme enten fra komprimeringen i sanntid av Pi-ene som er for beregningsintensiv, enten fra den trådløse tilkoblingen som jeg vil tvile på. Uansett, for å løse det kan du gjøre noe veldig enkelt som er å redusere oppløsningen og bithastigheten som bildene dine er anskaffet og kodet på Pi -ene.

For å endre disse parametrene, kom tilbake til terminalen din og logg deg på Raspberry Pi. UV4L bruker en konfigurasjonsfil. Denne filen er /etc/uv4l/uv4l-raspicam.conf. For å redigere den, skriv inn kommandoen sudo nano /etc/uv4l/uv4l-raspicam.conf. Du vil nå kunne angi bredde, høyde og kvantisering som du vil. Jeg brukte verdiene bredde = 320, høyde = 240 og kvantisering = 40 og fikk en jevn overføring med dem.

Trinn 6: Nyt

Det eneste som gjenstår å gjøre nå er å sette opp systemet der du vil at det skal være, legg telefonen i pappa, og gjør din yogasession, meditasjon, ølpong med vennene dine, eller hva som helst! Du kan trenge litt tid (1 eller 2 minutter) for å venne deg til kameraretningen, som først vil føles som om du plutselig har et strabismusproblem. En måte for meg å bli vant til det raskt på, er å først fokusere på objekter i nærheten og deretter gå videre til andre.

Jeg tenkte på noen utvidelser som kunne være interessante:

  • gjøre det mulig å se utenfor hjemmet ditt, det vil si gjøre strømmen tilgjengelig fra ditt lokale nettverk.
  • legg den på en mobil robotplattform for å gjøre droneløp!

Som lærer tror jeg dette prosjektet kan være interessant å lære mer om:

  • Bringebær Pi, hva er de grunnleggende komponentene i en datamaskin, hva er et OS -system,
  • Generelle nettverkskonsepter, med lokal og ekstern IP, HTTP -protokollen,
  • HTML og javascript.

Jeg håper dette instruerbare som var min første er tydelig nok uten å være for tung til å lese.

Anbefalt: