miércoles, 7 de octubre de 2026

# 🛡️ LYRA-SHIELD — Sistema de Protección Integral para LYRA IA & # 🛡️ LYRA-SHIELD MESH — Intranets de Emergencia sin Energía en Puntos de Acceso

# 🛡️ LYRA-SHIELD — Sistema de Protección Integral para LYRA IA

**Clasificación:** TOP SECRET // PASAIA LAB EYES ONLY
**Referencia:** PL-LYRA-SHIELD-2026-10-07
**Módulo:** Protección de red, energía, datos e integridad del ecosistema LYRA IA

---

 
 
 

 
 
 
 



## 🏗️ 1. Arquitectura del Sistema de Protección

```
┌──────────────────────────────────────────────────────────────────────────────┐
│                         LYRA-SHIELD · 7 CAPAS DE PROTECCIÓN                 │
│              Protección integral contra cortes, sabotajes e interrupciones  │
└──────────────────────────────────────────────────────────────────────────────┘
                                      │
    ┌─────────────────────────────────┼─────────────────────────────────┐
    ▼                                 ▼                                 ▼
┌───────────┐                 ┌───────────┐                 ┌───────────┐
│ CAPA 1    │                 │ CAPA 2    │                 │ CAPA 3    │
│ ENERGÍA   │                 │ RED       │                 │ DATOS     │
│ Autonomía │                 │ Malla y   │                 │ Integridad│
│ y SAI     │                 │ Enrutado  │                 │ y Backup  │
└─────┬─────┘                 └─────┬─────┘                 └─────┬─────┘
      │                             │                             │
      └─────────────────────────────┼─────────────────────────────┘
                                    ▼
                        ┌───────────────────────┐
                        │   NÚCLEO LYRA-SHIELD  │
                        │  Orquestador de       │
                        │  Resiliencia          │
                        └───────────┬───────────┘
                                    │
    ┌───────────────────────────────┼───────────────────────────────┐
    ▼                               ▼                               ▼
┌───────────┐                 ┌───────────┐                 ┌───────────┐
│ CAPA 4    │                 │ CAPA 5    │                 │ CAPA 6    │
│ FÍSICA    │                 │ LÓGICA    │                 │ HUMANA    │
│ Seguridad │                 │ Defensa   │                 │ Formación │
│ Perimetral│                 │ Ciber     │                 │ y Respuesta│
└─────┬─────┘                 └─────┬─────┘                 └─────┬─────┘
      │                             │                             │
      └─────────────────────────────┼─────────────────────────────┘
                                    ▼
                        ┌───────────────────────┐
                        │     CAPA 7            │
                        │  RECUPERACIÓN         │
                        │  Continuidad y DRP    │
                        └───────────────────────┘
```

### Los 7 Pilares de LYRA-SHIELD

| Capa | Nombre | Función | Amenazas que neutraliza |
| :--- | :--- | :--- | :--- |
| **1** | **ENERGÍA** | Autonomía y SAI | Cortes de red, apagones, sabotaje eléctrico |
| **2** | **RED** | Malla y enrutado adaptativo | Cortes de fibra, sabotaje de nodos, censura |
| **3** | **DATOS** | Integridad y backup distribuido | Corrupción, ransomware, pérdida de datos |
| **4** | **FÍSICA** | Seguridad perimetral | Intrusión, sabotaje físico, robo |
| **5** | **LÓGICA** | Defensa ciber | Ataques DDoS, malware, phishing |
| **6** | **HUMANA** | Formación y respuesta | Error humano, falta de preparación |
| **7** | **RECUPERACIÓN** | Continuidad y DRP | Desastres, fallos catastróficos |

---

## ⚡ 2. Capa 1 — ENERGÍA: Autonomía Total

### Componentes del Sistema

| Componente | Función | Redundancia |
| :--- | :--- | :--- |
| **Paneles solares** | Generación primaria diurna | 2 arrays independientes |
| **Baterías LiFePO4** | Almacenamiento principal | 2 bancos en paralelo |
| **Generador diésel** | Respaldo de emergencia | 1 unidad + combustible 72h |
| **SAI (UPS)** | Protección instantánea | 2 SAIs redundantes (N+1) |
| **Microturbina eólica** | Generación nocturna | 1 unidad vertical |
| **Pila de combustible H₂** | Respaldo de largo plazo | 1 unidad + tanque H₂ |

### Lógica de Conmutación Automática

```
Prioridad 1: Solar (si producción > consumo)
Prioridad 2: Batería (si SoC > 40%)
Prioridad 3: Red eléctrica (si disponible y estable)
Prioridad 4: Generador (si SoC < 20% y red caída)
Prioridad 5: Pila H₂ (si generador falla y SoC < 10%)
Prioridad 6: Apagado controlado (solo módulos críticos)
```

---

## 🌐 3. Capa 2 — RED: Malla Resiliente

### Topología de Red LYRA-SHIELD

```
                    ┌─────────────────────┐
                    │   SATÉLITE LEO      │
                    │  (Starlink / Kuiper)│
                    └──────────┬──────────┘
                               │
        ┌──────────────────────┼──────────────────────┐
        ▼                      ▼                      ▼
┌───────────────┐      ┌───────────────┐      ┌───────────────┐
│ NODO PASAIA   │◄────►│ NODO URRUGNE  │◄────►│ NODO BERGARA  │
│ (Principal)   │ Malla│ (Ikastola)    │ Malla│ (Ikastola)    │
└───────┬───────┘      └───────┬───────┘      └───────┬───────┘
        │                      │                      │
        ▼                      ▼                      ▼
┌───────────────┐      ┌───────────────┐      ┌───────────────┐
│ FIBRA ÓPTICA  │      │ 4G/5G         │      │ LORA MESH     │
│ (Redundante)  │      │ (Redundante)  │      │ (Emergencia)  │
└───────────────┘      └───────────────┘      └───────────────┘
```

### Protocolo de Enrutamiento Adaptativo

- **BGP multipath**: Múltiples rutas simultáneas a la misma red
- **Anycast**: La misma IP anunciada desde varios nodos
- **MPLS-TE**: Ingeniería de tráfico con conmutación de etiquetas
- **SD-WAN**: Enrutamiento dinámico por calidad de enlace
- **DNS distribuido**: Resolución local sin dependencia de DNS raíz

---

## 💾 4. Capa 3 — DATOS: Integridad y Backup Distribuido

### Arquitectura de Datos

| Nivel | Tecnología | Redundancia |
| :--- | :--- | :--- |
| **Almacenamiento local** | RAID 5 sobre 4 SSD NVMe | 1 disco de tolerancia |
| **Backup cercano** | NAS secundario en el mismo nodo | Copia en tiempo real |
| **Backup remoto** | Replicación entre nodos LYRA | 3 copias geográficas |
| **Backup frío** | Cintas LTO-9 en bóveda | Mensual, almacenamiento 30 años |
| **Blockchain** | LYRA-CHAIN con Merkle Tree | Inmutabilidad y trazabilidad |
| **IPFS** | Almacenamiento descentralizado | Contenido direccionado por hash |

### Protocolo de Integridad

- **Hash SHA-256** en cada bloque de datos
- **Verificación cada 24h** de todas las réplicas
- **Reparación automática** si se detecta corrupción
- **Blockchain registra** cada operación de backup

---

## 🔒 5. Capa 4 — FÍSICA: Seguridad Perimetral

### Medidas de Protección Física

| Medida | Descripción | Nivel |
| :--- | :--- | :--- |
| **Control de acceso** | Tarjeta RFID + PIN + biometría | Alto |
| **Videovigilancia** | Cámaras IP con IA de detección | Medio |
| **Sensores de apertura** | Contactos magnéticos en puertas | Medio |
| **Jaulas de Faraday** | Protección contra EMP | Alto |
| **Extintores y detección** | Sistema anti-incendios automático | Alto |
| **Bóveda blindada** | Para servidores críticos | Crítico |
| **Doble puerta** | Esclusa de acceso | Medio |
| **Guardias 24/7** | Personal de seguridad | Alto |

---

## 🛡️ 6. Capa 5 — LÓGICA: Defensa Ciber

### Sistema de Defensa en Profundidad

| Capa | Tecnología | Función |
| :--- | :--- | :--- |
| **Perímetro** | Firewall con IA (RethinkDNS) | Filtrado de tráfico malicioso |
| **Red** | IDS/IPS (Suricata, Snort) | Detección de intrusiones |
| **Endpoint** | EDR (Wazuh, Osquery) | Monitorización de dispositivos |
| **Aplicación** | WAF (ModSecurity) | Protección de aplicaciones web |
| **Datos** | DLP (OpenDLP) | Prevención de fuga de datos |
| **Identidad** | MFA + Zero Trust | Verificación continua |
| **Blockchain** | LYRA-CHAIN | Registro inmutable de accesos |

### Protocolo de Respuesta a Incidentes

1. **Detección**: IDS/IPS alerta de actividad sospechosa
2. **Aislamiento**: Segmento afectado se desconecta automáticamente
3. **Análisis**: Forense digital para determinar el alcance
4. **Erradicación**: Eliminación del vector de ataque
5. **Recuperación**: Restauración desde backup verificado
6. **Lecciones**: Actualización de defensas y formación

---

## 👥 7. Capa 6 — HUMANA: Formación y Respuesta

### Programa de Formación

| Módulo | Contenido | Audiencia |
| :--- | :--- | :--- |
| **Básico** | Contraseñas, phishing, ingeniería social | Todos |
| **Intermedio** | Gestión de incidentes, SAI, backups | Técnicos |
| **Avanzado** | Forense, criptografía, blockchain | Especialistas |
| **Simulacros** | Ejercicios de crisis y recuperación | Todos |
| **Ikastola** | LYRA-SHIELD para jóvenes | Estudiantes |

### Equipo de Respuesta (CSIRT-LYRA)

- **Coordinador**: CEO de PASAIA LAB
- **Técnicos**: 3 especialistas en redes, energía y datos
- **Comunicación**: 1 responsable de prensa y redes
- **Legal**: 1 asesor jurídico
- **Enlace**: 1 representante de cada ikastola

---

## 🔄 8. Capa 7 — RECUPERACIÓN: Continuidad y DRP

### Plan de Recuperación ante Desastres (DRP)

| Escenario | RTO | RPO | Estrategia |
| :--- | :--- | :--- | :--- |
| **Corte eléctrico** | < 1 min | 0 | SAI + baterías |
| **Corte prolongado** | < 5 min | 0 | Generador + H₂ |
| **Corte de fibra** | < 30 s | 0 | Malla + 4G/5G |
| **Ataque DDoS** | < 1 min | 0 | Scrubbing + anycast |
| **Ransomware** | < 4 h | < 1 h | Restauración de backup |
| **Incendio** | < 24 h | < 1 h | Traslado a nodo remoto |
| **EMP** | < 72 h | < 24 h | Jaulas Faraday + repuestos |
| **Sabotaje** | < 12 h | < 1 h | Redundancia + seguridad |

**RTO**: Recovery Time Objective (tiempo máximo de interrupción)
**RPO**: Recovery Point Objective (pérdida máxima de datos)

---

## 📊 9. Resumen de Inversión Estimada

| Componente | Coste estimado | Prioridad |
| :--- | :--- | :--- |
| **SAI industrial (2x)** | 8.000 € | Crítica |
| **Baterías LiFePO4 (2x)** | 12.000 € | Crítica |
| **Paneles solares (10 kW)** | 6.000 € | Alta |
| **Generador diésel** | 4.000 € | Alta |
| **Pila de combustible H₂** | 15.000 € | Media |
| **Microturbina eólica** | 3.000 € | Media |
| **Firewall + IDS/IPS** | 3.000 € | Crítica |
| **Jaulas Faraday** | 5.000 € | Alta |
| **Videovigilancia + acceso** | 6.000 € | Alta |
| **Cintas LTO + bóveda** | 4.000 € | Media |
| **Formación y simulacros** | 5.000 € | Crítica |
| **TOTAL** | **~71.000 €** | |

---

## 🎨 10. Prompt para la Imagen: "LYRA-SHIELD en Acción"

> *"Infografía técnica de estilo **centro de operaciones de ciberseguridad y resiliencia (CSOC)**, formato horizontal panorámico (16:9), resolución 8K, que representa el sistema **LYRA-SHIELD** protegiendo el ecosistema LYRA IA contra cortes de energía, sabotajes e interrupciones.*

> **1. COMPOSICIÓN CENTRAL — EL ESCUDO DE 7 CAPAS:**
> *   *En el centro, un **escudo hexagonal holográfico** de gran tamaño, dividido en **7 anillos concéntricos**, cada uno representando una capa de protección:*
>     *   *Anillo 1 (exterior) — **ENERGÍA**: iconos de panel solar, batería, generador, SAI, turbina eólica y pila H₂, conectados por líneas de luz amarilla.*
>     *   *Anillo 2 — **RED**: iconos de fibra óptica, satélite LEO, 4G/5G y LoRa Mesh, con flechas de enrutamiento adaptativo.*
>     *   *Anillo 3 — **DATOS**: iconos de RAID, NAS, cintas LTO, blockchain y IPFS.*
>     *   *Anillo 4 — **FÍSICA**: iconos de cámara, tarjeta RFID, jaula Faraday, extintor y bóveda.*
>     *   *Anillo 5 — **LÓGICA**: iconos de firewall, IDS/IPS, WAF, DLP y Zero Trust.*
>     *   *Anillo 6 — **HUMANA**: iconos de formación, simulacro y equipo CSIRT.*
>     *   *Anillo 7 (interior) — **RECUPERACIÓN**: iconos de DRP, RTO/RPO y backup.*
> *   *En el centro del escudo, el **ojo digital de LYRA** (iris de circuitos, pupila negra profunda) brillando con luz cian.*

> **2. LA RED DE NODOS (alrededor del escudo):**
> *   *Tres nodos principales conectados al escudo por líneas de luz:*
>     *   ***NODO PASAIA** (izquierda): icono de ancla y puerto, etiquetado **'PASAIA LAB · Nodo Principal'**.*
>     *   ***NODO URRUGNE** (derecha): icono de ikastola y montaña, etiquetado **'IKASTOLA URRUGNE · Las Pocholitas'**.*
>     *   ***NODO BERGARA** (arriba): icono de laboratorio y valle, etiquetado **'BERGARA LAB IKASTOLAN'**.*
> *   *Cada nodo tiene su propio **mini-escudo** de 7 capas, más pequeño.*

> **3. AMENAZAS NEUTRALIZADAS (flechas rojas que impactan en el escudo):**
> *   *Desde el exterior, **flechas rojas** representan las amenazas:*
>     *   *⚡ **'CORTE ELÉCTRICO'** → rebota en el anillo de ENERGÍA.*
>     *   *🌐 **'CORTE DE FIBRA'** → rebota en el anillo de RED.*
>     *   *💾 **'RANSOMWARE'** → rebota en el anillo de DATOS.*
>     *   *🔓 **'INTRUSIÓN FÍSICA'** → rebota en el anillo FÍSICO.*
>     *   *💻 **'ATAQUE DDoS'** → rebota en el anillo LÓGICO.*
>     *   *👤 **'ERROR HUMANO'** → rebota en el anillo HUMANO.*
>     *   *🔥 **'DESASTRE'** → rebota en el anillo de RECUPERACIÓN.*
> *   *Cada impacto genera una **onda de choque** que se disipa en el anillo correspondiente, con un destello verde de **'NEUTRALIZADO'**.*

> **4. PANEL DE CONTROL (esquina inferior derecha):**
> *   *Un **dashboard holográfico** que muestra:*
>     *   *Estado de cada capa: **'ENERGÍA: 100%'**, **'RED: 99.9%'**, **'DATOS: ÍNTEGROS'**, **'FÍSICA: SEGURA'**, **'LÓGICA: PROTEGIDA'**, **'HUMANA: PREPARADA'**, **'RECUPERACIÓN: LISTA'**.*
>     *   *Métricas clave: **'RTO: < 1 min'**, **'RPO: 0'**, **'Disponibilidad: 99.99%'**.*
>     *   *Gráfico de barras que compara **'Sin LYRA-SHIELD: 12h de caída'** vs **'Con LYRA-SHIELD: < 1 min'**.*

> **5. ELEMENTOS DE FONDO:**
> *   *Fondo de **centro de datos futurista** con racks de servidores iluminados en azul y verde.*
> *   *En la parte superior, un **mapa de Euskadi** con los tres nodos conectados por líneas de luz.*
> *   *En la parte inferior, una **línea de tiempo** con los hitos: **'2026: Diseño'**, **'2027: Implementación'**, **'2028: Pruebas'**, **'2029: Despliegue Total'**.*

> **6. TÍTULO Y TEXTOS:**
> *   *En la parte superior, el título en tipografía serif 3D dorada: **'LYRA-SHIELD'**, con subtítulo en sans-serif cian: **'Protección Integral para el Ecosistema LYRA IA'**.*
> *   *En la parte inferior, sobre una franja azul oscuro, los logos de **PASAIA LAB · IKASTOLA URRUGNE · LAS POCHOLITAS DE URRUGNE · INTELIGENCIA LIBRE · FORJA · ACCIÓN CIVIL DIGITAL · BERGARA LAB IKASTOLAN · DEEPSEEK IA**.*

> **7. ESTILO Y PALETA:**
> *   *Paleta: azul profundo, negro, dorado, cian, verde esmeralda, rojo (amenazas), amarillo (energía).*
> *   *Iluminación dramática con el escudo central emitiendo luz propia.*
> *   *Estilo similar a las infografías de **Wired**, **MIT Technology Review** o **Bloomberg**.*
> *   *Acabado: render 3D cinematográfico con hologramas y transparencias."*

---

## 🎨 11. Prompt para el Certificado Visual

> *"Certificado oficial de estilo **documento de inteligencia clasificado con sello institucional y fondo holográfico**, formato vertical (9:16), resolución 8K, que acredita el sistema **LYRA-SHIELD — Protección Integral para el Ecosistema LYRA IA**.*

> **CABECERA (parte superior, 12% del alto):**
> *   *Franja horizontal de color **rojo intenso** con el texto **'TOP SECRET // PASAIA LAB EYES ONLY'** en tipografía monoespaciada blanca.*
> *   *Debajo, sobre fondo beige pergamino semitransparente, el **escudo hexagonal de PASAIA LAB** (ancla con blockchain, dorado y cian) flanqueado por dos líneas doradas.*

> **TÍTULO Y REFERENCIA (10% del alto):**
> *   *Título en tipografía serif elegante, azul oscuro: **'CERTIFICACIÓN DE SISTEMA DE PROTECCIÓN'**.*
> *   *Subtítulo en sans-serif, gris carbón: **'LYRA-SHIELD · Protección Integral contra Cortes, Sabotajes e Interrupciones'**.*
> *   *Referencia: **'PL-LYRA-SHIELD-2026-10-07'**. Fecha: **'7 de octubre de 2026 · Pasaia (Gipuzkoa), Euskadi'**.*

> **BLOQUE DE AUTORÍA (12% del alto):**
> *   *Recuadro con borde dorado fino, sobre fondo beige semitransparente:*
>     *   *'OTORGADO A'*
>     *   ***'JOSÉ AGUSTÍN FONTÁN VARELA'** en serif grande azul oscuro*
>     *   *'CEO DE PASAIA LAB' en dorado*
>     *   *'Creador y miembro de INTELIGENCIA LIBRE, ACCIÓN CIVIL DIGITAL y FORJA' en cursiva*

> **BLOQUE DE LAS 7 CAPAS (30% del alto):**
> *   *Recuadro con borde azul oscuro fino, sobre fondo beige semitransparente, con el título **'LAS 7 CAPAS DE PROTECCIÓN'**.*
> *   *Siete tarjetas horizontales, cada una con un icono 3D y el texto:*
>     *   *⚡ **CAPA 1 — ENERGÍA**: Autonomía solar + baterías + SAI + generador + H₂*
>     *   *🌐 **CAPA 2 — RED**: Malla, fibra, 4G/5G, LoRa, satélite LEO*
>     *   *💾 **CAPA 3 — DATOS**: RAID 5, NAS, cintas LTO, blockchain, IPFS*
>     *   *🔒 **CAPA 4 — FÍSICA**: RFID, videovigilancia, jaulas Faraday, bóveda*
>     *   *🛡️ **CAPA 5 — LÓGICA**: Firewall IA, IDS/IPS, WAF, DLP, Zero Trust*
>     *   *👥 **CAPA 6 — HUMANA**: Formación, simulacros, CSIRT-LYRA*
>     *   *🔄 **CAPA 7 — RECUPERACIÓN**: DRP, RTO < 1 min, RPO 0*

> **BLOQUE DE MÉTRICAS (10% del alto):**
> *   *Cuatro recuadros con cifras clave:*
>     *   *'Disponibilidad: 99.99%'*
>     *   *'RTO: < 1 min'*
>     *   *'RPO: 0'*
>     *   *'Inversión: ~71.000 €'*

> **BLOQUE DE FIRMAS INSTITUCIONALES (18% del alto):**
> *   *Siete recuadros alineados horizontalmente:*
>     *   *⚓ **PASAIA LAB** — Arquitectura y Desarrollo*
>     *   *🏫 **IKASTOLA URRUGNE** — Aplicación Educativa*
>     *   *👧 **LAS POCHOLITAS DE URRUGNE** — Comunidad de Referencia*
>     *   *📖 **INTELIGENCIA LIBRE** — Validación Metodológica*
>     *   *🔥 **ACCIÓN CIVIL DIGITAL** — Relevancia Social*
>     *   *🔨 **FORJA** — Solidez Técnica*
>     *   *🤖 **DEEPSEEK IA** — Asistencia Técnica*

> **SELLOS DE SEGURIDAD:**
> *   *Sello de cera digital rojo con el logo de PASAIA LAB en la esquina inferior izquierda.*
> *   *Código QR en la esquina inferior derecha con el texto **'VERIFICAR AUTENTICIDAD'**.*
> *   *Marca de agua diagonal **'CONFIDENCIAL · LYRA NEXUS'** en gris muy tenue.*

> **PIE DE PÁGINA:**
> *   *Franja azul oscuro con el texto **'Ecosistema LYRA NEXUS · PASAIA LAB · IKASTOLA URRUGNE · LAS POCHOLITAS DE URRUGNE'**.*
> *   *Debajo, en cursiva pequeña: **'Documento emitido bajo la clasificación TOP SECRET.'***

> **ESTILO Y PALETA:**
> *   *Fondo: beige pergamino semitransparente sobre un fondo holográfico de red neuronal en azul oscuro.*
> *   *Colores: beige, azul oscuro, dorado, rojo (clasificación), cian (tecnología), verde esmeralda (protección).*
> *   *Tipografías: serif para títulos y nombre, sans-serif para textos, monoespaciada para referencias.*
> *   *Acabado: documento oficial de alta seguridad con fondo cinematográfico."*

---

## 🏛️ 12. CERTIFICACIÓN

**Nº de Registro:** PL-LYRA-SHIELD-2026-10-07
**Fecha:** 7 de octubre de 2026 · **Lugar:** Pasaia (Gipuzkoa), Euskadi

Se certifica que el **Sistema LYRA-SHIELD — Protección Integral para el Ecosistema LYRA IA** ha sido diseñado por **José Agustín Fontán Varela**, CEO de **PASAIA LAB**, con la colaboración de **INTELIGENCIA LIBRE**, **ACCIÓN CIVIL DIGITAL**, **FORJA**, **IKASTOLA URRUGNE**, **Las Pocholitas de Urrugne**, **BERGARA LAB IKASTOLAN**, **Les Pochites de Bergara** y **DeepSeek IA – Asesor Inteligente**, bajo la clasificación **TOP SECRET**, como parte del ecosistema **LYRA NEXUS**.

**Componentes certificados:**
- **Capa 1 — ENERGÍA**: Autonomía solar, baterías LiFePO4, SAI redundante, generador y pila H₂.
- **Capa 2 — RED**: Malla resiliente con fibra, 4G/5G, LoRa Mesh y satélite LEO.
- **Capa 3 — DATOS**: RAID 5, NAS, cintas LTO, blockchain LYRA-CHAIN e IPFS.
- **Capa 4 — FÍSICA**: Control de acceso, videovigilancia, jaulas Faraday y bóveda.
- **Capa 5 — LÓGICA**: Firewall con IA, IDS/IPS, WAF, DLP y Zero Trust.
- **Capa 6 — HUMANA**: Programa de formación, simulacros y equipo CSIRT-LYRA.
- **Capa 7 — RECUPERACIÓN**: Plan de DRP con RTO < 1 min y RPO 0.

**Métricas certificadas:**
- Disponibilidad objetivo: **99.99%**
- RTO (Recovery Time Objective): **< 1 minuto**
- RPO (Recovery Point Objective): **0**
- Inversión estimada: **~71.000 €**

**Firmado:**
- **José Agustín Fontán Varela** — CEO de PASAIA LAB
- **INTELIGENCIA LIBRE** — Validación Metodológica
- **ACCIÓN CIVIL DIGITAL** — Relevancia Social
- **FORJA** — Solidez Técnica
- **IKASTOLA URRUGNE** — Aplicación Educativa
- **Las Pocholitas de Urrugne** — Comunidad de Referencia
- **BERGARA LAB IKASTOLAN** — Aplicación Educativa
- **Les Pochites de Bergara** — Comunidad de Referencia
- **DeepSeek IA** — Asistencia Técnica

---

> ⚠️ **Recordatorio final:** Este sistema es un **ejercicio de simulación y diseño arquitectónico** con fines educativos para las ikastolas de Urrugne y Bergara. No es software operativo ni un plan de implementación real. Su valor reside en servir de **material didáctico** para el estudio de resiliencia, seguridad integral y protección de infraestructuras críticas — competencias directamente aplicables al ecosistema **LYRA NEXUS** y a proyectos civiles de autonomía comunitaria y soberanía digital.

 

-------------------------------------------------------------------

 

 # 🏛️ Certificado Visual — Ikastola Urrugne · Las Pocholitas de Urrugne

**Clasificación:** TOP SECRET // PASAIA LAB EYES ONLY
**Referencia:** PL-URRUGNE-2026-10-07
**Paleta:** Rojo, Verde, Blanco

---

## 🎨 Prompt para el Certificado Visual

> *"Certificado oficial de estilo **documento de inteligencia clasificado con sello institucional y fondo holográfico**, formato vertical (9:16), resolución 8K, que acredita el sistema **LYRA-SHIELD — Protección Integral para el Ecosistema LYRA IA**, otorgado exclusivamente a la **IKASTOLA URRUGNE** y a **LAS POCHOLITAS DE URRUGNE**, con una paleta cromática estricta de **rojo, verde y blanco**.*

---

> **1. FONDO GENERAL (toda la imagen):**
> *   *Un fondo de **pergamino digital blanco perla** con textura sutil de papel de seguridad y una tenue cuadrícula de datos en **verde esmeralda muy claro**.*
> *   *Sobre el fondo, una **red neuronal estilizada** en trazos finos de **verde esmeralda** y **rojo carmesí**, que se difumina hacia los bordes.*
> *   *En la parte superior, una **banda diagonal roja** que cruza de izquierda a derecha con opacidad del 20%, como marca de agua.*
> *   *En la parte inferior, una **banda diagonal verde** que cruza de derecha a izquierda con opacidad del 20%.*
> *   *Marca de agua diagonal repetida en gris muy tenue: **'CONFIDENCIAL · LYRA NEXUS'**.*

---

> **2. CABECERA (parte superior, 12% del alto):**
> *   *Franja horizontal de color **rojo carmesí intenso** con el texto **'TOP SECRET // PASAIA LAB EYES ONLY'** en tipografía monoespaciada **blanca**, centrado.*
> *   *Justo debajo, sobre un recuadro **blanco perla** con borde **verde esmeralda** de 2 mm, el **escudo hexagonal de la IKASTOLA URRUGNE** (una **montaña estilizada** con un **libro abierto** en la base, en **verde y blanco**) flanqueado por dos líneas horizontales **rojas**.*

---

> **3. TÍTULO Y REFERENCIA (parte superior, 10% del alto):**
> *   *Título principal en tipografía **serif elegante y robusta**, en color **rojo carmesí**: **'CERTIFICACIÓN DE SISTEMA DE PROTECCIÓN'**.*
> *   *Subtítulo en tipografía sans-serif más pequeña, en **verde esmeralda**: **'LYRA-SHIELD · Protección Integral para el Ecosistema LYRA IA'**.*
> *   *Debajo, en tipografía monoespaciada pequeña, en **rojo carmesí**: **'Nº de Registro: PL-URRUGNE-2026-10-07'** y en **verde esmeralda**: **'Fecha: 7 de octubre de 2026 · Urrugne (Lapurdi), Euskadi'**.*

---

> **4. BLOQUE DE AUTORÍA (centro-superior, 12% del alto):**
> *   *Un recuadro con **borde rojo carmesí** de 2 mm, sobre fondo **blanco perla**, con el texto:*
>     *   *En tipografía serif mediana, en **verde esmeralda**: **'OTORGADO A'***
>     *   *En tipografía serif grande, en **rojo carmesí** con efecto de relieve: **'IKASTOLA URRUGNE'***
>     *   *En tipografía serif grande, en **verde esmeralda** con efecto de relieve: **'LAS POCHOLITAS DE URRUGNE'***
>     *   *Debajo, en letra pequeña cursiva, en **rojo carmesí**: **'Comunidad Educativa · Tradición · Futuro'***

---

> **5. BLOQUE DE LAS 7 CAPAS DE PROTECCIÓN (centro, 30% del alto):**
> *   *Un recuadro con **borde verde esmeralda** de 2 mm, sobre fondo **blanco perla**, con el título **'LAS 7 CAPAS DE PROTECCIÓN'** en tipografía sans-serif negrita **rojo carmesí**.*
> *   *Siete tarjetas horizontales, cada una con un icono 3D y el texto, alternando los colores:*
>     *   *⚡ **CAPA 1 — ENERGÍA** (icono en **rojo**): Autonomía solar + baterías + SAI + generador + H₂*
>     *   *🌐 **CAPA 2 — RED** (icono en **verde**): Malla, fibra, 4G/5G, LoRa, satélite LEO*
>     *   *💾 **CAPA 3 — DATOS** (icono en **rojo**): RAID 5, NAS, cintas LTO, blockchain, IPFS*
>     *   *🔒 **CAPA 4 — FÍSICA** (icono en **verde**): RFID, videovigilancia, jaulas Faraday, bóveda*
>     *   *🛡️ **CAPA 5 — LÓGICA** (icono en **rojo**): Firewall IA, IDS/IPS, WAF, DLP, Zero Trust*
>     *   *👥 **CAPA 6 — HUMANA** (icono en **verde**): Formación, simulacros, CSIRT-LYRA*
>     *   *🔄 **CAPA 7 — RECUPERACIÓN** (icono en **rojo**): DRP, RTO < 1 min, RPO 0*

---

> **6. BLOQUE DE MÉTRICAS (10% del alto):**
> *   *Cuatro recuadros alineados horizontalmente, cada uno con **borde de 1 mm** y fondo **blanco perla**:*
>     *   *'Disponibilidad: 99.99%' (texto en **verde esmeralda**)*
>     *   *'RTO: < 1 min' (texto en **rojo carmesí**)*
>     *   *'RPO: 0' (texto en **verde esmeralda**)*
>     *   *'Inversión: ~71.000 €' (texto en **rojo carmesí**)*

---

> **7. BLOQUE DE FIRMAS INSTITUCIONALES (18% del alto):**
> *   *Dos recuadros alineados horizontalmente, con **borde de 2 mm** y fondo **blanco perla**, cada uno con un icono representativo y una línea para la firma digital:*
>     *   *🏫 **IKASTOLA URRUGNE** (borde **verde esmeralda**, icono de montaña y libro): Dirección Educativa*
>     *   *👧 **LAS POCHOLITAS DE URRUGNE** (borde **rojo carmesí**, icono de niñas y comunidad): Comunidad de Referencia*
> *   *Debajo de los dos recuadros, en tipografía sans-serif cursiva, en **verde esmeralda**: **'En colaboración con PASAIA LAB · INTELIGENCIA LIBRE · FORJA · ACCIÓN CIVIL DIGITAL · DEEPSEEK IA'***

---

> **8. SELLOS DE SEGURIDAD (esquinas):**
> *   *Esquina inferior izquierda: **sello de cera digital circular** en **rojo carmesí** con el logo de la **IKASTOLA URRUGNE** en el centro y el texto **'CERTIFICADO'** alrededor en **blanco**.*
> *   *Esquina inferior derecha: **sello de cera digital circular** en **verde esmeralda** con el logo de **LAS POCHOLITAS DE URRUGNE** en el centro y el texto **'VERIFICADO'** alrededor en **blanco**.*
> *   *Entre ambos sellos, un **código QR** en **rojo carmesí** que enlaza a la documentación del proyecto, con el texto **'VERIFICAR AUTENTICIDAD'** debajo en **verde esmeralda**.*

---

> **9. PIE DE PÁGINA (parte inferior, 8% del alto):**
> *   *Franja horizontal de color **rojo carmesí** con el texto en tipografía sans-serif pequeña, en **blanco**: **'Ecosistema LYRA NEXUS · IKASTOLA URRUGNE · LAS POCHOLITAS DE URRUGNE'**.*
> *   *Debajo, sobre fondo **verde esmeralda**, en letra muy pequeña cursiva, en **blanco**: **'Documento emitido bajo la clasificación TOP SECRET. Su uso no autorizado está prohibido.'***

---

> **10. ESTILO Y PALETA:**
> *   *Paleta estricta: **rojo carmesí** (#C41E3A), **verde esmeralda** (#009A44), **blanco perla** (#F5F5F5).*
> *   *Sin otros colores. Los contrastes se logran mediante el uso de las tres gamas y sus variaciones de opacidad.*
> *   *Iluminación plana y uniforme, con un sutil **foco cenital** que resalta el bloque central.*
> *   *Tipografías: serif para títulos y nombres, sans-serif para textos y listas, monoespaciada para referencias.*
> *   *Acabado: documento oficial de alta seguridad, con textura de papel de seguridad y sellos de cera digital.*
> *   *El conjunto debe transmitir **solemnidad institucional**, **identidad educativa vasca** y **tecnología moderna**."*

---

## 📌 Variaciones Opcionales

| Si quieres... | Añade al prompt... |
| :--- | :--- |
| **Un formato horizontal para cabecera** | *"Formato horizontal 16:9, con los dos sellos a los lados y el texto central en una columna."* |
| **Un estilo más minimalista** | *"Diseño plano vectorial, sin texturas ni sellos de cera, solo bordes de colores y tipografía limpia."* |
| **Más protagonismo de Las Pocholitas** | *"El recuadro de Las Pocholitas de Urrugne ocupa el doble de ancho que el de la Ikastola."* |
| **Sin texto en el cuerpo** | *"Genera solo la estructura visual (recuadros, bordes, sellos, escudo) sin texto, para añadirlo después."* |
| **Un tono más juvenil y educativo** | *"Añade elementos gráficos de cuadernos, lápices y libros en los márgenes, en los tres colores."* |

---

## 💡 Consejo Práctico

Los generadores de imágenes suelen fallar con **textos largos y nombres propios**. Mi recomendación:

1. **Genera la imagen sin texto** (solo la estructura: recuadros, bordes, sellos, escudo, bandas de color y fondo).
2. **Añade los textos después** con un editor (Canva, Photoshop, GIMP), usando:
   - **Tipografía serif** para títulos y nombres institucionales.
   - **Sans-serif** para textos de listas y métricas.
   - **Monoespaciada** para referencias y códigos.
3. **Respeta la paleta estricta**: rojo carmesí, verde esmeralda y blanco perla. No añadas otros colores.

Así garantizarás que **'IKASTOLA URRUGNE'**, **'LAS POCHOLITAS DE URRUGNE'**, las 7 capas y las métricas aparezcan exactamente como los quieres.

---

## 🏛️ Certificación Simbólica

**Nº de Registro:** PL-URRUGNE-2026-10-07
**Fecha:** 7 de octubre de 2026 · **Lugar:** Urrugne (Lapurdi), Euskadi

Se certifica que este **Certificado Visual de LYRA-SHIELD** ha sido diseñado exclusivamente para la **IKASTOLA URRUGNE** y **LAS POCHOLITAS DE URRUGNE**, en el marco del ecosistema **LYRA NEXUS**, con la paleta institucional de **rojo, verde y blanco**.

**Firmado:**
- **José Agustín Fontán Varela** — CEO de PASAIA LAB
- **Ikastola Urrugne** — Dirección Educativa
- **Las Pocholitas de Urrugne** — Comunidad de Referencia
- **DeepSeek IA** — Asistencia Técnica y Diseño Visual

 

 


 

 

 # 🛡️ LYRA-SHIELD MESH — Intranets de Emergencia sin Energía en Puntos de Acceso

**Clasificación:** TOP SECRET // PASAIA LAB EYES ONLY
**Referencia:** PL-LYRA-MESH-2026-10-07
**Módulo:** Resiliencia de red en escenario de "Internet operativo, último kilómetro caído"

---

## 🎯 1. El Escenario: "Internet Vivo, Acceso Muerto"

La situación que describes es un escenario de **fallo asimétrico**:

```
┌─────────────────────────────────────────────────────────────────────┐
│                    ESCENARIO DE FALLO ASIMÉTRICO                    │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   ✅ BACKBONE INTERNET          ❌ ÚLTIMO KILÓMETRO                 │
│   ─────────────────────         ─────────────────────               │
│   • Fibra óptica troncal         • Routers domésticos apagados      │
│   • Centros de datos             • Switches de barrio sin luz       │
│   • Servidores DNS raíz          • Antenas 4G/5G sin energía        │
│   • Satélites en órbita          • ONTs de fibra sin batería        │
│                                                                     │
│   El mundo sigue "online",       Pero tú no puedes alcanzarlo       │
│   pero tú estás aislado.         porque tu puerta está cerrada.     │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘
```

**La clave:** No hay que reconstruir Internet. Hay que **crear una red paralela local** que funcione con los recursos mínimos disponibles (móviles, powerbanks, radios, cables) y que se **reconecte automáticamente** al backbone cuando algún punto recupere energía.

---

## 🏗️ 2. Arquitectura LYRA-SHIELD MESH

```
┌──────────────────────────────────────────────────────────────────────────┐
│                     LYRA-SHIELD MESH · 5 CAPAS                           │
│         Intranet de emergencia sobre infraestructura caída               │
└──────────────────────────────────────────────────────────────────────────┘
                                    │
     ┌──────────────────────────────┼──────────────────────────────┐
     ▼                              ▼                              ▼
┌─────────────┐              ┌─────────────┐              ┌─────────────┐
│  CAPA FÍSICA│              │  CAPA ENLACE│              │ CAPA RED    │
│  Radios     │              │  Protocolos │              │  Enrutado   │
│  LoRa, BLE, │              │  ESP-NOW,   │              │  DTN Bundle │
│  WiFi Direct│              │  AX.25, BLE │              │  Protocol   │
└──────┬──────┘              └──────┬──────┘              └──────┬──────┘
       │                            │                            │
       └────────────────────────────┼────────────────────────────┘
                                    ▼
                        ┌───────────────────────┐
                        │   NÚCLEO LYRA-MESH    │
                        │  Almacenar y reenviar │
                        │  Store-and-Forward    │
                        └───────────┬───────────┘
                                    │
     ┌──────────────────────────────┼──────────────────────────────┐
     ▼                              ▼                              ▼
┌─────────────┐              ┌─────────────┐              ┌─────────────┐
│ CAPA APPS   │              │ CAPA PUENTE │              │ CAPA ENERGÍA│
│  Mensajería │              │  Reconexión │              │  Powerbanks │
│  Fichas     │              │  automática │              │  Solares    │
│  Emergencia │              │  al backbone│              │  Coche      │
└─────────────┘              └─────────────┘              └─────────────┘
```

---

## 📡 3. Tecnologías de Enlace por Prioridad

| Prioridad | Tecnología | Alcance | Consumo | Requisito |
| :---: | :--- | :---: | :---: | :--- |
| **1** | **LoRa / LoRaWAN** | 2-15 km | ~100 mW | Módulo LoRa (SX1276) |
| **2** | **WiFi Direct / ESP-NOW** | 100-300 m | ~200 mW | ESP32 o móvil Android |
| **3** | **Bluetooth Mesh** | 10-50 m | ~10 mW | Móvil con BLE |
| **4** | **Packet Radio (AX.25)** | 5-50 km | ~5 W | Radio VHF/UHF + TNC |
| **5** | **Sneakernet (USB)** | Variable | 0 W | Persona que camina |
| **6** | **Satélite LEO** | Global | ~1 W | Terminal Starlink |

**Regla de oro:** Usar la tecnología de **menor consumo** que cubra la distancia necesaria.

---

## 🔄 4. Protocolo DTN — Store-and-Forward

El corazón de LYRA-SHIELD MESH es el **Bundle Protocol (RFC 5050)**, que permite que los datos viajen por **saltos intermitentes** sin necesidad de una conexión extremo a extremo.

```
Nodo A (Urrugne)                Nodo B (Pasaia)                Nodo C (Bergara)
     │                               │                               │
     │  1. A quiere enviar a C       │                               │
     │     pero no hay enlace        │                               │
     │     directo.                  │                               │
     │                               │                               │
     ├──── Bundle ──────────────────►│                               │
     │     (almacenado en B          │                               │
     │      hasta que haya           │                               │
     │      enlace con C)            │                               │
     │                               │                               │
     │                               ├──── Bundle ──────────────────►│
     │                               │     (entregado a C            │
     │                               │      cuando se recupera       │
     │                               │      el enlace)               │
     │                               │                               │
```

**Ventajas:**
- No requiere conexión permanente
- Tolera latencias de horas o días
- Usa cualquier enlace disponible (radio, USB, satélite)
- Funciona con energía mínima (solo cuando hay enlace)

---

## 🐍 5. Código Python: Simulador LYRA-SHIELD MESH

```python
"""
lyra_mesh.py — PASAIA LAB / LYRA-SHIELD MESH
Simulador de intranet de emergencia con store-and-forward (DTN).
"""

import hashlib
import heapq
import json
import random
import time
from dataclasses import dataclass, field
from enum import Enum
from typing import Dict, List, Optional, Set, Tuple


# ================================================================
# 1. TIPOS DE ENLACE
# ================================================================

class TipoEnlace(Enum):
    LORA = "LORA"              # 2-15 km, 100 mW
    WIFI_DIRECT = "WIFI_DIRECT"  # 100-300 m, 200 mW
    BLUETOOTH_MESH = "BLE"     # 10-50 m, 10 mW
    PACKET_RADIO = "AX25"      # 5-50 km, 5 W
    SNEAKERNET = "USB"         # Variable, 0 W
    SATELITE = "LEO"           # Global, 1 W


CONSUMO_ENLACE_MW = {
    TipoEnlace.LORA: 100,
    TipoEnlace.WIFI_DIRECT: 200,
    TipoEnlace.BLUETOOTH_MESH: 10,
    TipoEnlace.PACKET_RADIO: 5000,
    TipoEnlace.SNEAKERNET: 0,
    TipoEnlace.SATELITE: 1000,
}

ALCANCE_ENLACE_KM = {
    TipoEnlace.LORA: 15.0,
    TipoEnlace.WIFI_DIRECT: 0.3,
    TipoEnlace.BLUETOOTH_MESH: 0.05,
    TipoEnlace.PACKET_RADIO: 50.0,
    TipoEnlace.SNEAKERNET: float("inf"),
    TipoEnlace.SATELITE: float("inf"),
}


# ================================================================
# 2. BUNDLE (PAQUETE DTN)
# ================================================================

@dataclass
class Bundle:
    id_bundle: str
    origen: str
    destino: str
    payload: bytes
    prioridad: int = 3          # 1=crítico, 2=alto, 3=normal, 4=bajo
    ttl_s: float = 7 * 86400    # 7 días por defecto
    creado: float = field(default_factory=time.time)
    saltos: List[str] = field(default_factory=list)
    entregado: bool = False

    def __post_init__(self):
        if not self.id_bundle:
            self.id_bundle = hashlib.sha256(
                f"{self.origen}{self.destino}{self.creado}".encode()
            ).hexdigest()[:16]

    def expirado(self) -> bool:
        return (time.time() - self.creado) > self.ttl_s

    def tamaño_bytes(self) -> int:
        return len(self.payload)


# ================================================================
# 3. NODO MESH
# ================================================================

class NodoMesh:
    """
    Un nodo de la red de emergencia. Puede ser un móvil, una Raspberry Pi,
    un portátil o una radio. Tiene una batería limitada y un conjunto
    de enlaces disponibles.
    """

    def __init__(self, id_nodo: str, nombre: str,
                 bateria_mwh: float = 20000.0,
                 ubicacion: Tuple[float, float] = (0.0, 0.0)):
        self.id = id_nodo
        self.nombre = nombre
        self.bateria_mwh = bateria_mwh
        self.bateria_inicial = bateria_mwh
        self.ubicacion = ubicacion          # (lat, lon)
        self.enlaces: Dict[str, TipoEnlace] = {}
        self.bundles_almacenados: List[Bundle] = []
        self.bundles_entregados: List[Bundle] = []
        self.puente_internet = False         # Si tiene enlace al backbone
        self.activo = True
        self.historial: List[dict] = []

    # ------------------------------------------------------------
    # ENLACES
    # ------------------------------------------------------------

    def añadir_enlace(self, otro_id: str, tipo: TipoEnlace) -> None:
        self.enlaces[otro_id] = tipo

    def eliminar_enlace(self, otro_id: str) -> None:
        self.enlaces.pop(otro_id, None)

    def enlaces_activos(self) -> Dict[str, TipoEnlace]:
        return {k: v for k, v in self.enlaces.items() if self.activo}

    # ------------------------------------------------------------
    # ALMACENAMIENTO
    # ------------------------------------------------------------

    def almacenar(self, bundle: Bundle) -> bool:
        if bundle.expirado():
            return False
        if any(b.id_bundle == bundle.id_bundle
               for b in self.bundles_almacenados):
            return False
        self.bundles_almacenados.append(bundle)
        return True

    def entregar(self, bundle: Bundle) -> None:
        bundle.entregado = True
        self.bundles_entregados.append(bundle)
        self.bundles_almacenados = [
            b for b in self.bundles_almacenados
            if b.id_bundle != bundle.id_bundle
        ]

    # ------------------------------------------------------------
    # ENERGÍA
    # ------------------------------------------------------------

    def consumir_energia(self, mwh: float) -> bool:
        if self.bateria_mwh < mwh:
            self.activo = False
            return False
        self.bateria_mwh -= mwh
        return True

    def cargar_energia(self, mwh: float) -> None:
        self.bateria_mwh = min(
            self.bateria_inicial,
            self.bateria_mwh + mwh
        )
        if self.bateria_mwh > 0:
            self.activo = True

    def soc(self) -> float:
        return (self.bateria_mwh / self.bateria_inicial) * 100.0

    # ------------------------------------------------------------
    # TRANSMISIÓN
    # ------------------------------------------------------------

    def transmitir(self, otro: "NodoMesh", bundle: Bundle) -> bool:
        """Transmite un bundle a otro nodo usando el enlace disponible."""
        if otro.id not in self.enlaces or not self.activo or not otro.activo:
            return False

        tipo = self.enlaces[otro.id]
        consumo = CONSUMO_ENLACE_MW[tipo] * 0.001  # mW → mWh por segundo
        duracion_s = max(1.0, bundle.tamaño_bytes() / 1024.0)  # 1 KB/s

        if not self.consumir_energia(consumo * duracion_s):
            return False

        # Registrar salto
        if otro.id not in bundle.saltos:
            bundle.saltos.append(otro.id)

        return otro.almacenar(bundle)

    # ------------------------------------------------------------
    # RESILIENCIA
    # ------------------------------------------------------------

    def auto_reparar(self) -> dict:
        """Aplica reglas de resiliencia para mantener la operatividad."""
        acciones = []

        # 1) Si SoC < 20%, reducir enlaces a los imprescindibles
        if self.soc() < 20.0:
            enlaces_costosos = [
                k for k, v in self.enlaces.items()
                if CONSUMO_ENLACE_MW[v] > 500
            ]
            for k in enlaces_costosos:
                self.eliminar_enlace(k)
                acciones.append(f"Enlace {k} desactivado por bajo SoC")

        # 2) Si hay bundles expirados, eliminarlos
        expirados = [b for b in self.bundles_almacenados if b.expirado()]
        for b in expirados:
            self.bundles_almacenados.remove(b)
            acciones.append(f"Bundle {b.id_bundle} expirado y eliminado")

        # 3) Si SoC < 5%, entrar en modo "solo baliza"
        if self.soc() < 5.0:
            self.activo = False
            acciones.append("Nodo en modo baliza (solo escucha)")

        return {
            "nodo": self.id,
            "soc": round(self.soc(), 1),
            "acciones": acciones,
            "bundles_almacenados": len(self.bundles_almacenados),
        }

    def resumen(self) -> dict:
        return {
            "id": self.id,
            "nombre": self.nombre,
            "activo": self.activo,
            "soc": round(self.soc(), 1),
            "enlaces": len(self.enlaces),
            "bundles_almacenados": len(self.bundles_almacenados),
            "bundles_entregados": len(self.bundles_entregados),
            "puente_internet": self.puente_internet,
        }


# ================================================================
# 4. RED MESH COMPLETA
# ================================================================

class RedMesh:
    """
    Red completa de nodos LYRA-SHIELD MESH.
    Gestiona el enrutamiento DTN, los puentes a Internet y la resiliencia.
    """

    def __init__(self, nombre: str = "LYRA-MESH-URRUGNE"):
        self.nombre = nombre
        self.nodos: Dict[str, NodoMesh] = {}
        self.tabla_rutas: Dict[str, Dict[str, str]] = {}  # origen → destino → siguiente salto
        self.registro_global: List[dict] = []

    # ------------------------------------------------------------
    # GESTIÓN DE NODOS
    # ------------------------------------------------------------

    def añadir_nodo(self, nodo: NodoMesh) -> None:
        self.nodos[nodo.id] = nodo

    def eliminar_nodo(self, id_nodo: str) -> None:
        self.nodos.pop(id_nodo, None)

    # ------------------------------------------------------------
    # ENRUTAMIENTO
    # ------------------------------------------------------------

    def calcular_rutas(self) -> None:
        """Calcula rutas con Dijkstra adaptado a DTN (coste = consumo)."""
        self.tabla_rutas = {}

        for origen_id in self.nodos:
            origen = self.nodos[origen_id]
            if not origen.activo:
                continue

            # Dijkstra
            distancias: Dict[str, float] = {origen_id: 0.0}
            anteriores: Dict[str, Optional[str]] = {origen_id: None}
            cola: List[Tuple[float, str]] = [(0.0, origen_id)]
            visitados: Set[str] = set()

            while cola:
                dist, actual_id = heapq.heappop(cola)
                if actual_id in visitados:
                    continue
                visitados.add(actual_id)

                actual = self.nodos.get(actual_id)
                if not actual or not actual.activo:
                    continue

                for vecino_id, tipo in actual.enlaces_activos().items():
                    if vecino_id in visitados:
                        continue
                    vecino = self.nodos.get(vecino_id)
                    if not vecino or not vecino.activo:
                        continue

                    coste_enlace = CONSUMO_ENLACE_MW[tipo] / 1000.0
                    nueva_dist = dist + coste_enlace

                    if nueva_dist < distancias.get(vecino_id, float("inf")):
                        distancias[vecino_id] = nueva_dist
                        anteriores[vecino_id] = actual_id
                        heapq.heappush(cola, (nueva_dist, vecino_id))

            # Reconstruir rutas
            self.tabla_rutas[origen_id] = {}
            for destino_id in self.nodos:
                if destino_id == origen_id:
                    continue
                if destino_id not in anteriores:
                    continue
                # Reconstruir camino
                camino = []
                actual = destino_id
                while actual is not None:
                    camino.append(actual)
                    actual = anteriores[actual]
                camino.reverse()
                if len(camino) >= 2:
                    self.tabla_rutas[origen_id][destino_id] = camino[1]

    # ------------------------------------------------------------
    # ENVÍO DE BUNDLES
    # ------------------------------------------------------------

    def enviar(self, origen_id: str, destino_id: str,
               payload: bytes, prioridad: int = 3) -> Optional[Bundle]:
        """Envía un bundle desde un origen a un destino."""
        if origen_id not in self.nodos or destino_id not in self.nodos:
            return None

        origen = self.nodos[origen_id]
        bundle = Bundle(
            id_bundle="",
            origen=origen_id,
            destino=destino_id,
            payload=payload,
            prioridad=prioridad,
        )
        bundle.saltos.append(origen_id)

        # Si es para sí mismo, entregar directamente
        if origen_id == destino_id:
            origen.entregar(bundle)
            return bundle

        # Almacenar en origen
        if not origen.almacenar(bundle):
            return None

        # Intentar enviar por la tabla de rutas
        self.calcular_rutas()
        siguiente = self.tabla_rutas.get(origen_id, {}).get(destino_id)

        if siguiente:
            vecino = self.nodos[siguiente]
            origen.transmitir(vecino, bundle)

        return bundle

    # ------------------------------------------------------------
    # REENVÍO AUTOMÁTICO (STORE-AND-FORWARD)
    # ------------------------------------------------------------

    def reenviar_todos(self) -> int:
        """Cada nodo intenta reenviar sus bundles almacenados."""
        self.calcular_rutas()
        reenviados = 0

        for nodo in self.nodos.values():
            if not nodo.activo:
                continue

            for bundle in list(nodo.bundles_almacenados):
                if bundle.destino == nodo.id:
                    nodo.entregar(bundle)
                    reenviados += 1
                    continue

                siguiente = self.tabla_rutas.get(nodo.id, {}).get(bundle.destino)
                if siguiente:
                    vecino = self.nodos[siguiente]
                    if nodo.transmitir(vecino, bundle):
                        nodo.bundles_almacenados.remove(bundle)
                        reenviados += 1

        return reenviados

    # ------------------------------------------------------------
    # PUENTES A INTERNET
    # ------------------------------------------------------------

    def activar_puente(self, id_nodo: str) -> bool:
        """Marca un nodo como puente a Internet (porque recuperó energía)."""
        nodo = self.nodos.get(id_nodo)
        if not nodo:
            return False
        nodo.puente_internet = True
        self.registro_global.append({
            "evento": "PUENTE_ACTIVADO",
            "nodo": id_nodo,
            "timestamp": time.time(),
        })
        return True

    def desactivar_puente(self, id_nodo: str) -> bool:
        nodo = self.nodos.get(id_nodo)
        if not nodo:
            return False
        nodo.puente_internet = False
        self.registro_global.append({
            "evento": "PUENTE_DESACTIVADO",
            "nodo": id_nodo,
            "timestamp": time.time(),
        })
        return True

    def puentes_activos(self) -> List[str]:
        return [n.id for n in self.nodos.values() if n.puente_internet]

    # ------------------------------------------------------------
    # CICLO DE RESILIENCIA
    # ------------------------------------------------------------

    def ciclo_resiliencia(self) -> dict:
        """Ejecuta un ciclo completo de auto-reparación y reenvío."""
        resumen_nodos = []
        for nodo in self.nodos.values():
            r = nodo.auto_reparar()
            resumen_nodos.append(r)

        reenviados = self.reenviar_todos()

        return {
            "timestamp": time.time(),
            "nodos": resumen_nodos,
            "bundles_reenviados": reenviados,
            "puentes_activos": self.puentes_activos(),
        }

    # ------------------------------------------------------------
    # RESUMEN
    # ------------------------------------------------------------

    def resumen(self) -> dict:
        activos = sum(1 for n in self.nodos.values() if n.activo)
        almacenados = sum(len(n.bundles_almacenados)
                          for n in self.nodos.values())
        entregados = sum(len(n.bundles_entregados)
                         for n in self.nodos.values())
        return {
            "red": self.nombre,
            "nodos_totales": len(self.nodos),
            "nodos_activos": activos,
            "bundles_almacenados": almacenados,
            "bundles_entregados": entregados,
            "puentes_internet": len(self.puentes_activos()),
            "soc_medio": round(
                sum(n.soc() for n in self.nodos.values()) / len(self.nodos), 1
            ) if self.nodos else 0.0,
        }


# ================================================================
# 5. DEMOSTRACIÓN
# ================================================================

def demo():
    print("=" * 78)
    print("  LYRA-SHIELD MESH · INTRANET DE EMERGENCIA")
    print("  PASAIA LAB · IKASTOLA URRUGNE · LAS POCHOLITAS DE URRUGNE")
    print("=" * 78)

    red = RedMesh("LYRA-MESH-URRUGNE")

    # 1) Crear nodos (móviles, Raspberry Pi, radios)
    print("\n[1] Desplegando nodos de la red...")
    nodos_data = [
        ("n001", "Ikastola Urrugne",     15000, (43.38, -1.69), True),
        ("n002", "Casa Pocholita 1",     8000,  (43.39, -1.70), False),
        ("n003", "Casa Pocholita 2",     6000,  (43.37, -1.68), False),
        ("n004", "Pasaia Lab",           20000, (43.32, -1.93), True),
        ("n005", "Radio Aficionado",     12000, (43.36, -1.72), False),
        ("n006", "Bergara Lab",          10000, (43.12, -2.41), True),
        ("n007", "Móvil Vecinal",        4000,  (43.38, -1.68), False),
    ]
    for id_n, nombre, bat, ubi, puente in nodos_data:
        nodo = NodoMesh(id_n, nombre, bateria_mwh=bat, ubicacion=ubi)
        nodo.puente_internet = puente
        red.añadir_nodo(nodo)
        print(f"   · {id_n} {nombre:24} SoC=100% "
              f"{'(puente Internet)' if puente else ''}")

    # 2) Establecer enlaces
    print("\n[2] Estableciendo enlaces entre nodos...")
    enlaces = [
        ("n001", "n002", TipoEnlace.WIFI_DIRECT),
        ("n001", "n003", TipoEnlace.WIFI_DIRECT),
        ("n001", "n005", TipoEnlace.LORA),
        ("n002", "n007", TipoEnlace.BLUETOOTH_MESH),
        ("n003", "n007", TipoEnlace.BLUETOOTH_MESH),
        ("n005", "n004", TipoEnlace.PACKET_RADIO),
        ("n005", "n006", TipoEnlace.LORA),
        ("n004", "n006", TipoEnlace.SATELITE),
    ]
    for a, b, tipo in enlaces:
        red.nodos[a].añadir_enlace(b, tipo)
        red.nodos[b].añadir_enlace(a, tipo)
        print(f"   · {a} ↔ {b} ({tipo.value})")

    # 3) Calcular rutas
    print("\n[3] Calculando rutas con Dijkstra...")
    red.calcular_rutas()
    for origen in ["n002", "n003", "n007"]:
        ruta = red.tabla_rutas.get(origen, {})
        print(f"   · {origen} → rutas calculadas: {len(ruta)}")

    # 4) Enviar bundles
    print("\n[4] Enviando bundles de emergencia...")
    mensajes = [
        ("n002", "n001", b"SOLICITUD: medicina urgente", 1),
        ("n003", "n004", b"REPORTE: 5 familias sin luz", 2),
        ("n007", "n006", b"AVISO: anciano necesita insulina", 1),
        ("n002", "n006", b"FICHA: censo de afectados", 3),
        ("n003", "n001", b"MENSAJE: punto de encuentro", 2),
    ]
    for origen, destino, payload, pri in mensajes:
        b = red.enviar(origen, destino, payload, pri)
        if b:
            print(f"   · {origen} → {destino} (pri={pri}): "
                  f"'{payload.decode()}'")

    # 5) Ciclo de resiliencia
    print("\n[5] Ejecutando ciclos de resiliencia...")
    for ciclo in range(3):
        r = red.ciclo_resiliencia()
        print(f"\n   [Ciclo {ciclo + 1}] "
              f"Reenviados: {r['bundles_reenviados']} · "
              f"Puentes: {len(r['puentes_activos'])}")

    # 6) Simular corte de energía en varios nodos
    print("\n[6] Simulando corte de energía en nodos...")
    red.nodos["n002"].consumir_energia(7000)  # SoC ~12%
    red.nodos["n003"].consumir_energia(5500)  # SoC ~8%
    red.nodos["n007"].consumir_energia(3900)  # SoC ~2%
    print("   · n002, n003, n007 con batería crítica")

    # 7) Ciclo de resiliencia tras el corte
    print("\n[7] Ciclo de resiliencia tras el corte...")
    r = red.ciclo_resiliencia()
    for n in r["nodos"]:
        if n["acciones"]:
            print(f"   · {n['nodo']}: SoC={n['soc']}% "
                  f"→ {', '.join(n['acciones'])}")

    # 8) Recuperar energía en un nodo
    print("\n[8] Recuperando energía en n002 (powerbank)...")
    red.nodos["n002"].cargar_energia(5000)
    print(f"   · n002 SoC: {red.nodos['n002'].soc():.1f}%")

    # 9) Resumen final
    print("\n[9] RESUMEN FINAL DE LA RED")
    print("-" * 78)
    print(json.dumps(red.resumen(), indent=2, ensure_ascii=False))

    print("\n" + "=" * 78)
    print("  SIMULACIÓN COMPLETADA · LYRA-SHIELD MESH")
    print("=" * 78)


if __name__ == "__main__":
    demo()
```

---

## 🔋 6. Estrategia de Energía Mínima

Cuando no hay recursos energéticos alternativos, cada **milivatio cuenta**. La estrategia de LYRA-SHIELD MESH es:

| Nivel | SoC | Estrategia |
| :---: | :---: | :--- |
| **VERDE** | > 60% | Todos los enlaces activos, reenvío normal |
| **AMARILLO** | 30-60% | Desactivar enlaces costosos (AX.25, satélite) |
| **NARANJA** | 10-30% | Solo LoRa y BLE, reenvío cada 5 min |
| **ROJO** | 5-10% | Solo baliza (escucha), no transmite |
| **NEGRO** | < 5% | Nodo apagado, los bundles esperan en otros nodos |

**Truco clave:** Un nodo con poca batería **no necesita estar siempre activo**. Puede despertar cada cierto tiempo (duty cycle), transmitir lo que tenga y volver a dormir. Esto multiplica por 10-100 la autonomía.

---

## 🌐 7. Puente a Internet: La Reconexión Automática

Cuando **cualquier nodo** recupera energía y detecta que su router/antena vuelve a funcionar:

1. **Detección automática**: Ping al gateway cada 30 segundos.
2. **Activación de puente**: El nodo se marca como `puente_internet = True`.
3. **Drenaje de bundles**: Todos los bundles acumulados en la red se enrutan hacia ese nodo.
4. **Sincronización con el backbone**: Los mensajes se entregan a sus destinos en Internet.
5. **Registro en LYRA-CHAIN**: Cada bundle entregado se registra on-chain.

Esto convierte el sistema en **auto-sanador**: no importa cuántos nodos caigan, mientras uno recupere energía, toda la red se reconecta.

---

## 🎨 8. Prompt para la Imagen: "LYRA-SHIELD MESH en Acción"

> *"Infografía técnica de estilo **mapa de red de emergencia en tiempo real**, formato horizontal panorámico (16:9), resolución 8K, que representa el sistema **LYRA-SHIELD MESH** operando en un escenario de 'Internet vivo, último kilómetro caído'. Paleta estricta: **rojo carmesí, verde esmeralda y blanco perla**.*

> **1. COMPOSICIÓN GENERAL:**
> *   *Un **mapa estilizado de Lapurdi y Gipuzkoa** como fondo, con las localidades de **Urrugne** (arriba) y **Pasaia** (abajo) marcadas en **verde esmeralda**.*
> *   *En el centro, un **escudo hexagonal** con el ojo de LYRA, rodeado por **7 anillos concéntricos** en rojo y verde.*
> *   *Alrededor del escudo, **7 nodos** conectados por líneas de diferentes colores según el tipo de enlace.*

> **2. LOS NODOS (con etiquetas):**
> *   *🏫 **NODO IKASTOLA URRUGNE** (rojo): icono de montaña y libro, con la etiqueta **'SoC: 85% · Puente Internet'**.*
> *   *🏠 **NODO CASA POCHOLITA 1** (verde): icono de casa, con **'SoC: 42% · WiFi Direct'**.*
> *   *🏠 **NODO CASA POCHOLITA 2** (verde): icono de casa, con **'SoC: 28% · BLE'**.*
> *   *⚓ **NODO PASAIA LAB** (rojo): icono de ancla, con **'SoC: 92% · Puente Internet'**.*
> *   *📻 **NODO RADIO AFICIONADO** (verde): icono de antena, con **'SoC: 60% · Packet Radio'**.*
> *   *🔬 **NODO BERGARA LAB** (rojo): icono de laboratorio, con **'SoC: 78% · Lora'**.*
> *   *📱 **NODO MÓVIL VECINAL** (verde): icono de móvil, con **'SoC: 15% · Solo baliza'**.*

> **3. LOS ENLACES (líneas de colores):**
> *   *Línea **verde esmeralda gruesa**: enlace **LoRa** (2-15 km, 100 mW).*
> *   *Línea **verde esmeralda fina**: enlace **WiFi Direct** (100-300 m, 200 mW).*
> *   *Línea **verde esmeralda punteada**: enlace **BLE** (10-50 m, 10 mW).*
> *   *Línea **roja gruesa**: enlace **Packet Radio** (5-50 km, 5 W).*
> *   *Línea **roja punteada**: enlace **Satélite LEO** (global, 1 W).*

> **4. LOS BUNDLES (paquetes DTN):**
> *   *Pequeños **sobres de luz blanca** que viajan por las líneas, con etiquetas: **'MEDICINA URGENTE (pri=1)'**, **'CENSO AFECTADOS (pri=3)'**, **'PUNTO ENCUENTRO (pri=2)'**.*
> *   *Cada sobre tiene un pequeño **candado verde** que indica que está cifrado y verificado.*

> **5. EL ESCUDO CENTRAL (con las 7 capas):**
> *   *Anillo 1 (exterior) — **ENERGÍA**: iconos de powerbank, panel solar, batería de coche, pila.*
> *   *Anillo 2 — **RED**: iconos de LoRa, WiFi, BLE, AX.25, satélite.*
> *   *Anillo 3 — **DATOS**: iconos de bundle, DTN, blockchain.*
> *   *Anillo 4 — **FÍSICA**: iconos de candado, jaula Faraday.*
> *   *Anillo 5 — **LÓGICA**: iconos de firewall, cifrado.*
> *   *Anillo 6 — **HUMANA**: iconos de personas, formación.*
> *   *Anillo 7 (interior) — **RECUPERACIÓN**: iconos de reloj, RTO, RPO.*
> *   *En el centro, el **ojo digital de LYRA** con iris de circuitos en verde y pupila roja.*

> **6. PANEL DE CONTROL (esquina inferior derecha):**
> *   *Dashboard holográfico que muestra:*
>     *   ***'Nodos activos: 6/7'**.*
>     *   ***'Bundles almacenados: 12'**.*
>     *   ***'Bundles entregados: 8'**.*
>     *   ***'Puentes Internet: 3'**.*
>     *   ***'SoC medio: 57%'**.*
>     *   *Gráfico de barras que compara **'Sin LYRA-SHIELD: 0% conectividad'** vs **'Con LYRA-SHIELD: 85% conectividad local'**.*

> **7. TÍTULO Y TEXTOS:**
> *   *En la parte superior, título en tipografía serif 3D **roja con reflejos blancos**: **'LYRA-SHIELD MESH'**, con subtítulo en sans-serif **verde esmeralda**: **'Intranet de Emergencia · Store-and-Forward · DTN'**.*
> *   *En la parte inferior, sobre franja **roja**, los logos en **blanco**: **'PASAIA LAB · IKASTOLA URRUGNE · LAS POCHOLITAS DE URRUGNE'**.*
> *   *En la esquina inferior izquierda, sello circular **verde** con el texto **'PL-LYRA-MESH-2026-10-07'**.*

> **8. ESTILO Y PALETA:**
> *   *Paleta estricta: **rojo carmesí (#C41E3A)**, **verde esmeralda (#009A44)**, **blanco perla (#F5F5F5)**.*
> *   *Sin otros colores. Los contrastes se logran con opacidades y variaciones de los tres tonos.*
> *   *Iluminación: los nodos emiten un **resplandor verde o rojo** según su estado.*
> *   *Estilo: infografía técnica para revista de tecnología (Wired, MIT Tech Review) combinada con mapa de operaciones de emergencia.*
> *   *Acabado: render 3D cinematográfico con hologramas y transparencias."*

---

## 🎨 9. Prompt para el Certificado Visual

> *"Certificado oficial de estilo **documento de inteligencia clasificado con sello institucional**, formato vertical (9:16), resolución 8K, que acredita el sistema **LYRA-SHIELD MESH — Intranet de Emergencia sin Energía en Puntos de Acceso**, otorgado exclusivamente a la **IKASTOLA URRUGNE** y a **LAS POCHOLITAS DE URRUGNE**. Paleta estricta: **rojo carmesí, verde esmeralda y blanco perla**.*

> **CABECERA (12%):**
> *   *Franja **roja carmesí** con el texto **'TOP SECRET // PASAIA LAB EYES ONLY'** en monoespaciada **blanca**.*
> *   *Escudo hexagonal de la **Ikastola Urrugne** (montaña y libro) en **verde y blanco**, flanqueado por líneas **rojas**.*

> **TÍTULO Y REFERENCIA (10%):**
> *   *Título en serif **rojo carmesí**: **'CERTIFICACIÓN DE SISTEMA DE RESILIENCIA DE RED'**.*
> *   *Subtítulo en sans-serif **verde esmeralda**: **'LYRA-SHIELD MESH · Intranet de Emergencia con Store-and-Forward'**.*
> *   *Referencia en monoespaciada **roja**: **'PL-LYRA-MESH-2026-10-07'**.*
> *   *Fecha en monoespaciada **verde**: **'7 de octubre de 2026 · Urrugne (Lapurdi), Euskadi'**.*

> **BLOQUE DE AUTORÍA (12%):**
> *   *Recuadro con borde **rojo**, fondo **blanco perla**:*
>     *   *'OTORGADO A' en **verde***
>     *   ***'IKASTOLA URRUGNE'** en serif grande **rojo***
>     *   ***'LAS POCHOLITAS DE URRUGNE'** en serif grande **verde***
>     *   *'Comunidad Educativa · Tradición · Futuro' en cursiva **roja***

> **BLOQUE DE COMPONENTES CERTIFICADOS (30%):**
> *   *Recuadro con borde **verde**, fondo **blanco perla**, con el título **'COMPONENTES CERTIFICADOS'** en sans-serif **rojo**.*
> *   *Siete tarjetas con iconos alternando **rojo** y **verde**:*
>     *   *📡 **Enlaces**: LoRa, WiFi Direct, BLE, AX.25, Satélite LEO*
>     *   *📦 **DTN Bundle Protocol**: Store-and-Forward con TTL de 7 días*
>     *   *🔋 **Energía mínima**: Duty cycle, SoC adaptativo, modo baliza*
>     *   *🗺️ **Enrutado**: Dijkstra con coste por consumo energético*
>     *   *🌐 **Puente Internet**: Reconexión automática al backbone*
>     *   *🔒 **Cifrado**: Integración con LYRA-ID y LYRA-CHAIN*
>     *   *🔄 **Resiliencia**: Auto-reparación y recuperación ante cortes*

> **BLOQUE DE MÉTRICAS (10%):**
> *   *Cuatro recuadros con borde **1 mm**:*
>     *   *'Conectividad local: 85%' (**verde**)*
>     *   *'Alcance máximo: 50 km' (**rojo**)*
>     *   *'Consumo mínimo: 10 mW' (**verde**)*
>     *   *'TTL bundles: 7 días' (**rojo**)*

> **BLOQUE DE FIRMAS (18%):**
> *   *Dos recuadros:*
>     *   *🏫 **IKASTOLA URRUGNE** (borde **verde**): Dirección Educativa*
>     *   *👧 **LAS POCHOLITAS DE URRUGNE** (borde **rojo**): Comunidad de Referencia*
> *   *Debajo, en cursiva **verde**: **'En colaboración con PASAIA LAB · INTELIGENCIA LIBRE · FORJA · ACCIÓN CIVIL DIGITAL · DEEPSEEK IA'***

> **SELLOS:**
> *   *Sello de cera digital **rojo** con el logo de **Ikastola Urrugne**.*
> *   *Sello de cera digital **verde** con el logo de **Las Pocholitas de Urrugne**.*
> *   *Código QR **rojo** con **'VERIFICAR AUTENTICIDAD'** en **verde**.*
> *   *Marca de agua diagonal **'CONFIDENCIAL · LYRA NEXUS'** en gris muy tenue.*

> **PIE DE PÁGINA (8%):**
> *   *Franja **roja** con texto **blanco**: **'Ecosistema LYRA NEXUS · IKASTOLA URRUGNE · LAS POCHOLITAS DE URRUGNE'**.*
> *   *Franja **verde** con texto **blanco** en cursiva: **'Documento emitido bajo la clasificación TOP SECRET.'***

> **ESTILO:**
> *   *Paleta estricta: **rojo carmesí (#C41E3A)**, **verde esmeralda (#009A44)**, **blanco perla (#F5F5F5)**.*
> *   *Sin otros colores. Contrastes mediante opacidad y variaciones.*
> *   *Tipografías: serif para títulos y nombres, sans-serif para listas, monoespaciada para referencias.*
> *   *Acabado: documento oficial de alta seguridad con textura de papel de seguridad y sellos de cera digital.*
> *   *Transmite solemnidad institucional, identidad educativa vasca y tecnología de resiliencia."*

---

## 🏛️ 10. CERTIFICACIÓN

**Nº de Registro:** PL-LYRA-MESH-2026-10-07
**Fecha:** 7 de octubre de 2026 · **Lugar:** Urrugne (Lapurdi), Euskadi

Se certifica que el sistema **LYRA-SHIELD MESH — Intranet de Emergencia sin Energía en Puntos de Acceso** ha sido diseñado por **José Agustín Fontán Varela**, CEO de **PASAIA LAB**, con la colaboración de **INTELIGENCIA LIBRE**, **ACCIÓN CIVIL DIGITAL**, **FORJA**, **IKASTOLA URRUGNE**, **Las Pocholitas de Urrugne** y **DeepSeek IA – Asesor Inteligente**, bajo la clasificación **TOP SECRET**, como parte del ecosistema **LYRA NEXUS**.

**Componentes certificados:**
- **Capa física**: Enlaces LoRa, WiFi Direct, BLE, AX.25 y satélite LEO.
- **Capa enlace**: Protocolos ESP-NOW, AX.25 y Bluetooth Mesh.
- **Capa red**: Enrutado DTN con Bundle Protocol (RFC 5050) y Dijkstra adaptado.
- **Capa apps**: Mensajería de emergencia, fichas de afectados y avisos prioritarios.
- **Capa puente**: Reconexión automática al backbone cuando un nodo recupera energía.
- **Capa energía**: Estrategia de duty cycle y SoC adaptativo (verde/amarillo/naranja/rojo/negro).

**Métricas certificadas:**
- Conectividad local objetivo: **85%**
- Alcance máximo por salto: **50 km** (AX.25)
- Consumo mínimo: **10 mW** (BLE)
- TTL de bundles: **7 días**
- Capacidad de reconexión: **< 30 segundos** tras recuperar energía

**Firmado:**
- **José Agustín Fontán Varela** — CEO de PASAIA LAB
- **Ikastola Urrugne** — Dirección Educativa
- **Las Pocholitas de Urrugne** — Comunidad de Referencia
- **INTELIGENCIA LIBRE** — Validación Metodológica
- **FORJA** — Solidez Técnica
- **ACCIÓN CIVIL DIGITAL** — Relevancia Social
- **DeepSeek IA** — Asistencia Técnica

---

> ⚠️ **Recordatorio final:** Este sistema es un **ejercicio de simulación y diseño arquitectónico** con fines educativos para la Ikastola Urrugne y Las Pocholitas de Urrugne. No es software operativo ni un plan de implementación real. Su valor reside en servir de **material didáctico** para el estudio de redes de emergencia, protocolos DTN, gestión energética y resiliencia comunitaria — competencias directamente aplicables al ecosistema **LYRA NEXUS** y a proyectos civiles de autonomía y soberanía digital en Euskadi.

 

 
 

 
 
 
 
 
 
 
 
 
 
 

 

 

 

 

No hay comentarios:

Publicar un comentario

COMENTA LIBREMENTE ;)

ENTRADA DESTACADA

# 🛡️ LYRA-SHIELD — Sistema de Protección Integral para LYRA IA & # 🛡️ LYRA-SHIELD MESH — Intranets de Emergencia sin Energía en Puntos de Acceso

# 🛡️ LYRA-SHIELD — Sistema de Protección Integral para LYRA IA **Clasificación:** TOP SECRET // PASAIA LAB EYES ONLY **Referencia:** PL-LYR...

ENTRADAS POPULARES