# Raspberry Pi del laboratorio ## Objetivo Centralizar la configuracion, el acceso y el mantenimiento de una flota de Raspberry Pi. La primera unidad es `minipc`; el mismo procedimiento debe servir para las cinco unidades previstas. ## Inventario actual | Campo | Valor | |---|---| | Hostname | `minipc` | | Sistema | Raspbian GNU/Linux 13 (trixie) | | Ethernet | `192.168.50.187` | | Wi-Fi | `192.168.50.251` | | Usuario operativo | `pi` | | Codigo | `/home/pi/minipc/` | | Servicio bot | `pi-bot.service` | | Servicio tunel | `autossh-tunel.service` | | Zona horaria | `Europe/Madrid` | | Teclado | Espanol (`es`) | No se documentan contrasenas, tokens ni claves privadas en este fichero. ## Comando unico de diagnostico En la Raspberry: ```bash bash /home/pi/minipc/vigilancia/raspberry_info.sh ``` El comando muestra identidad, red, teclado, locale, hora, servicios y recursos sin revelar secretos. Desde el PC, pasando por el VPS: ```powershell ssh -i C:\Users\juanm\Documents\GitHub\contabo root@185.187.169.109 "ssh -i /root/.ssh/pi_deploy -p 2222 pi@127.0.0.1 'bash /home/pi/minipc/vigilancia/raspberry_info.sh'" ``` ## Configuracion aplicada en minipc ```bash sudo raspi-config nonint do_configure_keyboard es sudo localectl set-x11-keymap es pc105 sudo locale-gen es_ES.UTF-8 sudo localectl set-locale LANG=es_ES.UTF-8 sudo timedatectl set-timezone Europe/Madrid sudo timedatectl set-ntp true ``` El cambio de idioma puede requerir cerrar la sesion y volver a entrar. El teclado de consola queda definido en `/etc/default/keyboard` con `XKBLAYOUT="es"`. ## Conectividad - Ethernet es la ruta preferida y usa la IP `192.168.50.187`. - Wi-Fi queda disponible como respaldo en `192.168.50.251`. - El tunel inverso publica SSH de la Pi en el VPS como `127.0.0.1:2222`. - El acceso remoto usa la clave privada del VPS configurada para el tunel; nunca se copia ni documenta aqui. - Si la IP cambia, consultar `hostname -I` en la Pi y actualizar el inventario. ## Despliegue La Pi no tiene Git operativo para este flujo. El despliegue se hace por el VPS y el tunel inverso: 1. Copiar el fichero al VPS. 2. Copiarlo por SSH a `pi@127.0.0.1:2222`. 3. Validar con `python3 -m py_compile` si es Python. 4. Reiniciar el servicio correspondiente. 5. Verificar `systemctl is-active` y los logs. ## Escalado a cinco Raspberry Cada unidad debe tener un registro con hostname, MAC, IP Ethernet, IP Wi-Fi, servicios, funcion y ubicacion. Se recomienda: - Reservas DHCP por MAC para evitar cambios de IP. - Ethernet como red principal. - Un hostname unico por unidad: `minipc-01`, `minipc-02`, etc. - Un servicio `autossh-tunel` por unidad con un puerto de tunel distinto. - Una clave SSH de despliegue independiente por unidad. - Un script de diagnostico identico en todas las unidades.