VilaNet / index.html
QwanYin's picture
Add 3 files
241d246 verified
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vilanet - Red Comunitaria Autónoma</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Inter', sans-serif;
background-color: #f8fafc;
color: #1e293b;
}
.gradient-bg {
background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);
}
.tech-card {
transition: all 0.3s ease;
border-left: 4px solid transparent;
}
.tech-card:hover {
transform: translateY(-2px);
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
border-left-color: #3b82f6;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
.network-node {
position: relative;
}
.network-node::after {
content: '';
position: absolute;
width: 100%;
height: 2px;
background: #e2e8f0;
left: 0;
top: 50%;
z-index: -1;
}
.feature-icon {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 12px;
margin-bottom: 1rem;
}
</style>
</head>
<body>
<!-- Header -->
<header class="gradient-bg text-white">
<div class="container mx-auto px-4 py-16">
<div class="flex flex-col md:flex-row items-center">
<div class="md:w-1/2 mb-8 md:mb-0">
<h1 class="text-4xl md:text-5xl font-bold mb-4">Vilanet</h1>
<h2 class="text-xl md:text-2xl font-semibold mb-6">Red Comunitaria Autónoma</h2>
<p class="text-lg mb-8 opacity-90">Sistema de comunicación resistente que funciona sin internet, combinando IA local y redes mesh para mantener a las comunidades conectadas en cualquier situación.</p>
<div class="flex flex-wrap gap-3">
<a href="#features" class="bg-white text-blue-600 px-6 py-3 rounded-lg font-medium hover:bg-blue-50 transition">Características</a>
<a href="#tech" class="border-2 border-white text-white px-6 py-3 rounded-lg font-medium hover:bg-white hover:bg-opacity-10 transition">Tecnologías</a>
</div>
</div>
<div class="md:w-1/2">
<img src="https://images.unsplash.com/photo-1581092921461-39b2f2a8b162?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Red comunitaria" class="rounded-xl shadow-2xl border-4 border-white border-opacity-20">
</div>
</div>
</div>
</header>
<!-- Stats -->
<section class="bg-white py-12">
<div class="container mx-auto px-4">
<div class="grid grid-cols-2 md:grid-cols-4 gap-6 text-center">
<div class="p-4">
<div class="text-3xl md:text-4xl font-bold text-blue-600 mb-2">50+ km</div>
<div class="text-gray-600">Alcance regional</div>
</div>
<div class="p-4">
<div class="text-3xl md:text-4xl font-bold text-purple-600 mb-2">€200-500</div>
<div class="text-gray-600">Costo por nodo</div>
</div>
<div class="p-4">
<div class="text-3xl md:text-4xl font-bold text-green-600 mb-2">100Mbps</div>
<div class="text-gray-600">Velocidad local</div>
</div>
<div class="p-4">
<div class="text-3xl md:text-4xl font-bold text-amber-600 mb-2">10,000+</div>
<div class="text-gray-600">Usuarios soportados</div>
</div>
</div>
</div>
</section>
<!-- Features -->
<section id="features" class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold mb-4">¿Qué hace revolucionario a Vilanet?</h2>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">Un sistema de comunicación autónomo que combina lo mejor de las tecnologías modernas con la resiliencia comunitaria.</p>
</div>
<div class="grid md:grid-cols-3 gap-8">
<!-- Feature 1 -->
<div class="bg-white p-8 rounded-xl shadow-sm">
<div class="feature-icon bg-blue-100 text-blue-600">
<i class="fas fa-wifi text-2xl"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Funciona sin internet</h3>
<p class="text-gray-600">Mantiene la comunicación incluso cuando fallan las redes convencionales durante cortes de internet o desastres naturales.</p>
</div>
<!-- Feature 2 -->
<div class="bg-white p-8 rounded-xl shadow-sm">
<div class="feature-icon bg-purple-100 text-purple-600">
<i class="fas fa-lock text-2xl"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Privacidad garantizada</h3>
<p class="text-gray-600">Encriptación de grado militar (AES-256, Curve25519) similar a la que protege transacciones bancarias y comunicaciones gubernamentales.</p>
</div>
<!-- Feature 3 -->
<div class="bg-white p-8 rounded-xl shadow-sm">
<div class="feature-icon bg-green-100 text-green-600">
<i class="fas fa-users text-2xl"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Control comunitario</h3>
<p class="text-gray-600">Infraestructura propiedad de la comunidad sin dependencia de compañías telefónicas o proveedores de internet.</p>
</div>
<!-- Feature 4 -->
<div class="bg-white p-8 rounded-xl shadow-sm">
<div class="feature-icon bg-amber-100 text-amber-600">
<i class="fas fa-bolt text-2xl"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Energía alternativa</h3>
<p class="text-gray-600">Funciona con paneles solares, baterías y hasta bicigeneradores para mantener la red operativa durante cortes prolongados.</p>
</div>
<!-- Feature 5 -->
<div class="bg-white p-8 rounded-xl shadow-sm">
<div class="feature-icon bg-red-100 text-red-600">
<i class="fas fa-shield-alt text-2xl"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Resistente a censura</h3>
<p class="text-gray-600">Topología de malla sin puntos centrales vulnerables. Cortar un nodo no afecta a toda la red.</p>
</div>
<!-- Feature 6 -->
<div class="bg-white p-8 rounded-xl shadow-sm">
<div class="feature-icon bg-indigo-100 text-indigo-600">
<i class="fas fa-robot text-2xl"></i>
</div>
<h3 class="text-xl font-semibold mb-3">IA local avanzada</h3>
<p class="text-gray-600">Modelos como LLaMA 3 para asistencia lingüística, gestión de emergencias y educación offline sin necesidad de conexión.</p>
</div>
</div>
</div>
</section>
<!-- Analogía -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="flex flex-col md:flex-row items-center">
<div class="md:w-1/2 mb-8 md:mb-0 md:pr-8">
<h2 class="text-3xl font-bold mb-6">El Sistema Postal Digital</h2>
<p class="text-lg text-gray-600 mb-6">Vilanet funciona como un sistema postal tradicional pero digitalizado, donde cada nodo actúa como una oficina postal local que puede recibir y enviar mensajes.</p>
<div class="space-y-4">
<div class="flex items-start">
<div class="flex-shrink-0 bg-blue-100 p-2 rounded-lg text-blue-600 mr-4">
<i class="fas fa-route"></i>
</div>
<div>
<h4 class="font-semibold">Nodos = Oficinas postales</h4>
<p class="text-gray-600">Cada una puede recibir y enviar mensajes independientemente.</p>
</div>
</div>
<div class="flex items-start">
<div class="flex-shrink-0 bg-purple-100 p-2 rounded-lg text-purple-600 mr-4">
<i class="fas fa-truck"></i>
</div>
<div>
<h4 class="font-semibold">Red mesh = Carteros</h4>
<p class="text-gray-600">Llevan los mensajes de un nodo a otro de forma autoorganizada.</p>
</div>
</div>
<div class="flex items-start">
<div class="flex-shrink-0 bg-green-100 p-2 rounded-lg text-green-600 mr-4">
<i class="fas fa-envelope"></i>
</div>
<div>
<h4 class="font-semibold">Encriptación = Sobres cerrados</h4>
<p class="text-gray-600">Nadie puede leer los mensajes excepto el destinatario final.</p>
</div>
</div>
</div>
</div>
<div class="md:w-1/2">
<div class="bg-gray-100 p-6 rounded-xl border border-gray-200">
<div class="mb-4">
<div class="flex items-center mb-2">
<div class="w-8 h-8 rounded-full bg-blue-500 flex items-center justify-center text-white mr-3">1</div>
<div class="font-medium">Juan en la Calle A envía mensaje</div>
</div>
<div class="ml-11 pl-1 border-l-2 border-gray-300">
<p class="text-gray-600">"¿Dónde está el centro médico más cercano?"</p>
</div>
</div>
<div class="mb-4">
<div class="flex items-center mb-2">
<div class="w-8 h-8 rounded-full bg-purple-500 flex items-center justify-center text-white mr-3">2</div>
<div class="font-medium">Nodos intermedios retransmiten</div>
</div>
<div class="ml-11 pl-1 border-l-2 border-gray-300">
<p class="text-gray-600">El mensaje pasa por varios nodos como vecinos pasando un recado.</p>
</div>
</div>
<div class="mb-4">
<div class="flex items-center mb-2">
<div class="w-8 h-8 rounded-full bg-green-500 flex items-center justify-center text-white mr-3">3</div>
<div class="font-medium">María en la Calle D recibe</div>
</div>
<div class="ml-11 pl-1 border-l-2 border-gray-300">
<p class="text-gray-600">"Centro de salud a 300m dirección norte"</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Tecnologías -->
<section id="tech" class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold mb-4">Tecnologías Clave</h2>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">Combinación de hardware accesible y protocolos avanzados para crear una red autónoma.</p>
</div>
<!-- Tabs -->
<div class="flex flex-wrap justify-center mb-8 gap-2">
<button onclick="showTab('hardware')" class="tab-button px-6 py-2 rounded-lg font-medium bg-blue-600 text-white">Hardware</button>
<button onclick="showTab('software')" class="tab-button px-6 py-2 rounded-lg font-medium bg-gray-200 text-gray-700">Software</button>
<button onclick="showTab('ia')" class="tab-button px-6 py-2 rounded-lg font-medium bg-gray-200 text-gray-700">IA Local</button>
<button onclick="showTab('seguridad')" class="tab-button px-6 py-2 rounded-lg font-medium bg-gray-200 text-gray-700">Seguridad</button>
<button onclick="showTab('energia')" class="tab-button px-6 py-2 rounded-lg font-medium bg-gray-200 text-gray-700">Energía</button>
</div>
<!-- Tab Content -->
<div class="tab-content active" id="hardware-content">
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
<!-- Hardware 1 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 mr-4">
<i class="fas fa-microchip text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Raspberry Pi 5</h3>
</div>
<p class="text-gray-600 mb-4">Pequeñas computadoras del tamaño de una tarjeta de crédito que actúan como "cerebros" de cada nodo.</p>
<div class="flex justify-between text-sm">
<span class="bg-blue-100 text-blue-600 px-3 py-1 rounded-full">€80-100</span>
<span class="text-gray-500">5-10W consumo</span>
</div>
</div>
<!-- Hardware 2 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center text-purple-600 mr-4">
<i class="fas fa-wifi text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Tarjetas WiFi Alfa</h3>
</div>
<p class="text-gray-600 mb-4">Adaptadores especiales con mayor alcance que WiFi normal (hasta 15km en línea de vista).</p>
<div class="flex justify-between text-sm">
<span class="bg-purple-100 text-purple-600 px-3 py-1 rounded-full">€50-80</span>
<span class="text-gray-500">Alcance extendido</span>
</div>
</div>
<!-- Hardware 3 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center text-green-600 mr-4">
<i class="fas fa-satellite-dish text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Antenas Ubiquiti</h3>
</div>
<p class="text-gray-600 mb-4">"Megáfonos digitales" que amplifican la señal para mayor alcance y confiabilidad.</p>
<div class="flex justify-between text-sm">
<span class="bg-green-100 text-green-600 px-3 py-1 rounded-full">€60-200</span>
<span class="text-gray-500">Variedad de ganancias</span>
</div>
</div>
<!-- Hardware 4 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-amber-100 rounded-lg flex items-center justify-center text-amber-600 mr-4">
<i class="fas fa-broadcast-tower text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Transceptor Xiegu G90</h3>
</div>
<p class="text-gray-600 mb-4">Radio de 20W para comunicación HF (3-30MHz) que cubre grandes distancias.</p>
<div class="flex justify-between text-sm">
<span class="bg-amber-100 text-amber-600 px-3 py-1 rounded-full">~€450</span>
<span class="text-gray-500">Consumo bajo</span>
</div>
</div>
<!-- Hardware 5 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-red-100 rounded-lg flex items-center justify-center text-red-600 mr-4">
<i class="fas fa-shield-alt text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Jaula Faraday</h3>
</div>
<p class="text-gray-600 mb-4">Caja de aluminio que protege contra pulsos electromagnéticos (hasta 50kV/m).</p>
<div class="flex justify-between text-sm">
<span class="bg-red-100 text-red-600 px-3 py-1 rounded-full">€120</span>
<span class="text-gray-500">Protección EMP</span>
</div>
</div>
<!-- Hardware 6 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center text-indigo-600 mr-4">
<i class="fas fa-solar-panel text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Panel Solar 100W</h3>
</div>
<p class="text-gray-600 mb-4">Fuente de energía autónoma para mantener nodos funcionando indefinidamente.</p>
<div class="flex justify-between text-sm">
<span class="bg-indigo-100 text-indigo-600 px-3 py-1 rounded-full">€200-400</span>
<span class="text-gray-500">Kit completo</span>
</div>
</div>
</div>
</div>
<div class="tab-content" id="software-content">
<div class="grid md:grid-cols-2 gap-6">
<!-- Software 1 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 mr-4">
<i class="fab fa-github text-xl"></i>
</div>
<h3 class="text-xl font-semibold">LibreMesh</h3>
</div>
<p class="text-gray-600 mb-4">Software que convierte routers normales en nodos inteligentes de red mesh.</p>
<div class="mb-4">
<pre class="bg-gray-100 p-3 rounded-lg text-sm overflow-x-auto"><code>git clone https://github.com/libremesh/lime-packages
make defconfig && make -j4</code></pre>
</div>
<div class="text-sm text-gray-500">Incluye protocolos de enrutamiento (OLSR, B.A.T.M.A.N.) y herramientas de monitorización.</div>
</div>
<!-- Software 2 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center text-purple-600 mr-4">
<i class="fab fa-telegram text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Telegram X</h3>
</div>
<p class="text-gray-600 mb-4">Versión modificada de Telegram que funciona con la red local sin servidores de internet.</p>
<div class="mb-4">
<pre class="bg-gray-100 p-3 rounded-lg text-sm overflow-x-auto"><code>git clone --recursive https://github.com/TGX-Android/Telegram-X
nano local.properties # Editar configuración
./gradlew assembleUniversalRelease</code></pre>
</div>
<div class="text-sm text-gray-500">100% compatible con Telegram normal, alterna automáticamente entre internet y Vilanet.</div>
</div>
<!-- Software 3 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center text-green-600 mr-4">
<i class="fas fa-exchange-alt text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Puente Matrix-LoRa</h3>
</div>
<p class="text-gray-600 mb-4">Traductor entre la red digital (Matrix) y radios LoRa para comunicación a larga distancia.</p>
<div class="mb-4">
<pre class="bg-gray-100 p-3 rounded-lg text-sm overflow-x-auto"><code># matrix_lora_bridge.py
from matrix_client.client import MatrixClient
import serial
matrix = MatrixClient("http://local.matrix:8008")
lora = serial.Serial('/dev/ttyUSB0', 9600)
def handle_room_message(room, event):
if event['type'] == "m.room.message":
lora.write(f"{event['sender']}: {event['content']['body']}\n".encode())
matrix.add_listener(handle_room_message)
matrix.listen_forever()</code></pre>
</div>
</div>
<!-- Software 4 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-amber-100 rounded-lg flex items-center justify-center text-amber-600 mr-4">
<i class="fas fa-database text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Respaldo M-DISC</h3>
</div>
<p class="text-gray-600 mb-4">Discos que resisten 1000 años sin degradarse, inmunes a imanes/radiación.</p>
<div class="mb-4">
<pre class="bg-gray-100 p-3 rounded-lg text-sm overflow-x-auto"><code>sudo apt install growisofs
growisofs -Z /dev/sr0 -r -J /var/backups</code></pre>
</div>
<div class="text-sm text-gray-500">Costo accesible (~€2 por disco de 25GB), legibles con cualquier lector de DVD.</div>
</div>
</div>
</div>
<div class="tab-content" id="ia-content">
<div class="grid md:grid-cols-3 gap-6">
<!-- IA 1 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 mr-4">
<i class="fas fa-robot text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Raspberry Pi 5</h3>
</div>
<ul class="list-disc pl-5 text-gray-600 mb-4 space-y-1">
<li>Modelos TinyLlama (1.1B parámetros)</li>
<li>Respuestas básicas (~5-10 segundos)</li>
<li>1 consulta cada 2 minutos</li>
</ul>
<div class="flex justify-between text-sm">
<span class="bg-blue-100 text-blue-600 px-3 py-1 rounded-full">~80€</span>
<span class="text-gray-500">Comunidades pequeñas</span>
</div>
</div>
<!-- IA 2 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center text-purple-600 mr-4">
<i class="fas fa-brain text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Jetson Nano (4GB)</h3>
</div>
<ul class="list-disc pl-5 text-gray-600 mb-4 space-y-1">
<li>Modelos Phi-2 (2.7B parámetros)</li>
<li>Procesamiento más rápido (~3-5 segundos)</li>
<li>3-5 consultas por minuto</li>
</ul>
<div class="flex justify-between text-sm">
<span class="bg-purple-100 text-purple-600 px-3 py-1 rounded-full">~150€</span>
<span class="text-gray-500">Comunidades medianas</span>
</div>
</div>
<!-- IA 3 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center text-green-600 mr-4">
<i class="fas fa-server text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Mini PC con GPU</h3>
</div>
<ul class="list-disc pl-5 text-gray-600 mb-4 space-y-1">
<li>LLaMA 3 (8B+ parámetros)</li>
<li>Multimodal (texto, imágenes)</li>
<li>~1-2 segundos por respuesta</li>
<li>10+ consultas por minuto</li>
</ul>
<div class="flex justify-between text-sm">
<span class="bg-green-100 text-green-600 px-3 py-1 rounded-full">€500-1,000</span>
<span class="text-gray-500">Ciudades pequeñas</span>
</div>
</div>
</div>
<div class="mt-8 bg-white p-6 rounded-xl shadow-sm">
<h3 class="text-xl font-semibold mb-4">Casos de Uso Avanzados</h3>
<div class="grid md:grid-cols-3 gap-4">
<div class="p-4 bg-blue-50 rounded-lg">
<h4 class="font-medium mb-2 text-blue-700">Asistencia lingüística</h4>
<p class="text-sm text-gray-600">Traducción automática entre idiomas locales (ej: catalán ↔ español).</p>
</div>
<div class="p-4 bg-purple-50 rounded-lg">
<h4 class="font-medium mb-2 text-purple-700">Gestión de emergencias</h4>
<p class="text-sm text-gray-600">Análisis de datos de sensores (ej: inundaciones, incendios).</p>
</div>
<div class="p-4 bg-green-50 rounded-lg">
<h4 class="font-medium mb-2 text-green-700">Educación offline</h4>
<p class="text-sm text-gray-600">Chatbot para consultas escolares sin necesidad de internet.</p>
</div>
</div>
</div>
</div>
<div class="tab-content" id="seguridad-content">
<div class="grid md:grid-cols-3 gap-6">
<!-- Seguridad 1 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 mr-4">
<i class="fas fa-key text-xl"></i>
</div>
<h3 class="text-xl font-semibold">LoRa/LoRaWAN</h3>
</div>
<ul class="list-disc pl-5 text-gray-600 mb-4 space-y-1">
<li>AES-128 en hardware</li>
<li>Claves dinámicas con rotación cada 24h (OTAA)</li>
<li>Paquetes de 51-222 bytes</li>
</ul>
</div>
<!-- Seguridad 2 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center text-purple-600 mr-4">
<i class="fas fa-network-wired text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Wi-Fi Mesh</h3>
</div>
<ul class="list-disc pl-5 text-gray-600 mb-4 space-y-1">
<li>WPA3 para autenticación</li>
<li>VPN (WireGuard) entre nodos</li>
<li>Hasta 100 Mbps de velocidad</li>
</ul>
</div>
<!-- Seguridad 3 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center text-green-600 mr-4">
<i class="fas fa-database text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Servidores Locales</h3>
</div>
<ul class="list-disc pl-5 text-gray-600 mb-4 space-y-1">
<li>Bases de datos con cifrado AES-256</li>
<li>Comunicación interna con TLS 1.3</li>
<li>Certificados autofirmados</li>
</ul>
</div>
</div>
<div class="mt-8 bg-white p-6 rounded-xl shadow-sm">
<h3 class="text-xl font-semibold mb-4">Topología de Malla</h3>
<p class="text-gray-600 mb-4">La red no tiene un punto central vulnerable, como una telaraña donde cortar un hilo no la destruye. Si un nodo es comprometido, solo afecta a su conexión directa, no a toda la red.</p>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/NetworkTopology-Mesh.png/800px-NetworkTopology-Mesh.png" alt="Topología de malla" class="rounded-lg border border-gray-200">
</div>
</div>
<div class="tab-content" id="energia-content">
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
<!-- Energía 1 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 mr-4">
<i class="fas fa-sun text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Panel Solar 100W</h3>
</div>
<p class="text-gray-600 mb-4">Panel de 100W + batería 12V/100Ah proporciona ≈3 días de autonomía sin sol.</p>
<div class="flex justify-between text-sm">
<span class="bg-blue-100 text-blue-600 px-3 py-1 rounded-full">€200-400</span>
<span class="text-gray-500">Kit completo</span>
</div>
</div>
<!-- Energía 2 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center text-purple-600 mr-4">
<i class="fas fa-wind text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Aerogenerador 200W</h3>
</div>
<p class="text-gray-600 mb-4">Pequeños aerogeneradores para zonas ventosas como complemento a la solar.</p>
<div class="flex justify-between text-sm">
<span class="bg-purple-100 text-purple-600 px-3 py-1 rounded-full">€300-600</span>
<span class="text-gray-500">En zonas ventosas</span>
</div>
</div>
<!-- Energía 3 -->
<div class="tech-card bg-white p-6 rounded-xl shadow-sm">
<div class="flex items-center mb-4">
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center text-green-600 mr-4">
<i class="fas fa-bicycle text-xl"></i>
</div>
<h3 class="text-xl font-semibold">Bicigenerador Casero</h3>
</div>
<p class="text-gray-600 mb-4">30 minutos de pedaleo = 1 hora de funcionamiento del nodo.</p>
<div class="flex justify-between text-sm">
<span class="bg-green-100 text-green-600 px-3 py-1 rounded-full">€20-50</span>
<span class="text-gray-500">Materiales básicos</span>
</div>
</div>
</div>
<div class="mt-8 bg-white p-6 rounded-xl shadow-sm">
<h3 class="text-xl font-semibold mb-4">Configuración Solar Básica</h3>
<pre class="bg-gray-100 p-4 rounded-lg overflow-x-auto"><code># Monitoreo de energía en Raspberry Pi
sudo apt install power-monitor
power-monitor --config solar-setup.json</code></pre>
<p class="text-gray-600 mt-4">Este software ayuda a optimizar el consumo energético según la disponibilidad de energía. Puede apagar servicios no esenciales cuando la carga de la batería es baja, extendiendo la autonomía.</p>
</div>
</div>
</div>
</section>
<!-- Network Scale -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold mb-4">Conectividad a Diferentes Escalas</h2>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">Desde tu calle hasta el mundo, Vilanet funciona como un sistema de comunicación por capas.</p>
</div>
<div class="overflow-x-auto">
<table class="min-w-full bg-white rounded-lg overflow-hidden">
<thead class="bg-gray-100">
<tr>
<th class="py-3 px-4 text-left font-semibold text-gray-700">Alcance</th>
<th class="py-3 px-4 text-left font-semibold text-gray-700">Tecnología</th>
<th class="py-3 px-4 text-left font-semibold text-gray-700">Distancia</th>
<th class="py-3 px-4 text-left font-semibold text-gray-700">Velocidad</th>
<th class="py-3 px-4 text-left font-semibold text-gray-700">Uso Ideal</th>
<th class="py-3 px-4 text-left font-semibold text-gray-700">Costo Aprox.</th>
</tr>
</thead>
<tbody class="divide-y divide-gray-200">
<tr>
<td class="py-3 px-4">Local</td>
<td class="py-3 px-4 font-medium">Wi-Fi Mesh</td>
<td class="py-3 px-4">5-15km</td>
<td class="py-3 px-4">100Mbps</td>
<td class="py-3 px-4">Chats, fotos, mapas</td>
<td class="py-3 px-4">€200-500/nodo</td>
</tr>
<tr class="bg-gray-50">
<td class="py-3 px-4">Regional</td>
<td class="py-3 px-4 font-medium">LoRa Mesh</td>
<td class="py-3 px-4">50km</td>
<td class="py-3 px-4">300bps</td>
<td class="py-3 px-4">Mensajes cortos</td>
<td class="py-3 px-4">€100-300/nodo</td>
</tr>
<tr>
<td class="py-3 px-4">Global</td>
<td class="py-3 px-4 font-medium">Radio HF</td>
<td class="py-3 px-4">Mundial</td>
<td class="py-3 px-4">1200bps</td>
<td class="py-3 px-4">Emergencias</td>
<td class="py-3 px-4">€800-1500/estación</td>
</tr>
<tr class="bg-gray-50">
<td class="py-3 px-4">Satélite</td>
<td class="py-3 px-4 font-medium">LoRa-to-Sat</td>
<td class="py-3 px-4">Mundial</td>
<td class="py-3 px-4">100bps</td>
<td class="py-3 px-4">Último recurso</td>
<td class="py-3 px-4">€300-600/estación</td>
</tr>
</tbody>
</table>
</div>
<div class="mt-12 bg-gray-50 p-6 rounded-xl">
<h3 class="text-xl font-semibold mb-4">Ejemplo de Red Multinivel</h3>
<div class="grid md:grid-cols-3 gap-4">
<div class="bg-white p-4 rounded-lg border border-gray-200">
<h4 class="font-medium text-blue-600 mb-2">Red Local WiFi Mesh</h4>
<p class="text-sm text-gray-600">5-15km • 100Mbps • 10-100 usuarios • €200-500/nodo</p>
</div>
<div class="bg-white p-4 rounded-lg border border-gray-200">
<h4 class="font-medium text-purple-600 mb-2">Conexión Regional LoRa Mesh</h4>
<p class="text-sm text-gray-600">50km • 300bps • Enlace entre comunidades • €100-300/nodo</p>
</div>
<div class="bg-white p-4 rounded-lg border border-gray-200">
<h4 class="font-medium text-green-600 mb-2">Conexión Global Radio HF</h4>
<p class="text-sm text-gray-600">Mundial • 1200bps • Emergencias • €800-1500/estación</p>
</div>
</div>
</div>
</div>
</section>
<!-- Network Diagram -->
<section class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h2 class="text-3xl font-bold mb-4">Flujo de Mensajes en Vilanet</h2>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">Cómo se integran las diferentes tecnologías en una experiencia de usuario unificada.</p>
</div>
<div class="bg-white p-6 rounded-xl shadow-sm">
<div class="flex flex-col md:flex-row justify-between items-center mb-8">
<div class="network-node bg-blue-100 text-blue-600 p-4 rounded-full w-16 h-16 flex items-center justify-center mb-4 md:mb-0">
<i class="fas fa-mobile-alt text-2xl"></i>
</div>
<div class="network-node bg-purple-100 text-purple-600 p-4 rounded-full w-16 h-16 flex items-center justify-center mb-4 md:mb-0">
<i class="fas fa-wifi text-2xl"></i>
</div>
<div class="network-node bg-green-100 text-green-600 p-4 rounded-full w-16 h-16 flex items-center justify-center mb-4 md:mb-0">
<i class="fas fa-broadcast-tower text-2xl"></i>
</div>
<div class="network-node bg-amber-100 text-amber-600 p-4 rounded-full w-16 h-16 flex items-center justify-center">
<i class="fas fa-mobile-alt text-2xl"></i>
</div>
</div>
<div class="grid md:grid-cols-4 gap-4 text-center">
<div>
<h4 class="font-semibold mb-2">1. Usuario escribe</h4>
<p class="text-sm text-gray-600">En Telegram normal, como siempre</p>
</div>
<div>
<h4 class="font-semibold mb-2">2. App detecta conexión</h4>
<p class="text-sm text-gray-600">Si hay internet, usa servidores Telegram; si no, usa nodos Vilanet</p>
</div>
<div>
<h4 class="font-semibold mb-2">3. Red elige mejor ruta</h4>
<p class="text-sm text-gray-600">WiFi si está cerca, radio si está lejos, mezcla si es necesario</p>
</div>
<div>
<h4 class="font-semibold mb-2">4. Destinatario recibe</h4>
<p class="text-sm text-gray-600">En su Telegram, sin saber qué tecnología se usó</p>
</div>
</div>
</div>
</div>
</section>
<!-- Conclusion -->
<section class="py-16 gradient-bg text-white">
<div class="container mx-auto px-4">
<div class="max-w-3xl mx-auto text-center">
<h2 class="text-3xl font-bold mb-6">Conclusión</h2>
<div class="bg-white bg-opacity-10 p-6 rounded-xl mb-8">
<div class="grid md:grid-cols-2 gap-6 text-left">
<div>
<h3 class="text-xl font-semibold mb-3">IA Local Avanzada</h3>
<ul class="list-disc pl-5 space-y-2 text-white text-opacity-90">
<li>Posible con Mini PCs + GPUs</li>
<li>Limitada a ~10 consultas/minuto</li>
<li>Modelos hasta LLaMA 3 8B</li>
</ul>
</div>
<div>
<h3 class="text-xl font-semibold mb-3">Red Wireless Propia</h3>
<ul class="list-disc pl-5 space-y-2 text-white text-opacity-90">
<li>LoRa para IoT (bajo ancho de banda)</li>
<li>Wi-Fi Mesh/TV White Space para datos pesados</li>
<li>Máximo alcance: 50+ km</li>
</ul>
</div>
</div>
</div>
<p class="text-xl mb-8">¿Quieres profundizar en cómo implementar el cluster de IA o la red mesh? ¡Dime y te ayudo con esquemas y código! 😊</p>
<a href="#contact" class="inline-block bg-white text-blue-600 px-8 py-3 rounded-lg font-medium hover:bg-blue-50 transition">Contactar</a>
</div>
</div>
</section>
<!-- Contact -->
<section id="contact" class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="max-w-2xl mx-auto">
<h2 class="text-3xl font-bold mb-6 text-center">¿Interesado en implementar Vilanet?</h2>
<p class="text-lg text-gray-600 mb-8 text-center">Completa el formulario y nos pondremos en contacto contigo para asesorarte.</p>
<form class="bg-gray-50 p-6 rounded-xl shadow-sm">
<div class="mb-4">
<label for="name" class="block text-gray-700 font-medium mb-2">Nombre</label>
<input type="text" id="name" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div class="mb-4">
<label for="email" class="block text-gray-700 font-medium mb-2">Email</label>
<input type="email" id="email" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div class="mb-4">
<label for="community" class="block text-gray-700 font-medium mb-2">Comunidad/Organización</label>
<input type="text" id="community" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
</div>
<div class="mb-4">
<label for="interest" class="block text-gray-700 font-medium mb-2">Área de interés</label>
<select id="interest" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
<option value="">Selecciona una opción</option>
<option value="red">Implementación de red mesh</option>
<option value="ia">IA local comunitaria</option>
<option value="seguridad">Sistemas de seguridad</option>
<option value="energia">Soluciones energéticas</option>
<option value="otro">Otro</option>
</select>
</div>
<div class="mb-4">
<label for="message" class="block text-gray-700 font-medium mb-2">Mensaje</label>
<textarea id="message" rows="4" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"></textarea>
</div>
<button type="submit" class="w-full gradient-bg text-white py-3 rounded-lg font-medium hover:opacity-90 transition">Enviar consulta</button>
</form>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-900 text-white py-8">
<div class="container mx-auto px-4">
<div class="flex flex-col md:flex-row justify-between items-center">
<div class="mb-4 md:mb-0">
<h3 class="text-xl font-bold">Vilanet</h3>
<p class="text-gray-400">Red Comunitaria Autónoma</p>
</div>
<div class="flex space-x-4">
<a href="#" class="text-gray-400 hover:text-white transition">
<i class="fab fa-github text-xl"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition">
<i class="fab fa-telegram text-xl"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition">
<i class="fab fa-twitter text-xl"></i>
</a>
</div>
</div>
<div class="border-t border-gray-800 mt-6 pt-6 text-center text-gray-400 text-sm">
<p>© 2023 Vilanet. Todos los derechos reservados.</p>
</div>
</div>
</footer>
<script>
function showTab(tabId) {
// Hide all tab contents
document.querySelectorAll('.tab-content').forEach(content => {
content.classList.remove('active');
});
// Deactivate all tab buttons
document.querySelectorAll('.tab-button').forEach(button => {
button.classList.remove('bg-blue-600', 'text-white');
button.classList.add('bg-gray-200', 'text-gray-700');
});
// Show selected tab content
document.getElementById(tabId + '-content').classList.add('active');
// Activate clicked tab button
event.target.classList.remove('bg-gray-200', 'text-gray-700');
event.target.classList.add('bg-blue-600', 'text-white');
}
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=QwanYin/citynet" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>