Files
biblioteca_conocimiento_lab…/docs/raspberry_pi.md
2026-09-05 18:22:56 +02:00

5.0 KiB

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 /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:

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

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.

Acceso al ASUS RT-AX88U PRO

El ASUS esta detras del router principal de Digi. Para abrir su SSH desde el PC:

powershell -ExecutionPolicy Bypass -File scripts/router-ssh-tunnel.ps1
ssh -p 2222 usuario_del_router@127.0.0.1

El script mantiene el salto PC -> VPS -> Raspberry -> ASUS sin exponer el router a Internet.

Desde Telegram, el bot consulta el ASUS mediante la clave de servicio de la Raspberry:

/router estado
/router clientes
/router wifi
/router reiniciar confirmar

El reinicio exige la palabra confirmar. Las consultas actuales no cambian la configuracion.

Capacidades del RT-AX88U PRO

El router puede centralizar muchas funciones para Telegram:

  • Estado del firmware, uptime, IP LAN/WAN y radios Wi-Fi.
  • Clientes conectados y tabla ARP.
  • Estado de Internet y rutas.
  • Control de radios 2.4 GHz y 5 GHz.
  • Reservas DHCP y nombres de dispositivos.
  • Reinicio protegido y lectura de logs.
  • Estado AiMesh, si se añaden nodos.
  • QoS, control parental y perfiles de acceso.
  • VPN, DDNS, firewall y red de invitados.

Las acciones que cambian red, Wi-Fi, firewall o VPN deben tener confirmacion doble.

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.

Hoja de ruta pendiente

Estas mejoras quedan apuntadas para la Raspberry actual, sin implementarlas ahora:

  • Panel Telegram de descargas y NAS con progreso, velocidad y espacio libre.
  • Pausar, reanudar y cancelar tareas de Download Station desde Telegram.
  • Aviso cuando termina o falla una descarga.
  • Estado de la NAS y sus discos.
  • Estado del VPS: CPU, RAM, disco, Docker y servicios.
  • Alertas de temperatura, disco lleno, perdida de red y servicios caidos.
  • Backups de configuracion y datos.
  • Despliegue y actualizacion remota del codigo.
  • Capturas de camaras y control de dispositivos conectados.
  • Comando /flota preparado para cuando existan varias Raspberry.

Primer dispositivo Tapo

El dispositivo termo es un Tapo Smart Wi-Fi Plug P100. El bot dispone de estos comandos directos:

/termo on
/termo off
/termo estado

La Raspberry necesita estas variables en /home/pi/minipc/vigilancia/.env, introducidas localmente y sin publicarlas:

TAPO_USERNAME=cuenta-de-tapo
TAPO_PASSWORD=contrasena-de-tapo
TAPO_TERMO_IP=192.168.50.6

El control usa python-kasa directamente desde la Raspberry y no depende de Alexa.