forked from TDTP/pantallas-led
instrucciones
parent
2ae2b33d08
commit
b136bd23f4
|
@ -51,3 +51,27 @@ Luego de haber descargado los datos almancenados en este reposotorio. En el dire
|
||||||
#### Despliegue de imagenes
|
#### Despliegue de imagenes
|
||||||
|
|
||||||
Al seleccionar esta opción, se mostrarán todos los archivos de imagen guardados en el sistema de la Raspberry Pi. Se recomienda utilizar imagenes con la mimsa relacion de aspecto que la resolución de la pantalla montada para el despliegue. De lo contrario, la pantalla tendrá espacios en negro.
|
Al seleccionar esta opción, se mostrarán todos los archivos de imagen guardados en el sistema de la Raspberry Pi. Se recomienda utilizar imagenes con la mimsa relacion de aspecto que la resolución de la pantalla montada para el despliegue. De lo contrario, la pantalla tendrá espacios en negro.
|
||||||
|
|
||||||
|
### Variables del Sistema Operativo
|
||||||
|
|
||||||
|
Se propone un Sub-sistema que se encargue de manera dedicada al renderizado en la Matriz LED en forma continua. Para eso se implementa un *demonio* de Linux que esta continuamente dibujando en el display.
|
||||||
|
|
||||||
|
Para ello se reserva el procesador 3, entregandoselele la `CPUAffinity=3` al proceso, de manera de garantizar el recurso computacional. Adicionalmente se modifica el Sistema Operativo para que quite el procesador del itineradoe usando `isocpus=3` en la variable de inicio `/boot/cmdline.txt`.
|
||||||
|
|
||||||
|
Además se monta un directorio de `/srv/ledram` que tiene un tamaño de 32MB para disponer una *memoria de video* en RAM que permita a otros procesos actualizar el contenido que se despliega en el display. Para ello se modifica el `/etc/fstab` para que se cree el recurso automaticamente al iniciarse la Raspberry.
|
||||||
|
|
||||||
|
#### Sub-sistema de renderizado
|
||||||
|
|
||||||
|
Se define el directorio `/srv` donde se aloja el sub-sistema de renderizado. Esta compuesto del script `/srv/subsystem/led-driver.py` que es iniciado en forma automática por `systemd`.
|
||||||
|
|
||||||
|
El script ve la hora de modificación del archivo `/srv/ledram/current.png` para determinar si debe o no actualizar la imagen que se está desplegando actualmente en el display cada 100 ms.
|
||||||
|
|
||||||
|
De esta manera, cualquier usuario o proceso (`chmod 666`) puede escribir ese archivo. Siendo este sub sistema el encargado de leer el contenido de la imagen y renderizarlo en el display led en forma permanente.
|
||||||
|
|
||||||
|
#### Instalación como servicio
|
||||||
|
|
||||||
|
Todos estos pasos están automatizados en el script `install-service.sh` que debe ser ejecutado como `root`.
|
||||||
|
|
||||||
|
#### TODO
|
||||||
|
|
||||||
|
Falta que el script detecte cuando se le solicita salir, para que elimine el archivo `/srv/ledram/current.png`, de tal manera de poder `systemctl stop led-driver.service` y `systemctl start led-driver.service` sin depender que la imagen se elimine en forma automatica al ser un directorio volatil
|
||||||
|
|
Loading…
Reference in New Issue