# EMQX MQTT Broker - iot.lambicall.com

## Información de Acceso

### Dashboard Web
- URL: http://iot.lambicall.com:18083
- Usuario por defecto: `admin`
- Contraseña por defecto: `public`

**IMPORTANTE**: Cambia la contraseña por defecto después del primer inicio de sesión.

### Puertos MQTT

- **1883**: MQTT TCP (sin cifrar)
- **8883**: MQTT SSL/TLS (cifrado)
- **8083**: MQTT WebSocket (sin cifrar)
- **8084**: MQTT WebSocket SSL/TLS (cifrado)
- **18083**: Dashboard y REST API

## Configuración de Certificados SSL (Opcional)

Para habilitar MQTT sobre SSL/TLS, necesitas:

1. Crear directorio para certificados:
   ```bash
   mkdir -p /var/www/html/emqx/etc/certs
   ```

2. Copiar tus certificados SSL al directorio:
   ```bash
   cp tu_certificado.pem /var/www/html/emqx/etc/certs/cert.pem
   cp tu_clave_privada.key /var/www/html/emqx/etc/certs/key.pem
   cp ca.pem /var/www/html/emqx/etc/certs/ca.pem
   ```

3. Actualizar el docker-compose.yml para montar los certificados

## Comandos Útiles

### Iniciar EMQX
```bash
cd /var/www/html/emqx
docker compose up -d
```

### Detener EMQX
```bash
cd /var/www/html/emqx
docker compose down
```

### Ver logs
```bash
cd /var/www/html/emqx
docker compose logs -f
```

### Reiniciar EMQX
```bash
cd /var/www/html/emqx
docker compose restart
```

### Ver estado
```bash
cd /var/www/html/emqx
docker compose ps
```

## Prueba de Conexión MQTT

### Con mosquitto_pub/sub (instalar: apt-get install mosquitto-clients)

Suscribirse a un tema:
```bash
mosquitto_sub -h iot.lambicall.com -t "test/topic" -p 1883
```

Publicar un mensaje:
```bash
mosquitto_pub -h iot.lambicall.com -t "test/topic" -m "Hola desde EMQX" -p 1883
```

## Configuración de Firewall

Asegúrate de que los siguientes puertos estén abiertos en tu firewall:

```bash
# MQTT
ufw allow 1883/tcp
ufw allow 8883/tcp

# MQTT WebSocket
ufw allow 8083/tcp
ufw allow 8084/tcp

# Dashboard
ufw allow 18083/tcp
```

## Autenticación y Autorización

Después de iniciar EMQX, puedes configurar:

1. Autenticación de usuarios (Dashboard > Authentication)
2. Autorización de temas (Dashboard > Authorization)
3. Reglas de datos (Dashboard > Rules)
4. Webhooks y integraciones (Dashboard > Integrations)

## Backup

Los datos importantes se guardan en:
- `/var/www/html/emqx/data` - Base de datos y configuración
- `/var/www/html/emqx/log` - Logs del sistema
- `/var/www/html/emqx/etc` - Archivos de configuración

Haz backup regular de estos directorios.
