Innehållsförteckning:

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

Video: DIY Digital Out of Body Experience: 6 steg

Video: DIY Digital Out of Body Experience: 6 steg
Video: How out-of-body experiences could transform yourself and society | Nanci Trivellato | TEDxPassoFundo 2024, Juli
Anonim
DIY Digital Out of Body Experience
DIY Digital Out of Body Experience

I denna handledning lär du dig hur du bygger ett system som låter dig se som om du var någon annanstans. Jag kallade denna digitala förkroppsliga upplevelse eftersom första gången jag tänkte på det här systemet var när jag utövade yoga och jag trodde att det skulle vara väldigt intressant att träna samtidigt som jag såg mig själv med 3d personvy, som i vissa videospel. Så småningom tänkte jag också att det kan vara en intressant enhet att meditera över icke-jaget, betrakta mig själv utifrån, som ett verktyg för att hjälpa mig ta lite avstånd och helt enkelt observera mina tankar, känslor och känslor. Men nybörjaren yogi och meditatör i mig var inte de rätta personerna för att få mig att rinna med detta projekt. Så småningom är det spelaren/spelaren jag är som trodde att det här projektet skulle vara ett trevligt stegvis steg mot att bygga en mobil robot som styrs genom förstapersonsvy för att göra någon form av mobil robot first-view racing!

Steg 1: Saker du behöver

Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
  1. 2xRaspberry Pi 3 modell B var och en utrustad med en kamera och kabelmätning (15 cm och 30 cm)
  2. En batterisköld, 2 batterier och usb till 2xmini-USB-kabel för att ansluta till hallon (jag använde en dubbel 10650 batterisköld med USB-utgång, 2xLiitoKala Lii-35A 18650 batterier och denna kabel)
  3. 240x140x5mm bit MDF -trä (eller annat trä som är kompatibelt med laserskärare)
  4. Tillgång till en lasersötare
  5. M2 skruvar och bultar
  6. En dator med python
  7. En smartphone med krom
  8. En Google -kartong eller något system som låter dig få VR -upplevelse från din telefon (jag har ednet Virtual Reality Brille som är kompatibel med en telefon med dimensioner upp till 159,2 mm x 75,2 mm från vad jag läst)

Steg 2: Få Rapsberry Pi för att fånga en livevideo och dela den

Låt oss först se till att vår Pi -kamera har anslutit hallon Pi. Gjort ? Det var hårdvarudelen för detta steg. Låt oss fortsätta med programvarudelen.

När det gäller det mjuka, om du är i mitt fall och du inte har något operativsystem installerat på din PI och att du inte har något extra tangentbord, mus och skärm, låt oss ladda ner raspbian lite här och följ de enkla stegen som beskrivs här: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Om allt gick bra är din Pi nu ansluten till din WIFI, du vet dess ip-adress och du är ansluten till den via ssh.

Med hjälp av ssh låt oss få Pi att dela vad den ser. För detta använder vi UV4L. För detta följer du stegen på följande webbsida: https://raspberry-valley.azurewebsites.net/UV4L/. Om du är klar med UV4L -installationen som beskrivs i länken, ska du nu kunna se livevideon av ditt hallon på din dator. För detta går du helt enkelt till din webbläsare på adressen https:// raspberryip: 8080/stream, och ersätter "raspberryip" med IP -adressen till hallonpi som du hittade via lanScan.

Nu är det det för en av våra två "ögon". Hur är det med den andra? Antingen upprepar vi samma process, antingen klonar vi det som finns på vår hallonpi till ett annat SD -kort. För att veta mer om det andra alternativet kan du kontrollera denna github:

Och där är du nu, du borde nu få dina två hallon pi att dela sin live -videoström på det lokala nätverket! Vi fick ögonen ur jobbet, nu ska vi lösa detta lilla strabismproblem och låt oss göra vårt lilla system bärbart!

Steg 3: Gör det bärbart: Laserskärning och montering

Gör det bärbart: Laserskärning och montering
Gör det bärbart: Laserskärning och montering
Gör det bärbart: Laserskärning och montering
Gör det bärbart: Laserskärning och montering
Gör det bärbart: Laserskärning och montering
Gör det bärbart: Laserskärning och montering

För att göra kamerasystemet bärbart konstruerade jag en träkonstruktion på vilken jag kan skruva hallon Pis kamerorna och batteriskyddet. Det designade bifogas här som en svg -fil. Du kan behöva ändra skruvlägena för batteriskyddet beroende på din skärm och/eller konstruktionen beroende på träets tjocklek.

När du har klippt allt:

  1. Montera kamerorna på den vänstra delen av konstruktionen (8 M2 skruvar på 5 mm, 8 M2 skruvar på 8 mm och 8 bultar på 8 mm)
  2. Montera batteriskyddet (4 M2 skruvar på 5 mm, 4 M2 skruvar på 8 mm och 4 bultar på 8 mm)
  3. Montera hallon pi "klustret" enligt bilden ovan (4 M2 skruvar på 5 mm, 4 M2 skruvar på 8 mm, 4 han-honbultar på 5 mm eller mer, 4 21 mm bultar). Obs: Jag hade inte 21 mm bultar så jag gjorde min med 16 bultar och 5 hona-hanbultar.

Varning: Längden på bultar som definieras här kan ändras, det enda är bara att se till att avståndet mellan hallon Pis är tillräckligt stort för att inte få någon kortslutning …

Ladda dina litiumbatterier med hjälp av mini-usb-kontaktdonet och montera träbiten tillsammans som visas på bilden ovan. Du är redo att ansluta din batterisköld till hallonen! Och ingen mer ssh-ing krävs, så snart vi sätter igång hallon pi delar den nu videoströmmen online så snart den startar tack vare UV4L. Överföringen över!

Steg 4: Visualisera stereobilden

Visualisera stereobilden
Visualisera stereobilden

Nu har vi två bildflöden som är tillgängliga via det lokala nätverket, vi såg att vi kunde se dem individuellt med adressen https:// raspberryip {1, 2}/stream/i en webbläsare. Ska vi därför försöka öppna två sidor i vår webbläsare? Nej det ska vi inte! 1. Det skulle vara för fult kom igen 2. det skulle inte fungera eftersom det skulle gå att sova efter en tid! Det här steget visar dig hur du löser dessa problem.

Låt oss först se vad som ligger bakom adressen som användes tidigare. Om du kontrollerar html -koden för sidan som öppnas ser du att strömmen som visas på sidan består av en

tag med källan definierad som https://raspberryip/stream/video.mjpeg. Som ett resultat kan det sista steget vara ganska enkelt. Ett sätt kan vara att programmera en Android -app med två webbvyer för att visa bildströmmen, en mycket enklare är att köra en lokal server på vår dator som kommer att visa en html -sida som liknar "https:// raspberryip/stream/" förutom att det låter dig se båda strömmarna istället för en, och att hålla enheten vaken.

Hur skapar vi en sådan server? Inget enklare med python. Skapa en mapp där du lägger in filerna index.txt och NoSleep.txt som du kommer att byta namn på som index.html och NoSleep.js. Sök efter de två i index.html

taggar och ersätt hallon -ips med din. Detta kommer att vara html -sidan som visar våra två bildflöden med javascript så att den kan hålla sig vaken. Nu vill du göra den här sidan tillgänglig för din mobiltelefon, där python är till hands: lägg filservern.py i samma mapp och starta skriptet med kommandot python server.py (Observera att detta skript är kompatibelt med python 3, om du använder python 2 måste du redigera server.py och ersätta socketserver med SocketServer).

Det är det du kan komma åt stereoströmmen från vilken enhet som helst med en webbläsare ansluten till ditt lokala nätverk. Prova det, hämta datorns ip och öppna https:// computerip: 8080. Du kan förmodligen märka tre saker:

  • Det är fantastiskt att vi nästan är där!
  • Det är inte i helskärm,
  • Det somnar så småningom.

Hurså ? Som du kan läsa här behöver du en dummy-åtgärd för att aktivera viloläge. För att respektera denna nödvändighet länkade jag ett klick på den första bilden till den här funktionen. Som ett resultat klickar du bara på den första bilden och du bör se en varning som säger att ingen viloläge är aktiverad och sidan ska nu också vara i fullskärm.

Det är allt! Du bör nu kunna sätta din telefon i ditt VR -headset och se vad som händer framför dina Pi: s! Eller är det det?

Steg 5: Smooth Things Up

Egentligen, om din Pi och ditt nätverk liknar mitt, kan det du ser i ditt headset vara lite besvärligt eftersom det kan uppstå stora förseningar. Så för att verkligen avsluta med ett smidigt system, låt oss lösa detta sista problem. Hur löser jag förseningen? Jag gissade helt enkelt att problemet kan komma antingen från komprimeringen i realtid av Pi: erna som är för beräknande intensiva, antingen från den trådlösa anslutningen som jag skulle tvivla på. Hur som helst, för att lösa det kan du göra något mycket enkelt som är att minska upplösningen och bithastigheten som dina bilder förvärvas och kodas på Pi: erna.

För att ändra dessa parametrar, gå tillbaka till din terminal och logga in på din Raspberry Pi. UV4L använder en konfigurationsfil. Denna fil är /etc/uv4l/uv4l-raspicam.conf. För att redigera det, skriv kommandot sudo nano /etc/uv4l/uv4l-raspicam.conf. Du kommer nu att kunna ställa in bredd, höjd och kvantisering som du vill. Jag använde värdena bredd = 320, höjd = 240 och kvantisering = 40 och fick en smidig överföring med dem.

Steg 6: Njut

Det enda som återstår att göra nu är att konfigurera systemet där du vill att det ska vara, lägg telefonen i din kartong och gör din yogapass, meditation, ölpong med dina vänner eller vad som helst! Du kan behöva lite tid (1 eller 2 minuter) för att vänja dig vid kamerans riktning, vilket till en början känns som om du plötsligt har problem med strabismus. Ett sätt för mig att vänja mig vid det snabbt är att först fokusera på nära föremål och sedan gå vidare till ytterligare.

Jag tänkte på några tillägg som kan vara intressanta:

  • gör det möjligt att se utanför ditt hem, det vill säga göra strömmen tillgänglig utanför ditt lokala nätverk.
  • lägg den på en mobil robotplattform för att göra drönerace!

Som lärare tror jag att det här projektet kan vara intressant att lära sig mer om:

  • Raspberry Pi, vad är de grundläggande komponenterna i en dator, vad är ett OS -system,
  • Allmänna nätverkskoncept, med lokal och extern IP, HTTP -protokollet,
  • HTML och javascript.

Jag hoppas att denna instruerbara som var min första är tillräckligt tydlig utan att vara för tung för att läsa.

Rekommenderad: