# 📄 Instrucciones para el Buque - Envío de Archivos TXT

## ⚠️ IMPORTANTE: No se necesita un "link" para archivos TXT

Si el buque genera **archivos TXT**, NO necesita enviar a ningún link. Solo necesita **guardar los archivos** en una ubicación accesible.

---

## 📋 Opción 1: El Buque Genera Archivos TXT (Sin Link)

### ¿Qué necesita el buque?

**NO necesita un link/URL.** Solo necesita:

1. **Guardar archivos TXT** con el contenido
2. **Ubicación donde guardar:** Puede ser:
   - Una carpeta compartida en red
   - Un servidor FTP
   - Una carpeta local que luego se copia
   - Un pendrive/USB
   - Cualquier método de transferencia de archivos

### Formato del Archivo TXT

El buque debe generar archivos `.txt` con este contenido:

**Ejemplo simple (para probar recepción):**
```
hola
```

**Ejemplo con datos reales:**
```
23.5,60,1012,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:45
24.2,58,1013,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:31:15
```

### Nombre del Archivo

Puede ser cualquier nombre, por ejemplo:
- `datos_buque.txt`
- `mediciones_20240115.txt`
- `buque_data.txt`
- Cualquier nombre que el buque genere

### ¿Dónde guardar el archivo?

**Opción A: Carpeta compartida en red**
```
\\servidor\buque\archivos\
```

**Opción B: Servidor FTP**
```
ftp://servidor.com/buque/archivos/
```

**Opción C: Carpeta local (luego se copia manualmente)**
```
C:\datos_buque\
```

**Opción D: Pendrive/USB**
```
E:\datos\
```

### Procesamiento Automático

Los archivos TXT serán procesados automáticamente por scripts en el servidor que:
1. Leen los archivos de la carpeta
2. Envían cada línea al servidor
3. Mueven los archivos procesados

---

## 📡 Opción 2: El Buque Envía Directamente por HTTP (Con Link)

Si el buque puede enviar datos directamente por HTTP POST (sin generar archivos TXT), entonces SÍ necesita el link:

### URL del Endpoint
```
https://www.devmastering.com/webservices/buque/api/buque.php
```

### Método
```
POST
```

### Headers
```
Content-Type: text/plain
```

### Body (datos)
```
hola
```

O con formato CSV válido:
```
23.5,60,1012,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:45
```

---

## 🔄 Comparación de Opciones

### Opción 1: Archivos TXT (Recomendado si el buque no tiene Internet constante)
- ✅ No necesita conexión a Internet en tiempo real
- ✅ Puede generar archivos offline
- ✅ Se procesan cuando hay conexión
- ❌ Requiere transferencia de archivos (FTP, red, USB, etc.)

### Opción 2: HTTP POST Directo (Recomendado si el buque tiene Internet)
- ✅ Envío inmediato
- ✅ No requiere archivos intermedios
- ❌ Necesita conexión a Internet constante
- ❌ Requiere configuración HTTP en el buque

---

## 📝 Ejemplo de Código para el Buque (Generar TXT)

### Python
```python
# El buque genera archivo TXT
def guardar_datos_txt(datos):
    # Guardar en archivo
    with open('datos_buque.txt', 'a') as f:
        f.write(datos + '\n')
    
    # Luego el archivo se transfiere por:
    # - Red compartida
    # - FTP
    # - USB
    # - etc.

# Ejemplo: Guardar "hola"
guardar_datos_txt("hola")

# Ejemplo: Guardar datos reales
guardar_datos_txt("23.5,60,1012,BUQUE2024_SECRET_KEY_XYZ789,2024-01-15 14:30:45")
```

### C/C++ (Arduino)
```cpp
// El buque guarda en SD card o memoria
void guardarDatosTXT(String datos) {
    File archivo = SD.open("datos.txt", FILE_WRITE);
    if (archivo) {
        archivo.println(datos);
        archivo.close();
    }
    // Luego se transfiere el archivo por USB, red, etc.
}

// Ejemplo: Guardar "hola"
guardarDatosTXT("hola");
```

---

## ✅ Resumen para el Programador del Buque

### Si genera archivos TXT:
- ❌ **NO necesita link/URL**
- ✅ Solo necesita guardar archivos `.txt`
- ✅ El contenido puede ser "hola" (para probar) o datos CSV
- ✅ Los archivos se procesan automáticamente en el servidor

### Si envía por HTTP:
- ✅ **SÍ necesita link:** `https://www.devmastering.com/buque/api/buque.php`
- ✅ Método: POST
- ✅ Header: Content-Type: text/plain
- ✅ Body: "hola" o datos CSV

---

## 🧪 Prueba Rápida

### Para probar con "hola" en archivo TXT:

1. El buque genera archivo: `test_hola.txt` con contenido `hola`
2. El archivo se guarda en la carpeta accesible
3. El servidor procesa automáticamente
4. Se verifica que el sistema recibió el archivo

### Para probar con "hola" por HTTP:

```bash
curl -X POST "https://www.devmastering.com/buque/api/buque.php" \
     -H "Content-Type: text/plain" \
     -d "hola"
```

---

**En resumen:** Si el buque genera archivos TXT, NO necesita link. Solo guarda los archivos y el servidor los procesará automáticamente.

