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>
4.3 KiB
Instalación
La instalación es un único comando. Aun así, conviene saber qué hace por dentro, porque descarga y compila bastantes cosas y el proceso tarda.
Antes de empezar
Necesitas Raspberry Pi OS Bookworm de 64 bits con el escritorio instalado, no la versión Lite. FOSFENO muestra las visuales dentro de una ventana de Chromium a pantalla completa, así que hace falta entorno gráfico.
Conviene tener la Raspberry conectada a internet por cable durante la instalación. Se descargan paquetes del sistema, librerías y el código fuente de projectM.
El comando
git clone <URL-de-tu-gitlab>/fosfeno.git
cd fosfeno
bash install.sh
El instalador va informando de cada paso con una marca delante:
[ OK ]el paso terminó bien.[ !! ]hubo un aviso. No es grave, pero conviene leerlo.[ XX ]hubo un fallo que detiene la instalación.
Al final resume cuántos avisos hubo. Si todo sale con [ OK ], la
instalación está limpia.
Qué se instala automáticamente
El script trabaja en nueve fases. Esto es lo que hace cada una.
Comprobación del sistema. Detecta si la placa es una Pi 4 o una Pi 5, mira la versión del sistema operativo y la arquitectura. Si algo no encaja avisa, pero te deja seguir.
Paquetes del sistema. Instala con apt lo que hace falta para que todo lo demás funcione:
- Python 3 y su gestor de entornos virtuales.
- Chromium, el navegador donde se dibujan las visuales.
- Node.js y npm, para descargar las librerías de visuales.
- Git, CMake y las herramientas de compilación, necesarias para projectM.
- Las librerías de desarrollo de SDL2, OpenGL ES y POCO, que projectM usa al compilar.
- Las utilidades de PulseAudio, para detectar el micrófono.
- v4l-utils, para reconocer la cámara USB.
- xdotool y unclutter, para el control de projectM y para esconder el ratón.
Verificación de versiones. Comprueba que Python, Node, npm y CMake cumplen una versión mínima. Si alguna se queda corta lo dice claramente. Cuando es CMake quien no llega, salta la compilación de projectM en lugar de fallar entera.
Entorno de Python. Crea un entorno virtual aislado e instala Flask y Flask-SocketIO, que son el servidor web del proyecto. Después comprueba que esas librerías se importan de verdad.
Librerías de visuales. Con npm descarga Butterchurn y sus presets, Hydra,
el cliente de Socket.IO y CodeMirror, que es el editor de código del panel.
Copia los archivos que se usan a una carpeta web/lib y verifica uno por uno
que cada copia existe y no está vacía.
projectM. Compila projectM desde su código fuente. Esto es lo que más
tarda, entre diez y veinte minutos en una Raspberry. Si la compilación falla,
el instalador lo avisa y sigue adelante: FOSFENO funciona igual con los otros
cuatro motores. Puedes saltarte este paso desde el principio con
bash install.sh --no-projectm.
Recursos. Descarga un paquete de presets para projectM y crea la carpeta
data/videos, donde copiarás tus clips para el modo Mezclador.
Arranque automático. Configura la Raspberry para que, al encender el escritorio, lance FOSFENO sola. También da permiso para reiniciar y apagar la placa desde el panel sin pedir contraseña.
Puerto 80. Da permiso a Python para usar el puerto 80, que es lo que
permite abrir el panel en http://la-ip-de-tu-pi/ sin escribir ningún número
de puerto detrás.
Después de instalar
Falta un ajuste que el script no puede hacer por ti. Hay que decirle a la Raspberry que arranque sola en el escritorio:
sudo raspi-config
Dentro, ve a System Options, luego Boot / Auto Login, y elige
Desktop Autologin. Sal y reinicia:
sudo reboot
Al volver, la Raspberry arranca directa en modo kiosko mostrando las
visuales. El panel queda disponible en http://la-ip-de-tu-pi/.
Comprobar el sistema sin reinstalar
Si quieres revisar que todo sigue en su sitio, o diagnosticar un problema, hay un modo que solo comprueba y no toca nada:
bash install.sh --check
Lista las versiones de las herramientas y dice si projectM y Chromium están presentes.
Volver a ejecutar el instalador
El script se puede ejecutar las veces que quieras. No repite el trabajo ya hecho: no vuelve a compilar projectM si ya está, ni vuelve a descargar los presets si ya están. Es seguro relanzarlo si una instalación se cortó a medias.