Tabla de contenido:

Experiencia de bricolaje digital fuera del cuerpo: 6 pasos
Experiencia de bricolaje digital fuera del cuerpo: 6 pasos

Video: Experiencia de bricolaje digital fuera del cuerpo: 6 pasos

Video: Experiencia de bricolaje digital fuera del cuerpo: 6 pasos
Video: Video 360 - Viaje al interior del cuerpo humano 2024, Mes de julio
Anonim
Experiencia de bricolaje digital fuera del cuerpo
Experiencia de bricolaje digital fuera del cuerpo

En este tutorial, aprenderá a construir un sistema que le permita ver como si estuviera en otro lugar. Llamé a esta experiencia digital fuera del cuerpo porque la primera vez que pensé en este sistema fue cuando estaba practicando yoga y pensé que sería muy interesante practicar mientras me veía a mí mismo con una vista de persona en 3D, como en algunos videojuegos. Eventualmente también pensé que podría ser un dispositivo interesante para meditar en el no-yo, mirándome desde afuera, como una herramienta que me ayude a tomar cierta distancia y simplemente observar mis pensamientos, emociones y sentimientos. Pero el yogui principiante y el meditador en mí no eran las personas adecuadas para dejarme llevar por este proyecto. Finalmente, es el jugador / jugador que soy quien pensó que este proyecto sería un buen paso incremental hacia la construcción de un robot móvil controlado a través de la vista en primera persona para hacer una especie de carrera de primera vista de robots móviles.

Paso 1: Cosas que necesitará

Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
Cosas que necesitará
  1. 2xRaspberry Pi 3 modelo B cada una equipada con cámara y cable de medida (15cm y 30cm)
  2. Un protector de batería, 2 baterías y un cable USB a 2xmini-USB para conectarlo a la Raspberry (utilicé un protector de batería doble 10650 con salida USB, baterías 2xLiitoKala Lii-35A 18650 y este cable)
  3. Pieza de madera MDF de 240x140x5mm (o cualquier otra madera compatible con cortadora láser)
  4. Acceso a un láser más lindo
  5. Tornillos y pernos M2
  6. Una computadora con Python
  7. Un teléfono inteligente con cromo
  8. Un cartón de Google o cualquier sistema que le permita obtener una experiencia de realidad virtual desde su teléfono (obtuve el ednet Virtual Reality Brille que es compatible con teléfonos de dimensiones de hasta 159.2 mm x 75.2 mm por lo que leí)

Paso 2: obtenga la Rapsberry Pi para capturar un video en vivo y compartirlo

Primero asegurémonos de que nuestra cámara Pi esté conectada a la Raspberry Pi. Hecho ? Esa fue la parte de hardware para este paso. Continuemos con la parte del software.

En cuanto al software, si estás en mi caso y no tienes un sistema operativo instalado en tu PI y no tienes ningún teclado, mouse y pantalla de repuesto, entonces descarguemos raspbian lite aquí y sigamos los sencillos pasos que se describen aquí: https://www.taygan.co/blog/2018/03/08/setup-a-rasp… Si todo salió bien, tu Pi ahora está conectado a tu WIFI, conoces su dirección IP y estás conectado a él a través de ssh.

Usando ssh hagamos que Pi comparta lo que ve. Para ello usaremos UV4L. Para ello, siga los pasos de la siguiente página web: https://raspberry-valley.azurewebsites.net/UV4L/. Si ha terminado con la configuración de UV4L como se describe en el enlace, ahora debería poder ver el video en vivo de su frambuesa en su computadora. Para esto simplemente vaya a su navegador en la dirección https:// raspberryip: 8080 / stream, reemplazando "raspberryip" por la ip de la raspberry pi que encontró a través de lanScan.

Eso es todo para uno de nuestros dos "ojos". ¿Y el otro? O repetimos el mismo proceso, o clonamos lo que está en nuestra raspberry pi a otra tarjeta SD. Para saber más sobre la segunda opción puedes consultar este github:

Y ahí lo tienes, ¡ahora deberías tener tus dos raspberry pi compartiendo su transmisión de video en vivo en la red local! Salimos de los ojos trabajando, ahora resolvamos este pequeño problema de estrabismo y hagamos que nuestro pequeño sistema sea portátil.

Paso 3: Hágalo portátil: corte y montaje con láser

Hágalo portátil: corte y montaje con láser
Hágalo portátil: corte y montaje con láser
Hágalo portátil: corte y montaje con láser
Hágalo portátil: corte y montaje con láser
Hágalo portátil: corte y montaje con láser
Hágalo portátil: corte y montaje con láser

Para hacer que el sistema de cámara sea portátil, diseñé una estructura de madera en la que puedo atornillar la frambuesa Pis, las cámaras y el protector de la batería. El diseño se adjunta aquí como un archivo svg. Es posible que deba modificar las posiciones de los tornillos para el protector de la batería según su protector y / o el diseño según el grosor de su madera.

Una vez que tengas todo cortado:

  1. Monte las cámaras en la parte izquierda del diseño (8 tornillos M2 de 5 mm, 8 tornillos M2 de 8 mm y 8 pernos de 8 mm)
  2. Monte el protector de la batería (4 tornillos M2 de 5 mm, 4 tornillos M2 de 8 mm y 4 tornillos de 8 mm)
  3. Monte el "cluster" de la frambuesa pi como se muestra en la imagen de arriba (4 tornillos M2 de 5 mm, 4 tornillos M2 de 8 mm, 4 pernos macho-hembra de 5 mm o más, 4 pernos de 21 mm). Nota: No tenía pernos de 21 mm, así que hice el mío con 16 pernos y 5 pernos hembra-macho.

Advertencia: las longitudes de los pernos definidos aquí se pueden cambiar, lo único que hay que hacer es asegurarse de que la distancia entre la frambuesa Pis sea lo suficientemente grande como para no sufrir ningún cortocircuito …

Cargue sus baterías de litio con el conector mini-usb del protector de batería y monte la pieza de madera como se muestra en la imagen de arriba. ¡Estás listo para conectar el protector de la batería a las frambuesas! Y no se requiere más ssh-ing, tan pronto como encendemos la raspberry pi, ahora comparte la transmisión de video en línea tan pronto como comienza gracias a UV4L. ¡Transmisión terminada!

Paso 4: Visualice la imagen estéreo

Visualice la imagen estéreo
Visualice la imagen estéreo

Ahora tenemos dos secuencias de imágenes a las que se puede acceder a través de la red local, vimos que podíamos verlas individualmente usando la dirección https:// raspberryip {1, 2} / stream / en un navegador. Por tanto, ¿podemos intentar abrir dos páginas en nuestro navegador? ¡No, no lo haremos! 1. Sería demasiado feo. 2. ¡Eso no funcionaría ya que la pantalla se iría a dormir después de un tiempo! Este paso le mostrará cómo resolver esos problemas.

Primero veamos qué hay detrás de la dirección utilizada antes. Si comprueba el código html de la página que se abre, verá que la secuencia que se muestra en la página consta de un

etiqueta con la fuente definida como https://raspberryip/stream/video.mjpeg. Como resultado, el último paso puede ser bastante simple. Una forma podría ser programar una aplicación de Android con dos vistas web para mostrar el flujo de imágenes, una mucho más simple es ejecutar un servidor local en nuestra computadora que servirá una página html similar a "https:// raspberryip / stream /" excepto que le permitirá ver ambas transmisiones en lugar de una, y mantener el dispositivo activo.

¿Cómo configuramos un servidor de este tipo? Nada más simple con Python. Cree una carpeta en la que coloque los archivos index.txt y NoSleep.txt que cambiará de nombre como index.html y NoSleep.js. En index.html, busque los dos

etiquetas y reemplace las ips de frambuesa con las suyas. Esta será la página html que mostrará nuestras dos secuencias de imágenes con el javascript que le permitirá permanecer despierto. Ahora desea que esta página sea accesible para su teléfono móvil, donde python se vuelve útil: coloque el archivo server.py en la misma carpeta e inicie el script usando el comando python server.py (tenga en cuenta que este script es compatible con python 3, si usa python 2, tendrá que editar server.py y reemplazar socketserver por SocketServer).

Eso es todo, puede acceder a la transmisión estéreo desde cualquier dispositivo con un navegador conectado a su red local. Pruébelo, obtenga la ip de su computadora y abra https:// computerip: 8080. Probablemente puedas notar tres cosas:

  • ¡Es genial que ya casi llegamos!
  • No está en pantalla completa,
  • Eventualmente se duerme.

Cómo ? Como puede leer aquí, la función para activar el modo sin suspensión necesita una acción ficticia para ser llamada. Para respetar esta necesidad, vinculé un clic en la primera imagen a esta función. Como resultado, simplemente haga clic en la primera imagen y debería ver una alerta que le indica que no está activado el modo de suspensión y que la página también debería estar ahora en pantalla completa.

¡Eso es todo! ¡Ahora debería poder poner su teléfono en sus auriculares de realidad virtual y ver lo que está sucediendo frente a su Pi! ¿O es eso?

Paso 5: suaviza las cosas

En realidad, si su Pi y su red son similares a las mías, lo que ve en sus auriculares puede ser un poco incómodo, ya que puede haber fuertes retrasos. Entonces, para terminar realmente con un sistema fluido, resolvamos este último problema. ¿Cómo solucionar el retraso? Simplemente supuse que el problema podría provenir de la compresión en tiempo real de los Pi, que es demasiado intensiva desde el punto de vista computacional, o de la conexión inalámbrica que yo dudaría. De todos modos, para solucionarlo puedes hacer algo muy sencillo que es reducir la resolución y la tasa de bits con la que se adquieren y codifican tus imágenes en las Pi.

Para cambiar esos parámetros, regrese a su terminal e inicie sesión en su Raspberry Pi. UV4L utiliza un archivo de configuración. Este archivo es /etc/uv4l/uv4l-raspicam.conf. Para editarlo, escriba el comando sudo nano /etc/uv4l/uv4l-raspicam.conf. Ahora podrá configurar el ancho, el alto y la cuantificación como desee. Usé los valores ancho = 320, alto = 240 y cuantificación = 40 y obtuve una transmisión suave con ellos.

Paso 6: disfruta

Lo único que queda por hacer ahora es configurar el sistema donde quieras, poner tu teléfono en tu cartón y hacer tu sesión de yoga, meditación, beer pong con tus amigos, ¡o lo que sea! Es posible que necesite algo de tiempo (1 o 2 minutos) para acostumbrarse a la dirección de la cámara, lo que al principio se sentirá como si de repente tuviera un problema de estrabismo. Una forma de acostumbrarme rápidamente es enfocarme primero en los objetos cercanos y luego pasar a otros más.

Pensé en algunas extensiones que podrían ser interesantes:

  • hacer posible ver fuera de su hogar, es decir, hacer que la transmisión sea accesible desde fuera de su red local.
  • ¡Ponlo en una plataforma robótica móvil para hacer carreras de drones!

Como docente, creo que este proyecto puede ser interesante para aprender más sobre:

  • La raspberry Pi, cuáles son los componentes básicos de una computadora, qué es un sistema operativo,
  • Conceptos generales de red, con IP local y externa, el protocolo
  • HTML y javascript.

Espero que este instructivo, que fue el primero, sea lo suficientemente claro sin ser demasiado pesado para leer.

Recomendado: