Sommario:
- Passaggio 1: cose di cui avrai bisogno
- Passaggio 2: ottenere il Rapsberry Pi per acquisire un video in diretta e condividerlo
- Passaggio 3: rendilo portatile: taglio e montaggio laser
- Passaggio 4: visualizza l'immagine stereo
- Passaggio 5: migliora le cose
- Passaggio 6: divertiti
Video: Esperienza digitale fuori dal corpo fai-da-te: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
In questo tutorial imparerai come costruire un sistema che ti permetta di vedere come se fossi da qualche altra parte. Ho chiamato questa esperienza digitale fuori dal corpo perché la prima volta che ho pensato a questo sistema è stato quando stavo praticando yoga e ho pensato che sarebbe stato molto interessante esercitarmi guardando me stesso con la visuale 3D, come in alcuni videogiochi. Alla fine ho anche pensato che potesse essere un dispositivo interessante per meditare sul non-sé, guardandomi dall'esterno, come uno strumento per aiutarmi a prendere una certa distanza e semplicemente osservare i miei pensieri, emozioni e sentimenti. Ma lo yogi principiante e il meditatore in me non erano le persone giuste per lasciarmi trasportare da questo progetto. Alla fine è il giocatore/giocatore che sono io che ha pensato che questo progetto sarebbe stato un bel passo in avanti verso la costruzione di un robot mobile controllato attraverso la visuale in prima persona per fare una sorta di corsa in prima visione del robot mobile!
Passaggio 1: cose di cui avrai bisogno
- 2xRaspberry Pi 3 modello B ciascuno dotato di fotocamera e cavo di misura (15 cm e 30 cm)
- Uno scudo per batteria, 2 batterie e cavo da USB a 2xmini-USB per il collegamento al Raspberry (ho usato un doppio scudo per batteria 10650 con uscita USB, batterie 2xLiitoKala Lii-35A 18650 e questo cavo)
- 240x140x5mm pezzo di legno MDF (o qualsiasi altro legno compatibile con il taglio laser)
- Accesso a un cutter laser
- Viti e bulloni M2
- Un computer con Python
- Uno smartphone con Chrome
- Un cartone di Google o qualsiasi sistema che ti permetta di ottenere un'esperienza VR dal tuo telefono (ho ottenuto l'ednet Virtual Reality Brille che è compatibile con telefoni di dimensioni fino a 159,2 mm x 75,2 mm da quello che ho letto)
Passaggio 2: ottenere il Rapsberry Pi per acquisire un video in diretta e condividerlo
Per prima cosa assicuriamoci che la nostra fotocamera Pi sia collegata al Raspberry Pi. Fatto ? Quella era la parte hardware per questo passaggio. Continuiamo con la parte software.
Per quanto riguarda il software, se sei nel mio caso e non hai un sistema operativo installato sul tuo PI e non hai tastiera, mouse e schermo di riserva, allora scarichiamo raspbian lite qui e seguiamo i semplici passaggi descritti qui: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Se tutto è andato bene, il tuo Pi è ora connesso al tuo WIFI, conosci il suo indirizzo IP e sei connesso ad esso tramite ssh.
Usando ssh facciamo in modo che il Pi condivida ciò che visualizza. Per questo useremo UV4L. Per questo seguire i passaggi nella seguente pagina Web: https://raspberry-valley.azurewebsites.net/UV4L/. Se hai finito con l'installazione di UV4L come descritto nel link, ora dovresti essere in grado di vedere il video live del tuo lampone sul tuo computer. Per questo basta andare sul tuo browser all'indirizzo https://raspberryip:8080/stream, sostituendo "raspberryip" con l'ip del raspberry pi che hai trovato tramite lanScan.
Questo è tutto per uno dei nostri due "occhi". E l'altro? O ripetiamo lo stesso processo, o cloniamo ciò che è sul nostro Raspberry Pi su un'altra scheda SD. Per saperne di più sulla seconda opzione puoi controllare questo github:
Ed ecco fatto, ora dovresti avere i tuoi due Raspberry Pi che condividono il loro flusso video in diretta sulla rete locale! Ci siamo cavati gli occhi lavorando, ora risolviamo questo piccolo problema di strabismo e rendiamo portatile il nostro piccolo sistema!
Passaggio 3: rendilo portatile: taglio e montaggio laser
Per rendere portatile il sistema di fotocamere, ho progettato una struttura in legno su cui posso avvitare il lampone Pis le fotocamere e lo scudo della batteria. Il design è allegato qui come file svg. Potrebbe essere necessario modificare le posizioni delle viti per lo scudo della batteria a seconda dello scudo e/o il design a seconda dello spessore del legno.
Una volta tagliato tutto:
- Montare le telecamere sulla parte sinistra del design (8 viti M2 da 5 mm, 8 viti M2 da 8 mm e 8 bulloni da 8 mm)
- Montare lo scudo della batteria (4 viti M2 da 5 mm, 4 viti M2 da 8 mm e 4 bulloni da 8 mm)
- Montare il "cluster" raspberry pi come mostrato nell'immagine sopra (4 viti M2 da 5 mm, 4 viti M2 da 8 mm, 4 bulloni maschio-femmina da 5 mm o più, 4 bulloni da 21 mm). Nota: non avevo bulloni da 21 mm, quindi ho fatto il mio con 16 bulloni e 5 bulloni femmina-maschio.
Attenzione: le lunghezze dei bulloni qui definite possono essere modificate, l'unica cosa è assicurarsi che la distanza tra il lampone Pis sia abbastanza grande da non creare cortocircuiti…
Carica le tue batterie al litio utilizzando il connettore mini-usb della protezione della batteria e monta il pezzo di legno insieme come mostrato nell'immagine sopra. Sei pronto per collegare lo scudo della batteria ai lamponi! E non è più necessario ssh-ing, non appena accendiamo il raspberry pi ora condivide il flusso video online non appena inizia grazie a UV4L. Trasmissione finita!
Passaggio 4: visualizza l'immagine stereo
Ora abbiamo due flussi di immagini accessibili tramite la rete locale, abbiamo visto che potevamo visualizzarli individualmente utilizzando l'indirizzo https://raspberryip{1, 2}/stream/ su un browser. Possiamo quindi provare ad aprire due pagine sul nostro browser? No, non lo faremo! 1. Sarebbe troppo brutto dai 2. non funzionerebbe perché il display si spegnerebbe dopo un po' di tempo! Questo passaggio ti mostrerà come risolvere questi problemi.
Per prima cosa vediamo cosa c'è dietro l'indirizzo usato prima. Se controlli il codice html della pagina che viene aperta, vedrai che lo stream che viene mostrato nella pagina è costituito da un
tag con la sorgente definita come https://raspberryip/stream/video.mjpeg. Di conseguenza l'ultimo passaggio può essere abbastanza semplice. Un modo potrebbe essere programmare un'app Android con due Webview per mostrare il flusso di immagini, uno molto più semplice è eseguire un server locale sul nostro computer che servirà una pagina html simile a "https://raspberryip/stream/" tranne che ti consentirà di visualizzare entrambi i flussi anziché uno e di mantenere attivo il dispositivo.
Come si imposta un server del genere? Niente di più semplice con Python. Crea una cartella in cui metti i file index.txt e NoSleep.txt che rinominerai come index.html e NoSleep.js. In index.html, cerca i due
tag e sostituisci il lampone ips con il tuo. Questa sarà la pagina html che mostrerà i nostri due flussi di immagini con il javascript che gli consentirà di rimanere sveglio. Ora vuoi rendere questa pagina accessibile al tuo cellulare, quella in cui python ti torna utile: metti il file server.py nella stessa cartella e avvia lo script usando il comando python server.py (nota che questo script è compatibile con python 3, se usi python 2 dovrai modificare server.py e sostituire socketserver con SocketServer).
È così che puoi accedere allo streaming stereo da qualsiasi dispositivo con un browser connesso alla tua rete locale. Provalo, ottieni l'ip del tuo computer e apri https://computerip:8080. Probabilmente puoi notare tre cose:
- È fantastico che ci siamo quasi!
- Non è a schermo intero,
- Alla fine va a dormire.
Come mai ? Come puoi leggere qui, la funzione per attivare la modalità no-sleep richiede un'azione fittizia per essere chiamata. Per rispettare questa necessità ho collegato a questa funzione un click sulla prima immagine. Di conseguenza, fai semplicemente clic sulla prima immagine e dovresti vedere un avviso che ti dice che la non sospensione è attivata e che anche la pagina dovrebbe essere ora a schermo intero.
Questo è tutto! Ora dovresti essere in grado di mettere il tuo telefono nell'auricolare VR e vedere cosa sta succedendo davanti ai tuoi Pi! O è quello?
Passaggio 5: migliora le cose
In realtà, se i tuoi Pi e la tua rete sono simili ai miei, ciò che vedi nell'auricolare potrebbe essere un po' imbarazzante in quanto potrebbero esserci dei forti ritardi. Quindi, per finire davvero con un sistema fluido, risolviamo quest'ultimo problema. Come risolvere il ritardo? Ho semplicemente immaginato che il problema potesse derivare sia dalla compressione in tempo reale da parte dei Pi che è troppo impegnativa dal punto di vista computazionale, sia dalla connessione wireless di cui dubito. Ad ogni modo, per risolverlo puoi fare qualcosa di molto semplice che è ridurre la risoluzione e il bitrate con cui le tue immagini vengono acquisite e codificate sui Pi.
Per modificare questi parametri, torna al tuo terminale e accedi al tuo Raspberry Pi. UV4L utilizza un file di configurazione. Questo file è /etc/uv4l/uv4l-raspicam.conf. Per modificarlo digita il comando sudo nano /etc/uv4l/uv4l-raspicam.conf. Ora sarai in grado di impostare la larghezza, l'altezza e la quantizzazione come preferisci. Ho usato i valori larghezza = 320, altezza = 240 e quantizzazione = 40 e ho ottenuto una trasmissione fluida con quelli.
Passaggio 6: divertiti
L'unica cosa che resta da fare ora è impostare il sistema dove vuoi che sia, mettere il telefono nel cartone e fare la tua sessione di yoga, meditazione, birra pong con i tuoi amici o qualsiasi altra cosa! Potresti aver bisogno di un po' di tempo (1 o 2 minuti) per abituarti alla direzione della telecamera che all'inizio ti sembrerà di avere improvvisamente un problema di strabismo. Un modo per abituarmi rapidamente è concentrarmi prima sugli oggetti vicini e poi passare a quelli successivi.
Ho pensato ad alcune estensioni che potrebbero essere interessanti:
- rendere possibile vedere fuori casa, cioè rendere accessibile lo streaming dall'esterno della propria rete locale.
- mettilo su una piattaforma robotica mobile per fare gare di droni!
Come insegnante penso che questo progetto possa essere interessante per saperne di più su:
- Il Raspberry Pi, quali sono i componenti di base di un computer, cos'è un sistema operativo,
- Concetti generali di rete, con IP locale ed esterno, protocollo
- HTML e javascript.
Spero che questo tutorial che è stato il mio primo sia abbastanza chiaro senza essere troppo pesante da leggere.
Consigliato:
Estensione Web Chrome: non è necessaria alcuna esperienza di codifica precedente: 6 passaggi
Estensione Web Chrome: non è necessaria alcuna esperienza di codifica precedente: le estensioni di Chrome sono piccoli programmi creati per migliorare l'esperienza di navigazione degli utenti. Per maggiori informazioni sulle estensioni di Chrome, vai su https://developer.chrome.com/extensions. Per creare un'estensione Web di Chrome, è necessaria la codifica, quindi è molto utile rivedere HT
Droni da combattimento Quadricotteri Aka una vera esperienza di combattimento aereo: 8 passaggi (con immagini)
Droni da combattimento Quadricotteri Aka una vera esperienza di combattimento aereo: Benvenuti nel mio "ible" #37Dobbiamo ammettere che gli attuali droni da battaglia sul mercato sono un po' disordinati. È molto difficile capire chi sta vincendo e chi sta perdendo. Quando un drone scende, l'altro lo segue (schiantandosi l'uno contro l'altro
Latch SR fai-da-te fuori dai transistor: 7 passaggi
Latch SR fai-da-te fuori dai transistor: un latch SR è un tipo di circuito chiamato "bistabile". I circuiti bistabili hanno due stati stabili, da cui il nome BI-stabile. Una delle versioni più semplici di questo tipo di circuito è il latch SR, che sta per "Set/Reset Latch.&qu
Rilevare il nonno fuori dal letto troppo a lungo: 7 passaggi
Rilevare il nonno fuori dal letto troppo a lungo: BackgroundMentre ci sono stati monitor di allarme del letto per molti anni che sono solo semplici chiusure di contatti del letto che suonano un allarme locale per gli operatori sanitari quando qualcuno si alza dal letto, non c'è stato un modo per la famiglia remota badanti per monitorare un lo
Custodia con schermatura RFID fuori dal "cestino": 21 passaggi (con immagini)
Custodia con schermatura RFID fuori dal "cestino": scegli quando le informazioni digitali sul passaporto scheggiato e sulle carte di credito/d'identità sono "attive" o "disattivate" creando una custodia o un portafoglio che contenga materiali di schermatura/attenuazione delle onde radio. Questo è costruito con sacchetti della spazzatura e lattine di alta