Sadržaj:

Uradi sam digitalno iskustvo van tijela: 6 koraka
Uradi sam digitalno iskustvo van tijela: 6 koraka

Video: Uradi sam digitalno iskustvo van tijela: 6 koraka

Video: Uradi sam digitalno iskustvo van tijela: 6 koraka
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Novembar
Anonim
Uradi sam digitalno iskustvo van tijela
Uradi sam digitalno iskustvo van tijela

U ovom vodiču ćete naučiti kako izgraditi sistem koji vam omogućava da vidite kao da ste negdje drugdje. Nazvao sam ovaj digitalni vantelesni doživljaj jer sam prvi put pomislio na ovaj sistem kada sam vježbao jogu i pomislio sam da bi bilo jako zanimljivo vježbati dok se vidim s 3D prikazom osobe, kao u nekim video igrama. Na kraju sam također pomislio da bi to mogao biti zanimljiv uređaj za meditaciju na ne-ja, promatrajući sebe izvana, kao alat koji će mi pomoći da se udaljem i jednostavno promatram svoje misli, emocije i osjećaje. Ali jogi početnik i meditant u meni nisu bili pravi ljudi koji su me zaveli ovim projektom. Na kraju sam ja igrač/igrač koji je mislio da bi ovaj projekt bio lijep inkrementalni korak ka izgradnji mobilnog robota kontroliranog iz prvog lica za neke vrste mobilnih robotskih utrka iz prvog pogleda!

Korak 1: Stvari koje će vam trebati

Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
Stvari koje će vam trebati
  1. 2xRaspberry Pi 3 model B, svaki opremljen kamerom i kablom dimenzija (15 cm i 30 cm)
  2. Štitnik baterije, 2 baterije i USB na 2xmini-USB kabel za spajanje na Raspberry's (koristio sam dvostruki štitnik baterije 10650 sa USB izlazom, 2xLiitoKala Lii-35A 18650 baterije i ovaj kabel)
  3. 240x140x5mm komad MDF drva (ili bilo kojeg drugog drveta kompatibilnog s laserskim rezačem)
  4. Pristup laserskom rezaču
  5. M2 vijci i vijci
  6. Računar sa pythonom
  7. Pametni telefon sa hromom
  8. Google karton ili bilo koji sistem koji vam omogućava da dobijete VR iskustvo sa svog telefona (dobio sam ednet Virtual Reality Brille koji je kompatibilan sa telefonom dimenzija do 159,2 mm x 75,2 mm prema onome što sam pročitao)

Korak 2: Nabavite Rapsberry Pi da snimi video zapis uživo i podijeli ga

Prvo provjerimo je li naša Pi kamera priključena na malinu Pi. Gotovo? To je bio hardverski dio za ovaj korak. Nastavimo sa softverskim dijelom.

Što se softvera tiče, ako ste u mom slučaju i nemate OS instaliran na vašem PI -u i nemate rezervnu tastaturu, miša i ekran, preuzmimo ovdje raspbian lite i slijedimo jednostavne korake opisane ovdje: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Ako je sve prošlo u redu, vaš Pi je sada spojen na vaš WIFI, znate njegovu IP adresu i na njega ste povezani putem ssh-a.

Pomoću ssh -a učinimo da Pi podijeli ono što vidi. Za to ćemo koristiti UV4L. Za to slijedite korake na sljedećoj web stranici: https://raspberry-valley.azurewebsites.net/UV4L/. Ako ste završili s postavljanjem UV4L -a kako je opisano na linku, sada biste trebali moći gledati video svoje maline uživo na računaru. Za to jednostavno idite u svoj preglednik na adresi https:// raspberryip: 8080/stream, zamjenjujući "raspberryip" ip -om maline pi koji ste pronašli putem lanScan -a.

To je to za jedno od naša dva "oka". Šta je sa drugim? Ili ćemo ponoviti isti postupak, ili ćemo klonirati ono što je na našem maline pi na drugu SD karticu. Da biste saznali više o drugoj opciji, možete provjeriti ovaj github:

Eto vam, sada bi vaša dva malina pi trebala dijeliti svoj video prijenos uživo na lokalnoj mreži! Izvukli smo oči, sada riješimo ovaj mali problem sa strabizmom i učinimo naš mali sistem prenosivim!

Korak 3: Učinite ga prijenosnim: Lasersko rezanje i postavljanje

Učinite ga prijenosnim: laserskim rezanjem i montiranjem
Učinite ga prijenosnim: laserskim rezanjem i montiranjem
Učinite ga prijenosnim: lasersko rezanje i montiranje
Učinite ga prijenosnim: lasersko rezanje i montiranje
Učinite ga prijenosnim: lasersko rezanje i montiranje
Učinite ga prijenosnim: lasersko rezanje i montiranje

Kako bih sistem kamera bio prenosiv, dizajnirao sam drvenu konstrukciju na koju mogu pričvrstiti fotoaparate od maline i štitnik za baterije. Dizajnirano je ovdje priloženo kao svg datoteka. Možda ćete morati promijeniti položaje vijaka za oklop baterije ovisno o štitu i/ili dizajnu ovisno o debljini vašeg drveta.

Kad sve isečete:

  1. Montirajte kamere na lijevi dio dizajna (8 M2 vijaka od 5 mm, 8 M2 vijaka od 8 mm i 8 vijaka od 8 mm)
  2. Montirajte štitnik baterije (4 M2 vijka od 5 mm, 4 M2 vijka od 8 mm i 4 vijka od 8 mm)
  3. Montirajte malinu pi "grozd" kao što je prikazano na gornjoj slici (4 M2 vijka od 5 mm, 4 M2 vijka od 8 mm, 4 muško-ženska vijka od 5 mm ili više, 4 vijka od 21 mm). Napomena: Nisam imao vijke od 21 mm pa sam ih napravio sa 16 vijaka i 5 ženskih muških vijaka.

Upozorenje: dužine vijaka koji su ovdje definirani mogu se mijenjati, samo se pobrinite da udaljenost između maline Pis bude dovoljno velika da ne dođe do kratkog spoja …

Napunite svoje litijumske baterije pomoću mini-USB konektora za štitnik baterije i montirajte drveni komad zajedno kao što je prikazano na gornjoj slici. Spremni ste spojiti štitnik baterije na maline! I više nije potrebno ssh-ing, čim uključimo malinu pi, ona sada dijeli video stream na mreži čim počne zahvaljujući UV4L. Prenos gotov!

Korak 4: Vizualizujte stereo sliku

Vizualizujte stereo sliku
Vizualizujte stereo sliku

Sada imamo dva toka slika kojima je moguće pristupiti putem lokalne mreže, vidjeli smo da ih možemo pregledati pojedinačno koristeći adresu https:// raspberryip {1, 2}/stream/u pregledniku. Možemo li stoga pokušati otvoriti dvije stranice u našem pregledniku? Ne, nećemo! 1. To bi bilo previše ružno hajde 2. to ne bi funkcioniralo jer bi zaslon nakon nekog vremena zaspao! Ovaj korak će vam pokazati kako riješiti te probleme.

Prvo da vidimo šta stoji iza ranije korištene adrese. Ako provjerite html kôd stranice koja se otvara, vidjet ćete da se tok koji je prikazan na stranici sastoji od

oznaku s izvorom definiranim kao https://raspberryip/stream/video.mjpeg. Kao rezultat toga, posljednji korak može biti prilično jednostavan. Jedan od načina bi mogao biti programiranje android aplikacije s dva prikaza na webu za prikaz toka slike, mnogo jednostavniji je pokretanje lokalnog servera na našem računaru koji će posluživati html stranicu sličnu "https:// raspberryip/stream/" osim da će vam omogućiti da pregledate oba toka umjesto jednog i da uređaj držite budnim.

Kako da postavimo takav server? Ništa jednostavnije sa pythonom. Kreirajte mapu u koju ćete staviti datoteke index.txt i NoSleep.txt koje ćete preimenovati u index.html i NoSleep.js. U index.html potražite to dvoje

oznake i zamijenite maline ips sa vašim. Ovo će biti html stranica koja prikazuje naša dva toka slika sa javascript -om koji joj omogućuje da ostane budan. Sada želite ovu stranicu učiniti dostupnom svom mobilnom telefonu, na mjestu gdje je python zgodan: stavite datoteku server.py u istu mapu i pokrenite skriptu pomoću naredbe python server.py (Imajte na umu da je ova skripta kompatibilna s python 3, ako koristite python 2 morat ćete urediti server.py i zamijeniti socketserver SocketServerom).

To je sve, možete pristupiti stereo toku sa bilo kog uređaja sa pregledačem povezanim na vašu lokalnu mrežu. Isprobajte, preuzmite IP računara i otvorite https:// computerip: 8080. Vjerovatno možete primijetiti tri stvari:

  • Odlično je što smo skoro stigli!
  • Nije na cijelom ekranu,
  • Na kraju će zaspati.

Kako to ? Kao što možete pročitati ovdje, za aktiviranje načina mirovanja potrebna je lažna radnja za pozivanje. Kako bih ispoštovao ovu potrebu, povezao sam klik na prvu sliku s ovom funkcijom. Kao rezultat toga, jednostavno kliknite na prvu sliku i trebali biste vidjeti upozorenje koje vam govori da je aktivirano stanje mirovanja i stranica bi sada trebala biti na cijelom ekranu.

To je to! Sada biste trebali moći staviti svoj telefon u VR slušalice i vidjeti što se događa ispred vaših Pi -a! Ili je to to?

Korak 5: Poravnajte stvari

Zapravo, ako su vaši Pi i mreža slični mojima, ono što vidite u slušalicama moglo bi biti pomalo neugodno jer bi moglo doći do velikih kašnjenja. Dakle, da zaista završimo s glatkim sistemom, riješimo ovo posljednje pitanje. Kako riješiti kašnjenje? Jednostavno sam pretpostavio da bi problem mogao doći ili zbog kompresije u stvarnom vremenu od strane Pi-a koja je previše računarski intenzivna, ili zbog bežične veze u koju bih sumnjao. U svakom slučaju, da biste to riješili, možete učiniti nešto vrlo jednostavno, a to je smanjiti rezoluciju i bitrate s kojima se vaše slike prikupljaju i kodiraju na Pi -ima.

Da biste promijenili te parametre, vratite se na svoj terminal i prijavite se na svoj Raspberry Pi's. UV4L koristi konfiguracijsku datoteku. Ova datoteka je /etc/uv4l/uv4l-raspicam.conf. Da biste ga uredili, upišite naredbu sudo nano /etc/uv4l/uv4l-raspicam.conf. Sada ćete moći postaviti širinu, visinu i kvantifikaciju kako želite. Koristio sam vrijednosti širina = 320, visina = 240 i kvantizacija = 40 i dobio sam gladak prijenos s njima.

Korak 6: Uživajte

Jedina stvar koja vam preostaje je da postavite sistem tamo gdje želite, stavite telefon u karton i odradite jogu, meditaciju, pivski pong sa svojim prijateljima ili šta već! Možda će vam trebati neko vrijeme (1 ili 2 minute) da se naviknete na smjer kamere koji će vam se u početku osjećati kao da odjednom imate problem sa strabizmom. Jedan od načina da se brzo naviknem na to je da se prvo fokusiram na objekte u blizini, a zatim pređem na sljedeće.

Smislio sam nekoliko proširenja koja bi mogla biti zanimljiva:

  • omogućiti gledanje izvan vašeg doma, odnosno učiniti stream pristupačnim izvan vaše lokalne mreže.
  • stavite ga na mobilnu robotsku platformu za trke dronovima!

Kao učitelj, mislim da bi ovaj projekt mogao biti zanimljiv da saznate više o:

  • Raspberry Pi, koje su osnovne komponente računara, šta je OS sistem,
  • Opći koncepti mreže, s lokalnim i vanjskim IP -om, HTTP protokolom,
  • HTML i javascript.

Nadam se da je ovo moje prvo uputstvo dovoljno jasno, ali da nije preteško za čitanje.

Preporučuje se: