Kiosko en Raspberry

De Wiki IES El Rincón
Revisión del 15:38 4 mar 2024 de Ses (discusión | contribs.) (→‎Deshabilitar puertos USB)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda
Pantalla de información en el aeropuerto de Languindingan, Filipinas.
Pantalla de información en el aeropuerto de Languindingan, Filipinas.
Quiosco de pedido de Burger King.
Quiosco de pedido de Burger King.

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

Prerrequisitos

  • Sistema operativo base instalado y funcionando correctamente.
  • SSH configurado.
  • Una pantalla para visualizar el quiosco.

Proceso

  1. Accedemos a la Raspberry mediante SSH.
  2. Instalamos wtype, un software que nos permite simular actividad con el teclado.
    1. sudo apt install wtype
  3. Cambiamos la configuración de inicio de sesión para que el dispositivo haga "Autologin", es decir, inicie el usuario automáticamente.
    1. sudo raspi-config
      • Para navegar el menú usamos las flechas del teclado y la tecla "Enter" para seleccionar la opción.
    2. System Options > Boot > Auto Login > Desktop Autologin: Desktop GUI, automatically logged in as '<usuario>' user.
    3. Pulsamos enter > "Finish" y reiniciamos cuando nos pregunte. Ahora iniciará automáticamente.
  4. 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.
    1. sudo nano .config/wayfire.ini
    2. Buscamos la sección [autostart], que debería verse como esto:
      • En caso de que no estuviera, lo creamos.

        [autostart]
        panel = wfrespawn wf-panel-pi
        background = wfrespawn pcmanfm --desktop --profile LXDE-pi
        xdg-autostart = lxsession-xdg-autostart

    3. 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-maximized
      switchtab = bash ~/switchtab.sh
      screensaver = false
      dpms = 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.
    4. Creamos el script que se encarga de cambiar entre pestañas.
      • nano ~/switchtab.sh
      • Contenido:

        !bin/bash
        #Encuentra el PID de chromium
        chromium_pid=$(pgrep chromium | head -1)
        #Comprueba que chromium está activo
        while [ [ -z $chromium_pid ]]; do
        echo "Chromium browser is not running yet."
        sleep 5
        chromium_pid=$(pgrep chromium | head -1)
        done
        echo "Chromium browser process ID: $chromium_pid"
        export XDG_RUNTIME_DIR=/run/user/1000
        #Bucle para enviar actividad de teclado:
        while true; do
        #Envía Ctrl+Tab y F5 usando`wtype`
        wtype -M ctrl -P Tab
        wtype -P F5
        #Envía Ctrl+Tab y F5 usando `wtype`
        wtype -m ctrl -p Tab
        wtype -p F5
        sleep 10
        done

      • Guardamos y reiniciamos la Raspberry

Deshabilitar el puntero del ratón

Dentro de Wayland no tenemos una forma nativa para hacerlo como en x11, de forma que simplemente lo que haremos será deshabilitar el icono que se utiliza para el puntero. Para ello accedemos a la ruta /usr/share/icons/PiXflat/cursors/.

  • Seguidamente utilizaremos el comando mv left_ptr left_ptr.remove

De esta forma el sistema ya no encontrará el fichero "left_ptr" y no mostrará ningún puntero. En vez de "remove" puedes poner cualquier cosa. Lo único que estamos haciendo es renombrarlo.

Medidas de seguridad

Deshabilitar Bluetooth

Para hacer esto, editaremos el archivo /boot/firmware/config.txt

sudo nano /boot/firmware/config.txt

Agregando la siguiente línea al final del archivo:

dtoverlay=disable-bt

Deshabilitar la escritora en la partición de sistema

Esto protegerá el sistema ante corrupción del sistema de archivos debido a modificaciones inesperadas durante cortes repentinos de energía, para esto:

  • Usamos el comando: sudo raspi-config
    1. Performance Options
    2. Overlay File system
      1. Sí/Yes
    3. Cuando pregunte si queremos proteger de escritura:
      1. Sí/Yes
    4. Confirmamos que queremos reiniciar cuando pregunte al salir de la pantalla de configuración

Nota: Cuando queramos modificar/escribir en la tarjeta SD algo, tendremos que re-habilitar la escritura.

index.php?title=Categoría:Kiosko index.php?title=Categoría:Raspberry index.php?title=Categoría:Quiosco index.php?title=Categoría:Kiosco