FOSFENO: motor de visuales audio-reactivas para Raspberry Pi

Primera version. Cinco motores (projectM, Butterchurn, Hydra, Shaders GLSL y mezclador VJ con camara y video), panel de control web, deteccion de BPM propia, pantalla de conexion con codigo QR, instalador robusto para Raspberry Pi 4 y 5 y documentacion completa en docs/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
hacklab 2026-05-22 14:18:19 +02:00
commit 30a09fdee6
31 changed files with 3478 additions and 0 deletions

89
docs/conexion.md Normal file
View file

@ -0,0 +1,89 @@
# Conectarse al panel
Esta es la parte donde, sin cuidado, la gente se atasca: la Raspberry funciona,
las visuales salen por el proyector, pero el usuario no sabe en qué dirección
está el panel de control. FOSFENO está pensado para que ese paso no exista
como problema.
## La idea: encender y ver
Cuando la Raspberry arranca, antes de ponerse a dibujar visuales, el proyector
muestra una pantalla de conexión durante unos segundos. En esa pantalla salen
tres cosas:
- Un código QR grande.
- La dirección del panel.
- Un recordatorio de que el móvil tiene que estar en la misma red.
Esa misma pantalla vuelve a aparecer siempre que apagas las visuales desde el
panel. Así, si en mitad de un evento alguien necesita la dirección, basta con
darle a apagar y la tiene delante en el proyector.
## Tres formas de entrar, de la más fácil a la menos
**Escanear el código QR.** Abre la cámara del móvil, apúntala al QR que sale en
el proyector y toca el aviso que aparece. Se abre el panel. No hay que escribir
nada. Es la forma recomendada.
**Escribir el nombre.** En el navegador del móvil, escribe:
```
http://fosfeno.local/
```
Esta dirección no cambia nunca, da igual el día o la red. El instalador le pone
a la Raspberry el nombre de red `fosfeno`, y `fosfeno.local` es la forma
estándar de localizar un equipo por su nombre en la red local.
**Escribir la dirección IP.** Es la que aparece en la pantalla de conexión del
proyector, algo como `http://192.168.1.71/`. Funciona siempre, pero la IP puede
cambiar de un día para otro, así que es la opción de reserva.
## El móvil tiene que estar en la misma red
El panel es una página local: vive dentro de la Raspberry, no en internet. Para
abrirla, el móvil y la Raspberry tienen que estar conectados a la misma red:
el mismo router, ya sea por WiFi o por cable.
No funciona si el móvil está con datos móviles, ni si está en una red WiFi
distinta (por ejemplo, una red de invitados separada).
## Sobre `fosfeno.local`
El nombre `.local` funciona gracias a un sistema llamado mDNS, que ya viene
activado en Raspberry Pi OS. Lo entienden los iPhone, los Android modernos,
Windows y Mac sin instalar nada.
Si en algún móvil viejo `fosfeno.local` no abre, no pasa nada: usa el código QR
o la dirección IP, que aparecen igualmente en el proyector.
Puedes cambiar ese nombre. Edita `config.json`, el apartado `network.hostname`,
y vuelve a ejecutar `bash install.sh`. El panel quedará entonces en
`http://el-nombre-que-pongas.local/`.
## Sobre el router
No hace falta tocar nada en el router. FOSFENO no abre puertos hacia internet
ni necesita configuración especial. Solo usa la red local.
Un único ajuste es recomendable, aunque opcional: entrar en el router y
reservarle a la Raspberry siempre la misma IP (lo que se suele llamar reserva
DHCP o IP fija). Así la dirección IP no cambia nunca. De todas formas, como el
nombre `fosfeno.local` ya es fijo, puedes saltarte esto sin problema.
Para un evento, el cable de red entre la Raspberry y el router es más fiable
que el WiFi.
## Si no consigues conectar
Repasa estas cosas, en orden:
- El móvil está en la misma red WiFi que la Raspberry, no en datos móviles.
- Has escrito `http://` delante, y la barra `/` al final.
- Prueba las tres vías: primero el QR, si no el nombre, si no la IP.
- Mira la pantalla de conexión del proyector: la dirección que sale ahí es la
buena en este momento.
Si el proyector no muestra ni siquiera la pantalla de conexión, el problema no
es de red sino de arranque; en ese caso mira la guía de
[solución de problemas](problemas.md).