# 🧪 Test de Simulación del Buque - Archivos TXT

Guía para emular el comportamiento del buque en local con XAMPP, generando archivos TXT y verificando que el sistema los procese correctamente.

## 🎯 Objetivo

Simular que el buque genera archivos TXT con datos de sensores y verificar que el sistema los procese y guarde correctamente.

## 📋 Pasos para Probar

### Opción 1: Test Automático (Recomendado)

**Windows:**
```batch
test_completo_buque.bat
```

Este script:
1. Genera un archivo TXT simulando el buque
2. Procesa el archivo automáticamente
3. Verifica que los datos se guardaron

### Opción 2: Test Manual Paso a Paso

#### Paso 1: Generar archivo TXT del buque

```bash
php simular_buque_txt.php
```

Esto creará un archivo en `archivos_buque/` con 5 mediciones.

**Generar con más mediciones:**
```bash
php simular_buque_txt.php 10  # 10 mediciones
php simular_buque_txt.php 20  # 20 mediciones
```

#### Paso 2: Procesar el archivo TXT

```bash
php procesar_y_verificar.php
```

Este script:
- Lee los archivos TXT de `archivos_buque/`
- Envía cada línea al servidor
- Verifica que los datos se guardaron en la BD
- Mueve los archivos a `procesados/`

#### Paso 3: Verificar los datos

Abre en tu navegador:
- **Ver todos los datos:** `http://localhost/buque/ver_datos.php`
- **Dashboard:** `http://localhost/buque/dashboard.php`

## 📁 Estructura de Archivos

```
buque/
├── archivos_buque/              # El "buque" guarda archivos aquí
│   ├── mediciones_buque_20240115143045.txt
│   └── procesados/              # Archivos ya procesados
│       └── mediciones_buque_20240115143045.txt.20240115143050
├── simular_buque_txt.php        # Genera archivos TXT (simula el buque)
├── procesar_y_verificar.php     # Procesa y verifica
└── test_completo_buque.bat      # Test automático (Windows)
```

## 🔄 Flujo Completo

```
1. Ejecutar: php simular_buque_txt.php
   ↓
2. Se genera: archivos_buque/mediciones_buque_XXXXXX.txt
   ↓
3. Ejecutar: php procesar_y_verificar.php
   ↓
4. Script lee el TXT y envía cada línea al servidor
   ↓
5. Servidor guarda en MySQL
   ↓
6. Archivo se mueve a: archivos_buque/procesados/
   ↓
7. Verificar en: ver_datos.php o dashboard.php
```

## 📝 Formato del Archivo TXT Generado

El script `simular_buque_txt.php` genera archivos con este formato:

```txt
# Archivo de mediciones generado por el buque
# Fecha de generación: 2024-01-15 14:30:45
# Formato: temperatura,humedad,presion,api_key,fecha_hora
# Total de mediciones: 5

23.5,60.0,1012.0,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:45
24.2,58.5,1013.2,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:46
22.8,65.3,1010.5,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:47
25.1,55.8,1015.1,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:48
23.9,62.2,1011.3,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:49
```

## 🧪 Ejemplos de Uso

### Generar múltiples archivos

```bash
# Generar archivo 1
php simular_buque_txt.php 5

# Esperar unos segundos...

# Generar archivo 2
php simular_buque_txt.php 5

# Procesar todos
php procesar_y_verificar.php
```

### Simular envío continuo

```bash
# En un terminal, ejecutar cada 30 segundos:
while true; do
    php simular_buque_txt.php 3
    sleep 30
done
```

En otro terminal, procesar continuamente:
```bash
while true; do
    php procesar_y_verificar.php
    sleep 10
done
```

## ✅ Verificación

### 1. Verificar archivos generados

```bash
# Ver archivos en la carpeta
dir archivos_buque\*.txt

# Ver contenido de un archivo
type archivos_buque\mediciones_buque_*.txt
```

### 2. Verificar en la base de datos

Abre phpMyAdmin:
```
http://localhost/phpmyadmin
```

Consulta:
```sql
SELECT * FROM buque_telemetria.mediciones ORDER BY fecha DESC LIMIT 10;
```

### 3. Verificar en el dashboard

- `http://localhost/buque/dashboard.php` - Debe mostrar los últimos valores
- `http://localhost/buque/ver_datos.php` - Debe mostrar todas las mediciones

## 🔍 Solución de Problemas

### No se generan archivos
- Verifica que la carpeta `archivos_buque/` tenga permisos de escritura
- Verifica que PHP tenga permisos para crear archivos

### Los archivos no se procesan
- Verifica que los archivos estén en `archivos_buque/`
- Verifica que tengan extensión `.txt`
- Verifica que el formato CSV sea correcto

### Los datos no aparecen en la BD
- Verifica que la base de datos `buque_telemetria` exista
- Verifica las credenciales en `config.php`
- Verifica que MySQL esté corriendo en XAMPP

### Error: "API KEY inválida"
- Verifica que la API KEY en `config.php` sea: `BUQUE2024_SECRET_KEY_XYZ789`
- Verifica que el archivo TXT contenga la misma API KEY

## 📊 Resultado Esperado

Después de ejecutar el test completo, deberías ver:

1. ✅ Archivo TXT generado en `archivos_buque/`
2. ✅ Archivo procesado y movido a `procesados/`
3. ✅ Datos guardados en la base de datos
4. ✅ Datos visibles en `ver_datos.php`
5. ✅ Gráfico actualizado en `dashboard.php`

## 🎬 Test Rápido (1 minuto)

```bash
# 1. Generar archivo
php simular_buque_txt.php 5

# 2. Procesar
php procesar_y_verificar.php

# 3. Verificar en navegador
# Abre: http://localhost/buque/ver_datos.php
```

---

**¡Listo para probar la simulación del buque! 🚢⚓**

