Diferencia entre revisiones de «Kiosko en Raspberry»
Sin resumen de edición |
Sin resumen de edición |
||
| Línea 30: | Línea 30: | ||
## sudo nano .config/wayfire.ini | ## sudo nano .config/wayfire.ini | ||
## Buscamos la sección '''''[autostart]''','' que debería verse como esto: | ## Buscamos la sección '''''[autostart]''','' que debería verse como esto: | ||
##*En caso de que no estuviera, lo creamos. | ##*En caso de que no estuviera, lo creamos.<blockquote><code>[autostart]</code><code> panel = wfrespawn wf-panel-pi</code><code> background = wfrespawn pcmanfm --desktop --profile LXDE-pi</code><code> xdg-autostart = lxsession-xdg-autostart</code></blockquote> | ||
##Agregamos las siguientes líneas:<blockquote><code>chromium = chromium-browser '''<url que queremos mostrar>''' --kiosk --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --enable-features=OverlayScrollbar --start-maximized</code> <code>switchtab = bash ~/switchtab.sh</code> <code>screensaver = false</code> <code>dpms = false</code></blockquote> | |||
<code>[autostart] | |||
panel = wfrespawn wf-panel-pi | |||
background = wfrespawn pcmanfm --desktop --profile LXDE-pi | |||
xdg-autostart = lxsession-xdg-autostart</code> | |||
</blockquote> | |||
##Agregamos las siguientes líneas:<blockquote><code>chromium = chromium-browser '''<url que queremos mostrar>''' --kiosk --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --enable-features=OverlayScrollbar --start-maximized</code> <code>switchtab = bash ~/switchtab.sh</code> <code>screensaver = false</code> | |||
##*Podemos poner tantas urls como queramos mostrar, separadas por espacios y entre comillas en caso de que tuviesen espacios en blanco dentro de su definición. | ##*Podemos poner tantas urls como queramos mostrar, separadas por espacios y entre comillas en caso de que tuviesen espacios en blanco dentro de su definición. | ||
##**Definición de parámetros | ##**Definición de parámetros | ||
| Línea 52: | Línea 44: | ||
##Creamos el script que se encarga de cambiar entre pestañas. | ##Creamos el script que se encarga de cambiar entre pestañas. | ||
##*nano ~/switchtab.sh | ##*nano ~/switchtab.sh | ||
##*Contenido:<blockquote><code> | ##*Contenido:<blockquote><code>!/bin/bash</code><code>#Encuentra el PID de chromium</code><code>chromium_pid=$(pgrep chromium | head -1)</code><code>#Comprueba que chromium está activo</code><code>while</code><code>[</code><code>[ -z $chromium_pid ]]; do</code><code>echo "Chromium browser is not running yet."</code><code>sleep 5</code><code>chromium_pid=$(pgrep chromium | head -1)</code><code>done</code><code>echo "Chromium browser process ID: $chromium_pid" export XDG_RUNTIME_DIR=/run/user/1000</code><code>#Bucle para enviar actividad de teclado:</code><code>while true; do</code><code># Send Ctrl+Tab using `wtype` command</code><code>wtype -M ctrl -P Tab</code> <code># Send Ctrl+Tab using `wtype` command</code><code>wtype -m ctrl -p Tab</code><code>sleep 10</code><code>done</code></blockquote> | ||
##*Si necesitamos que además recargue la página después de cambiar pestaña añadimos<blockquote>wtype -P F5</blockquote> | ##*Si necesitamos que además recargue la página después de cambiar pestaña añadimos<blockquote>wtype -P F5</blockquote> | ||
##*Y quedaría de la siguiente forma:<blockquote><code># Send Ctrl+Tab using `wtype` command</code> <code>wtype -M ctrl -P Tab</code> wtype -P F5 <code># Send Ctrl+Tab using `wtype` command</code> <code>wtype -m ctrl -p Tab</code> wtype -p F5 <code>sleep 10</code> </blockquote> | ##*Y quedaría de la siguiente forma:<blockquote><code># Send Ctrl+Tab using `wtype` command</code> <code>wtype -M ctrl -P Tab</code> <code>wtype -P F5</code> <code># Send Ctrl+Tab using `wtype` command</code> <code>wtype -m ctrl -p Tab</code> <code>wtype -p F5</code> <code>sleep 10</code> </blockquote> | ||
Revisión del 15:32 28 feb 2024

Un "Kiosko", "Kiosco" o "Quiosco" es un ordenador o terminal informática situada en un espacio público que permite a los usuarios una cantidad controlada de interacción con dicha terminal. Un ejemplo común de Quiosco serían las pantallas que muestran información sobre los vuelos en los aeropuertos o las pantallas táctiles en los cines que te permiten comprar tickets a las películas, o las pantallas donde haces tus pedidos en los restaurantes de comida rápida.
Proceso de Instalación en RaspBerry
Entorno de trabajo utilizado:
- Raspberry Pi 4.
- Raspberry Pi OS (Debian 12, bookworm) 64-bits.
- Wayland.
- Chromium.
Prerrequisitos:
- Sistema operativo base instalado y funcionando correctamente.
- SSH configurado.
- Una pantalla para visualizar el quiosco.
Proceso:
- Accedemos a la Raspberry mediante SSH.
- Instalamos wtype, un software que nos permite simular actividad con el teclado.
- sudo apt install wtype
- Cambiamos la configuración de inicio de sesión para que el dispositivo haga "Autologin", es decir, inicie el usuario automáticamente.
- sudo raspi-config
- Para navegar el menú usamos las flechas del teclado y la tecla "Enter" para seleccionar la opción.
- System Options > Boot > Auto Login > Desktop Autologin: Desktop GUI, automatically logged in as '<usuario>' user.
- Pulsamos enter > "Finish" y reiniciamos cuando nos pregunte. Ahora iniciará automáticamente.
- sudo raspi-config
- Ahora, configuraremos la Raspberry para enseñar en modo quiosco lo que queremos y cómo lo queremos. Para esto editaremos el archivo .config/wayfire.ini. Este documento sirve para modificar la apariencia y comportamiento de Wayfire, el sistema que se usa para procesar el escritorio en Raspberry Pi OS.
- sudo nano .config/wayfire.ini
- Buscamos la sección [autostart], que debería verse como esto:
- En caso de que no estuviera, lo creamos.
[autostart]panel = wfrespawn wf-panel-pibackground = wfrespawn pcmanfm --desktop --profile LXDE-pixdg-autostart = lxsession-xdg-autostart
- En caso de que no estuviera, lo creamos.
- Agregamos las siguientes líneas:
chromium = chromium-browser <url que queremos mostrar> --kiosk --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --enable-features=OverlayScrollbar --start-maximizedswitchtab = bash ~/switchtab.shscreensaver = falsedpms = false- Podemos poner tantas urls como queramos mostrar, separadas por espacios y entre comillas en caso de que tuviesen espacios en blanco dentro de su definición.
- Definición de parámetros
- --kiosk: le indica a Chromium que funcionará en modo quisco.
- --noerrdialogs: evita que se muestren mensajes de error.
- --disable-infobars: quita la barra superior del navegador.
- --no-first-run: deshabilita el proceso de configuración inicial del navegador.
- --ozone-platform=wayland: establece una versión de Wayland compatible con la plataforma Ozone.
- --enable-features=OverlayScroolbar: activa la barra de desplazamiento solo cuando es necesario y en modo overlay.
- --start-maximized: inicia el navegador en pantalla completa.
- La línea "switchtab = bash ~/switchtab.sh" hace referencia a un script que definiremos a continuación y se encargará de cambiar entre pestañas cada 10 segundos.
- Definición de parámetros
- Podemos poner tantas urls como queramos mostrar, separadas por espacios y entre comillas en caso de que tuviesen espacios en blanco dentro de su definición.
- Creamos el script que se encarga de cambiar entre pestañas.
- nano ~/switchtab.sh
- Contenido:
!/bin/bash#Encuentra el PID de chromiumchromium_pid=$(pgrep chromium | head -1)#Comprueba que chromium está activowhile[[ -z $chromium_pid ]]; doecho "Chromium browser is not running yet."sleep 5chromium_pid=$(pgrep chromium | head -1)doneecho "Chromium browser process ID: $chromium_pid" export XDG_RUNTIME_DIR=/run/user/1000#Bucle para enviar actividad de teclado:while true; do# Send Ctrl+Tab using `wtype` commandwtype -M ctrl -P Tab# Send Ctrl+Tab using `wtype` commandwtype -m ctrl -p Tabsleep 10done
- Si necesitamos que además recargue la página después de cambiar pestaña añadimos
wtype -P F5
- Y quedaría de la siguiente forma:
# Send Ctrl+Tab using `wtype` commandwtype -M ctrl -P Tabwtype -P F5# Send Ctrl+Tab using `wtype` commandwtype -m ctrl -p Tabwtype -p F5sleep 10
- Si necesitamos que además recargue la página después de cambiar pestaña añadimos