Cuprins:
- Pasul 1: Lucruri de care ai nevoie
- Pasul 2: Obțineți Rapsberry Pi pentru a captura un videoclip live și a-l distribui
- Pasul 3: faceți-l portabil: tăiați cu laser și montați
- Pasul 4: Vizualizați imaginea stereo
- Pasul 5: Smooth Things Up
- Pasul 6: Bucurați-vă
Video: Experiență DIY digitală în afara corpului: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În acest tutorial, veți învăța cum să construiți un sistem care vă permite să vedeți ca și cum ați fi altundeva. Am numit această experiență digitală în afara corpului, pentru că prima dată când m-am gândit la acest sistem a fost când practicam yoga și m-am gândit că ar fi foarte interesant să exersez în timp ce mă văd cu vizualizare 3D, ca în unele jocuri video. În cele din urmă m-am gândit, de asemenea, că ar putea fi un dispozitiv interesant pentru a medita asupra non-sinelui, urmărindu-mă din exterior, ca un instrument care să mă ajute să iau o anumită distanță și pur și simplu să-mi observ gândurile, emoțiile și sentimentele. Dar yoghinul începător și meditatorul din mine nu erau oamenii potriviți pentru a mă lăsa purtați cu acest proiect. În cele din urmă, sunt jucătorul / jucătorul care a crezut că acest proiect ar fi un pas incremental drăguț către construirea unui robot mobil controlat prin vizualizarea la prima persoană, pentru a face un fel de cursă pentru robotul mobil la prima vedere!
Pasul 1: Lucruri de care ai nevoie
- 2xRaspberry Pi 3 model B fiecare echipat cu o cameră și cablu de măsurare (15cm și 30cm)
- Un ecran de baterie, 2 baterii și cablu USB la 2xmini-USB pentru a mă conecta la Raspberry (am folosit un ecran dual de baterie 10650 cu ieșire USB, 2 baterii LiitoKala Lii-35A 18650 și acest cablu)
- Bucată de lemn MDF de 240x140x5mm (sau orice alt lemn compatibil cu tăietorul laser)
- Acces la un dispozitiv de tăiat cu laser
- Șuruburi și șuruburi M2
- Un computer cu python
- Un smartphone cu crom
- Un carton google sau orice sistem care vă permite să obțineți experiență VR de pe telefon (am primit ednet Virtual Reality Brille, care este compatibil cu telefonul cu dimensiuni de până la 159,2 mm x 75,2 mm din ceea ce am citit)
Pasul 2: Obțineți Rapsberry Pi pentru a captura un videoclip live și a-l distribui
Mai întâi să ne asigurăm că camera noastră Pi este conectată la zmeura Pi. Terminat ? Aceasta a fost partea hardware pentru acest pas. Să continuăm cu partea software.
În ceea ce privește softul, dacă sunteți în cazul meu și nu aveți niciun sistem de operare instalat pe PI și că nu aveți nici o tastatură, mouse și ecran de rezervă, atunci să descărcăm raspbian lite aici și să urmăm pașii simpli descriși aici: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Dacă totul a mers bine, Pi-ul dvs. este acum conectat la WIFI, îi cunoașteți adresa IP și sunteți conectat la acesta prin ssh.
Folosind ssh, să facem Pi-ul să împărtășească ceea ce vede. Pentru aceasta vom folosi UV4L. Pentru aceasta, urmați pașii de pe următoarea pagină web: https://raspberry-valley.azurewebsites.net/UV4L/. Dacă ați terminat cu configurarea UV4L așa cum este descris în link, acum ar trebui să puteți vizualiza videoclipul live al zmeurii pe computer. Pentru aceasta pur și simplu accesați browserul dvs. la adresa https:// raspberryip: 8080 / stream, înlocuind „raspberryip” cu ip-ul raspberry pi pe care l-ați găsit prin lanScan.
Acum asta e pentru unul dintre cei doi „ochi” ai noștri. Dar celălalt? Fie repetăm același proces, fie clonăm ceea ce este pe raspberry pi pe un alt card SD. Pentru a afla mai multe despre a doua opțiune, puteți verifica acest github:
Și iată, acum ar trebui să aveți cei doi pi zmeură care își partajează fluxul video live în rețeaua locală! Am scos ochii lucrând, acum să rezolvăm această mică problemă de strabisme și să facem micul nostru sistem portabil!
Pasul 3: faceți-l portabil: tăiați cu laser și montați
Pentru a face sistemul de camere portabil, am proiectat o structură din lemn pe care să înșurubez zmeura Pis camerele și ecranul bateriei. Proiectatul este atașat aici ca fișier svg. S-ar putea să trebuiască să modificați pozițiile șuruburilor pentru ecranul bateriei în funcție de ecranul dvs. și / sau de design în funcție de grosimea lemnului.
Odată ce ați tăiat totul:
- Montați camerele în partea stângă a proiectului (8 șuruburi M2 de 5 mm, 8 șuruburi M2 de 8 mm și 8 șuruburi de 8 mm)
- Montați ecranul bateriei (4 șuruburi M2 de 5 mm, 4 șuruburi M2 de 8 mm și 4 șuruburi de 8 mm)
- Montați „clusterul” pi de zmeură așa cum se arată în imaginea de mai sus (4 șuruburi M2 de 5 mm, 4 șuruburi M2 de 8 mm, 4 șuruburi tată-mamă de 5 mm sau mai mult, 4 șuruburi de 21 mm). Notă: Nu am avut șuruburi de 21 mm, așa că am făcut-o pe a mea cu 16 șuruburi și 5 șuruburi de sex feminin.
Atenție: lungimile șuruburilor definite aici pot fi schimbate, singurul lucru este doar să vă asigurați că distanța dintre zmeura Pis este suficient de mare pentru a nu primi scurtcircuit …
Încărcați bateriile cu litiu folosind conectorul mini-usb al ecranului bateriei și montați piesa de lemn împreună așa cum se arată în imaginea de mai sus. Sunteți gata să vă conectați scutul bateriei la zmeură! Și nu mai este nevoie de ssh-ing, de îndată ce pornim raspberry pi, acum partajează fluxul video online imediat ce începe, datorită UV4L. Transmisie terminată!
Pasul 4: Vizualizați imaginea stereo
Acum avem două fluxuri de imagini care sunt accesibile prin rețeaua locală, am văzut că le putem vizualiza individual folosind adresa https:// raspberryip {1, 2} / stream / pe un browser. Prin urmare, putem încerca să deschidem două pagini în browserul nostru? Nu, nu trebuie! 1. Asta ar fi prea urât, hai 2. asta nu ar funcționa, deoarece ecranul va merge la culcare după ceva timp! Acest pas vă va arăta cum să rezolvați aceste probleme.
Mai întâi să vedem ce se află în spatele adresei folosite anterior. Dacă verificați codul html al paginii deschise, veți vedea că fluxul afișat pe pagină constă dintr-un
etichetați cu sursa definită ca https://raspberryip/stream/video.mjpeg. Ca urmare, ultimul pas poate fi destul de simplu. O modalitate ar putea fi programarea unei aplicații Android cu două Webviews pentru a afișa fluxul de imagine, una mult mai simplă este să rulăm un server local pe computerul nostru care va difuza o pagină html similară cu „https:// raspberryip / stream /”, cu excepția că vă va permite să vizualizați ambele fluxuri în loc de unul și să păstrați dispozitivul treaz.
Cum configurăm un astfel de server? Nimic mai simplu cu python. Creați un folder în care puneți fișierele index.txt și NoSleep.txt pe care le veți redenumi ca index.html și NoSleep.js. În index.html, căutați cele două
etichete și înlocuiți ips-ul cu zmeură cu al dvs. Aceasta va fi pagina html care prezintă cele două fluxuri de imagini cu javascript, permițându-i să rămână treaz. Acum doriți să faceți această pagină accesibilă telefonului dvs. mobil, acolo unde Python devine la îndemână: puneți fișierul server.py în același folder și porniți scriptul folosind comanda python server.py (Rețineți că acest script este compatibil cu Python 3, dacă utilizați python 2 va trebui să editați server.py și să înlocuiți socketserver cu SocketServer).
Gata, puteți accesa fluxul stereo de pe orice dispozitiv cu un browser conectat la rețeaua dvs. locală. Încercați, obțineți IP-ul computerului și deschideți https:// computerip: 8080. Puteți observa probabil trei lucruri:
- Este minunat că suntem aproape acolo!
- Nu este pe ecran complet,
- În cele din urmă se culcă.
Cum se face ? După cum puteți citi aici, funcția de activare a modului fără somn are nevoie de o acțiune falsă pentru a fi apelată. Pentru a respecta această necesitate, am legat un clic pe prima imagine de această funcție. Ca rezultat, faceți clic pe prima imagine și ar trebui să vedeți o alertă care să vă spună că no-sleep este activat și că pagina ar trebui să fie acum și pe ecran complet.
Asta e! Acum ar trebui să puteți pune telefonul în setul cu cască VR și să vedeți ce se întâmplă în fața dispozitivelor dvs. Pi! Sau asta este?
Pasul 5: Smooth Things Up
De fapt, dacă Pi-urile și rețeaua dvs. sunt similare cu ale mele, ceea ce vedeți în setul cu cască poate fi un pic ciudat, deoarece ar putea exista unele întârzieri puternice. Deci, pentru a finaliza cu adevărat cu un sistem lin, să rezolvăm această ultimă problemă. Cum se rezolvă întârzierea? Pur și simplu am ghicit că problema ar putea proveni fie din comprimarea în timp real a lui Pi, care este prea intensă din punct de vedere al calculului, fie din conexiunea fără fir de care m-aș îndoi. Oricum, pentru a o rezolva, puteți face ceva foarte simplu, adică să reduceți rezoluția și bitrate-ul cu care sunt achiziționate și codificate imaginile dvs. pe Pi.
Pentru a modifica acești parametri, reveniți la terminal și conectați-vă la Raspberry Pi. UV4L utilizează un fișier de configurare. Acest fișier este /etc/uv4l/uv4l-raspicam.conf. Pentru a edita tastați comanda sudo nano /etc/uv4l/uv4l-raspicam.conf. Acum veți putea seta lățimea, înălțimea și cuantificarea după cum doriți. Am folosit valorile lățime = 320, înălțime = 240 și cuantificare = 40 și am obținut o transmisie lină cu acestea.
Pasul 6: Bucurați-vă
Singurul lucru care rămâne de făcut acum este să configurați sistemul acolo unde doriți să fie, să vă puneți telefonul în carton și să vă faceți sesiunea de yoga, meditație, bere de pong cu prietenii sau orice altceva! Este posibil să aveți nevoie de ceva timp (1 sau 2 minute) pentru a vă obișnui cu direcția camerei, care va simți la început ca și cum ați avea brusc o problemă de strabism. O modalitate prin care mă pot obișnui rapid este să mă concentrez mai întâi asupra obiectelor apropiate și apoi să trec la altele.
M-am gândit la câteva extensii care ar putea fi interesante:
- faceți posibilă vizualizarea în afara casei dvs., adică faceți fluxul accesibil din afara rețelei locale.
- pune-l pe o platformă robotică mobilă pentru a face curse cu drone!
Ca profesor, cred că acest proiect poate fi interesant pentru a afla mai multe despre:
- Raspberry Pi, care sunt componentele de bază ale unui computer, ce este un sistem de operare,
- Concepte generale de rețea, cu IP local și extern, protocolul
- HTML și javascript.
Sper că acest instructibil care a fost primul meu este suficient de clar, fără a fi prea greu de citit.
Recomandat:
Cum se face o sonerie fără atingere, detectarea temperaturii corpului, GY-906, 433 MHz folosind Arduino: 3 pași
Cum se face o sonerie fără atingere, detectarea temperaturii corpului, GY-906, 433 MHz Folosind Arduino: Astăzi vom face o sonerie fără atingere, aceasta va detecta temperatura corpului. În situația actuală, este foarte important să știm dacă temperatura corpului cuiva este mai mare decât în mod normal, atunci când cineva se bate. Acest proiect va afișa lumină roșie dacă detectează
Extensie web Chrome - nu este necesară o experiență de codificare prealabilă: 6 pași
Extensie web Chrome - nu este necesară o experiență de codificare prealabilă: extensiile Chrome sunt programe mici create pentru a îmbunătăți experiența de navigare a utilizatorilor. Pentru mai multe informații despre extensiile Chrome, accesați https://developer.chrome.com/extensions.Pentru a crea o extensie web Chrome, este necesară codarea, deci este foarte util să revedeți HT
Hat Not Hat - o pălărie pentru persoanele care nu poartă cu adevărat pălării, dar care și-ar dori o experiență de pălărie: 8 pași
Hat Not Hat - o pălărie pentru oamenii care nu poartă cu adevărat pălării, dar care și-ar dori o experiență de pălărie: mi-am dorit întotdeauna să pot fi o persoană cu pălărie, dar nu am găsit vreodată o pălărie care să funcționeze pentru mine. Această „pălărie nu pălărie”, sau fascinator așa cum se numește este o soluție crustă superioară la problema mea cu pălăria în care aș putea participa la Kentucky Derby, vacu
The JellyFish: Experiență sonoră de grup imersibilă și îmbunătățită: 3 pași
The JellyFish: Improvisable Immersive Group Sound Experience: Puteți face The JellyFish cu așternut de gunoi sau puteți cumpăra toate piesele la aproximativ 100 USD. „The Jellyfish” este o experiență de sunetitate augmentată imersivă mobilă, improvizabilă, pe care am adus-o săptămânii trecute la Phantasmagoria. 5 căști atârnă de o umbră
Experiență îmbunătățită cu autobuzul pentru persoanele cu deficiențe de vedere, cu imprimare Arduino și 3D: 7 pași
Experiență îmbunătățită cu autobuzul pentru persoanele cu deficiențe de vedere cu imprimare Arduino și 3D: Cum se poate face transportul public mai simplu pentru persoanele cu deficiențe de vedere? persoanele cu deficiențe de vedere. T