Diferencia entre revisiones de «Kiosko en Raspberry»

De Wiki IES El Rincón
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
 
(No se muestran 7 ediciones intermedias del mismo usuario)
Línea 5: Línea 5:
=== Proceso de Instalación en RaspBerry ===
=== Proceso de Instalación en RaspBerry ===


==== Entorno de trabajo utilizado: ====
==== Entorno de trabajo utilizado ====


* [https://www.raspberrypi.com/products/raspberry-pi-4-model-b/ Raspberry Pi 4].
* [https://www.raspberrypi.com/products/raspberry-pi-4-model-b/ Raspberry Pi 4].
Línea 12: Línea 12:
* [https://www.chromium.org/chromium-projects/ Chromium].
* [https://www.chromium.org/chromium-projects/ Chromium].


==== Prerrequisitos: ====
==== Prerrequisitos ====


* Sistema operativo base instalado y funcionando correctamente.
* Sistema operativo base instalado y funcionando correctamente.
Línea 18: Línea 18:
* Una pantalla para visualizar el quiosco.
* Una pantalla para visualizar el quiosco.


==== Proceso: ====
==== Proceso ====
# Accedemos a la Raspberry mediante SSH.
# Accedemos a la Raspberry mediante SSH.
# Instalamos '''wtype,''' un software que nos permite simular actividad con el teclado.
# Instalamos '''wtype,''' un software que nos permite simular actividad con el teclado.
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.<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>
##*En caso de que no estuviera, lo creamos.<blockquote>[autostart] <br/>panel = wfrespawn wf-panel-pi <br/>background = wfrespawn pcmanfm --desktop --profile LXDE-pi <br/>xdg-autostart = lxsession-xdg-autostart</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>
##Agregamos las siguientes líneas:<blockquote>chromium = chromium-browser '''<url que queremos mostrar>''' --kiosk --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --enable-features=OverlayScrollbar --start-maximized<br/>switchtab = bash ~/switchtab.sh<br/>screensaver = false<br/> dpms = false</blockquote>
##*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 44: 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>!bin/bash
##*Contenido:<blockquote>!bin/bash <br/><nowiki>#</nowiki>Encuentra el PID de chromium    <br/>  chromium_pid=$(pgrep chromium | head -1)  <br/> #Comprueba que chromium está activo  <br/>  while [  [ -z $chromium_pid ]]; do  <br/>  echo "Chromium browser is not running yet."    <br/> sleep 5    <br/> chromium_pid=$(pgrep chromium | head -1)    <br/>  done  <br/>    echo "Chromium browser process ID: $chromium_pid"    <br/>  export XDG_RUNTIME_DIR=/run/user/1000  <br/> <nowiki>#</nowiki>Bucle para enviar actividad de teclado:  <br/>    while true; do <br/>  <nowiki>#</nowiki>Envía Ctrl+Tab  y F5 usando`wtype`  <br/>  wtype -M ctrl -P Tab <br/>  wtype -P F5 <br/><nowiki>#</nowiki>Envía Ctrl+Tab y F5 usando `wtype`  <br />    wtype -m ctrl -p Tab <br/>  wtype -p F5  <br />  sleep 10  <br />    done
##*Guardamos y reiniciamos la Raspberry


<nowiki>#</nowiki>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
==== 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/.''


<nowiki>#</nowiki>Bucle para enviar actividad de teclado:      while true; do
* Seguidamente utilizaremos el comando '''mv''' '''left_ptr left_ptr.remove'''


  <nowiki>#</nowiki>Envía Ctrl+Tab usando`wtype`  wtype -M ctrl -P Tab
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.


  <nowiki>#</nowiki>Envía Ctrl+Tab usando `wtype`      wtype -m ctrl -p Tab    sleep 10      done
=== Medidas de seguridad ===
 
==== Deshabilitar Bluetooth ====
Para hacer esto, editaremos el archivo  /boot/firmware/config.txt
 
<code>sudo nano /boot/firmware/config.txt</code>
 
Agregando la siguiente línea al final del archivo:
 
<code>dtoverlay=disable-bt</code>
 
==== 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: <code>sudo raspi-config</code>
*# Performance Options
*# Overlay File system
*## Sí/Yes
*# Cuando pregunte si queremos proteger de escritura:
*## Sí/Yes
*# 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]]

Revisión actual - 15:38 4 mar 2024

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