← Aplicación principal | Contenido | Siguiente: Web API - GET →
7. Referencia de comandos ACRouter
Version: 1.0.0
Date: 2025-01-15
Guía completa de los comandos del terminal serie y la API REST de ACRouter.
Contenido
- Comandos generales
- Control del router
- Gestión de configuración
- Red WiFi
- Servidor web
- Sincronización horaria
- Actualizaciones de firmware OTA
- Configuración de hardware
- Sensores de corriente
- Referencia de la API REST
- Ejemplos de inicio rápido
- Notas
Comandos generales
help
Mostrar la referencia completa de comandos.
help
status
Mostrar el estado actual del router, incluyendo modo, estado, nivel del dimmer y consumo de potencia.
status
Ejemplo de salida:
=== Router Status ===
Mode: AUTO
State: INCREASING
Dimmer: 45%
Power: 1250.3 W
Gain: 150.0
Thresh: 50.0 W
=====================
Control del router
router-mode
Establecer el modo de operación del router.
Modes:
- off or 0 - Router disabled
- auto or 1 - Solar Router mode (minimize grid import/export)
- eco or 2 - Economic mode (avoid grid import, allow export)
- offgrid or 3 - Offgrid mode (solar/battery autonomous)
- manual or 4 - Manual dimmer control
- boost or 5 - Maximum power routing
Uso:
router-mode auto # Set auto mode
router-mode manual # Set manual mode
router-mode # Show current mode
⚠️ Nota: Los cambios se guardan en NVS inmediatamente.
router-dimmer
Controlar el nivel de salida de un dimmer específico.
Parameters:
- ID - Dimmer identifier: 1, 2, or all
- value - Power level (0-100%)
Uso:
router-dimmer 1 75 # Set dimmer 1 to 75%
router-dimmer all 50 # Set all dimmers to 50%
router-dimmer # Show current level
⚠️ Nota: Al establecer el dimmer se cambia automáticamente al modo MANUAL.
router-status
Mostrar el estado detallado del router (igual que el comando status).
router-status
router-calibrate
Ejecutar la rutina de calibración del medidor de potencia.
router-calibrate
🚧 Estado: Función en desarrollo.
debug-adc
Activar/desactivar la salida de depuración del medidor de potencia (PowerMeterADC).
Uso:
debug-adc # Set debug output period
debug-adc # Show current settings
Parámetros:
- Período de salida de depuración en segundos:0- Desactivar salida de depuración>0- Activar con el período especificado (ej.5= cada 5 segundos)
Ejemplos:
# Enable debug output every 5 seconds
debug-adc 5
# Output: debug-adc = 5 seconds (enabled)
# Disable debug output
debug-adc 0
# Output: debug-adc = DISABLED
# Show current settings
debug-adc
# Output: debug-adc = 5 seconds (or DISABLED)
Información de depuración:
Cuando la salida de depuración está activada, se registra información detallada sobre el funcionamiento del ADC:
Para el sensor de voltaje:
VOLTAGE CH0: rms=230.5V, phase=POSITIVE (pos=12345, neg=-11234)
Para los sensores de corriente:
DEBUG CH1 [GPIO39] CURRENT_GRID: dc_avg=2048.3, rms_adc=145.23, vdc=0.512V, amps=25.60
Phase: current=POSITIVE (pos=13456, neg=-12345), correlation: same=3850, diff=150 -> CONSUMING
Campos:
rms- Voltaje RMS en voltiosphase- Fase de la señal (POSITIVE/NEGATIVE/BALANCED)pos/neg- Suma de semiperíodos positivos/negativos (para diagnóstico de asimetría)dc_avg- Valor DC promedio (debería ser aproximadamente 2048 para ADC de 12 bits)rms_adc- Valor RMS en unidades ADCvdc- Voltaje de salida del sensor (V)amps- Corriente medida (A)same/diff- Correlación de fase voltaje/corriente:same > diff→ CONSUMING (importando de la red)diff > same→ SUPPLYING (exportando a la red)
Aplicaciones:
- Solución de problemas de sensores
- Verificar la detección correcta de la dirección de corriente
- Analizar la asimetría de la señal (sumas pos/neg)
- Depurar la calibración del sensor
- Monitorear la calidad de medición
⚠️ Importante: La salida de depuración genera una carga significativa en el puerto serie. Usar solo para diagnóstico, desactivar después de la solución de problemas.
📝 Nota: Esta configuración NO se guarda en NVS. La salida de depuración se desactivará después del reinicio.
Gestión de configuración
Todos los comandos de configuración guardan los valores en NVS (Non-Volatile Storage) inmediatamente.
config-show
Mostrar todos los parámetros de configuración.
config-show
config-reset
Restablecer toda la configuración a los valores de fábrica.
config-reset
⚠️ Advertencia: Se borrarán todas las configuraciones personalizadas.
config-gain [value]
Establecer el parámetro de ganancia del lazo de control (afecta la velocidad de respuesta).
Rango: 1-1000 | Por defecto: 150
config-gain 200 # Set gain
config-gain # Show current gain
Efecto: Valores más altos = respuesta más rápida, valores más bajos = más estable.
config-threshold [value]
Establecer el umbral de balance para el modo auto.
Rango: 0-100 W | Por defecto: 50 W
config-threshold 30 # Set threshold
config-threshold # Show current threshold
Efecto: El router intenta mantener la potencia de red dentro de ±umbral respecto a cero.
config-manual [value]
Establecer el nivel predeterminado del dimmer en modo manual.
Rango: 0-100% | Por defecto: 0%
config-manual 50 # Set manual level
config-manual # Show current level
config-vcoef [value]
Establecer el coeficiente de calibración de voltaje.
Rango: 0.1-10.0 | Por defecto: 1.0
config-vcoef 1.05 # Set coefficient
config-vcoef # Show current value
Efecto: Multiplicador para las mediciones de voltaje (calibración del sensor).
config-icoef [value]
Establecer el coeficiente de medición de corriente.
Rango: 0.1-100.0 A/V | Por defecto: 30.0 A/V
config-icoef 33.0 # Set coefficient
config-icoef # Show current value
Efecto: Convierte el voltaje del sensor en medición de corriente.
config-ithresh [value]
Establecer el umbral de detección de corriente.
Rango: 0.01-10.0 A | Por defecto: 0.1 A
config-ithresh 0.15 # Set threshold
config-ithresh # Show current value
Efecto: Corriente mínima para detectar flujo de potencia activo.
config-pthresh [value]
Establecer el umbral de detección de potencia.
Rango: 1-1000 W | Por defecto: 10 W
config-pthresh 15 # Set threshold
config-pthresh # Show current value
Efecto: Potencia mínima para detectar consumo/generación activa.
Red WiFi
wifi-status
Mostrar el estado de conexión WiFi, direcciones IP y credenciales guardadas.
wifi-status
Status Fields:
- IDLE - Not initialized
- AP_ONLY - Access Point only
- STA_CONNECTING - Connecting to network
- STA_CONNECTED - Connected as client
- AP+STA - Both AP and STA active
- STA_FAILED - Connection failed
Signal Strength Guide:
- -30 to -50 dBm - Excellent
- -51 to -70 dBm - Good
- -71 to -85 dBm - Fair
- -86 to -100 dBm - Poor
wifi-scan
Buscar redes WiFi disponibles.
wifi-scan
wifi-connect [password]
Conectarse a una red WiFi y guardar las credenciales en NVS.
Parameters:
- ssid - Network name (required)
- For SSID with spaces, use double quotes: "My Network"
- password - Network password (optional for open networks)
- For passwords with spaces, use double quotes: "My Pass 123"
Uso:
# Simple connection (no spaces)
wifi-connect MyHomeNetwork MyPassword123
wifi-connect GuestNetwork # For open networks
# SSID with spaces (quoted)
wifi-connect "My Home Network" MyPassword123
# Both SSID and password with spaces (both quoted)
wifi-connect "Coffee Shop WiFi" "welcome guest 2024"
Ejemplos:
# Connect to secured network
wifi-connect MyNetwork SecurePass2024
# Output: Connecting to: MyNetwork
# Password: ***
# Connect to network with spaces in name
wifi-connect "TP-LINK Home" MyPassword
# Output: Connecting to: TP-LINK Home
# Password: ***
# Connect to open network
wifi-connect PublicWiFi
# Output: Connecting to: PublicWiFi
# No password (open network)
Behavior:
1. Connects to specified network
2. On success, credentials are automatically saved to NVS
3. On next boot, router will auto-connect
4. AP mode remains active (AP+STA mode)
⚠️ Nota de seguridad: La contraseña se transmite en texto plano por el puerto serie.
wifi-disconnect
Desconectarse de la red STA actual (el AP permanece activo).
wifi-disconnect
Efecto: El router vuelve al modo solo AP. Las credenciales guardadas permanecen en NVS.
wifi-forget
Borrar las credenciales WiFi guardadas del NVS.
wifi-forget
Efecto: El router no se conectará automáticamente en el próximo arranque. La conexión actual permanece activa.
Servidor web
web-status
Mostrar el estado del servidor web, URLs de acceso y puntos finales de la API.
web-status
web-start
Iniciar el servidor web.
web-start
Default Ports:
- HTTP: 80
- WebSocket: 81
web-stop
Detener el servidor web.
web-stop
web-urls
Mostrar todas las URLs de acceso a la interfaz web.
web-urls
Web Pages:
- / - Main control interface (future)
- /wifi - WiFi configuration page
- /ota - Firmware update page
Sincronización horaria
time-status
Mostrar el estado de sincronización NTP.
time-status
Default NTP Servers:
- pool.ntp.org
- time.google.com
time-sync
Forzar la sincronización NTP inmediata.
time-sync
Actualizaciones de firmware OTA
ota-status
Mostrar el estado de actualización OTA y las URLs de acceso.
ota-status
Update Process:
1. Open OTA URL in web browser
2. Select firmware binary file (.bin)
3. Upload and wait for completion
4. Device will automatically reboot
⚠️ Importante: ¡No apagar ni desconectar durante la actualización!
Safety Features:
- Critical tasks suspended during update
- Watchdog protection
- Rollback on failure
Configuración de hardware
Comandos para la configuración de sensores de voltaje y corriente, gestión de versiones NVS y operaciones del sistema.
Reinicio de hardware - hardware-reset
Restablecer la configuración de hardware a los valores de fábrica (conserva la estructura NVS).
hardware-reset
Proceso:
- Se detiene PowerMeterADC para evitar conflictos DMA
- Se restablecen todas las configuraciones de hardware a valores de fábrica
- Se guarda en NVS
Ejemplo de salida:
Resetting hardware configuration to factory defaults...
Stopping PowerMeterADC...
Hardware configuration reset successful
IMPORTANT: Reboot required for changes to take effect!
Use 'reboot' command to restart
⚠️ Importante: Se requiere reinicio después de este comando (reboot).
Sensor de voltaje - hardware-voltage-show
Mostrar la configuración actual del sensor de voltaje.
hardware-voltage-show
Ejemplo de salida:
========== Voltage Sensor ==========
Channel: 0
GPIO: 35
Type: VOLTAGE_AC
Driver: ZMPT107
Nominal VDC: 0.700 V
Multiplier: 321.43
Offset: 0.00
Status: ENABLED
====================================
Sensor de voltaje - hardware-voltage-config-type
Establecer el tipo de driver del sensor de voltaje.
hardware-voltage-config-type
Parameters:
- - Sensor type:
- ZMPT107 - ZMPT107 sensor (0.70V RMS nominal)
- ZMPT101B - ZMPT101B sensor (1.0V RMS nominal)
- CUSTOM - Custom sensor
Ejemplo:
hardware-voltage-config-type ZMPT107
Sensor de voltaje - hardware-voltage-config-port
Establecer el pin GPIO para el sensor de voltaje.
hardware-voltage-config-port GPIO
Parameters:
- - GPIO number (32-39 for ESP32 ADC1)
Ejemplo:
hardware-voltage-config-port GPIO35
⚠️ Importante: Se requiere reinicio después de cambios en GPIO (reboot).
Sensor de voltaje - hardware-voltage-calibrate ⭐
Calibración automática del sensor de voltaje con medición VDC.
hardware-voltage-calibrate
Parameters:
- - Grid voltage measured with multimeter (VAC RMS)
- Range: 50-300V
Proceso de calibración:
- Medir el voltaje de red con un multímetro (modo AC RMS)
- Introducir el comando con el valor medido
- El sistema automáticamente:
- Mide la salida VDC actual del sensor (RMS)
- Calcula el multiplicador:
multiplier = V_measured / V_sensor - Guarda los valores calibrados nominal_vdc y multiplier en NVS
- Reiniciar el dispositivo (
reboot)
Ejemplo:
# Multimeter shows 230.5V
hardware-voltage-calibrate 230.5
Salida:
========== Voltage Calibration ==========
Measuring sensor VDC output...
Measured grid voltage: 230.50 V AC (from multimeter)
Measured sensor VDC: 0.814 V (auto-measured)
Calculated multiplier: 283.17
=========================================
Calibration saved successfully!
Updated:
- Nominal VDC: 0.814 V
- Multiplier: 283.17
IMPORTANT: Reboot required for changes to take effect!
Use 'reboot' command to restart
Ventajas de la calibración automática:
✅ No need to manually adjust sensor potentiometer
✅ Works with any sensor output voltage
✅ Automatically updates nominal_vdc
✅ More accurate and faster
📝 Nota: ¡El método antiguo (ajuste manual del potenciómetro a 0,7V) ya no es necesario!
Sensor de voltaje - hardware-voltage-config-multiplier
Establecer directamente el multiplicador (para usuarios avanzados).
hardware-voltage-config-multiplier
Parameters:
- - Multiplier (0.1-1000)
⚠️ Recomendación: Use hardware-voltage-calibrate en lugar del ajuste manual del multiplicador.
Sensores de corriente
hardware-current-list
Mostrar todos los sensores de corriente configurados con sus asignaciones.
hardware-current-list
Ejemplo de salida:
========== Configured Current Sensors ==========
[CH1] GRID GPIO39 SCT013-50A 50.00 A/V Offset: 0.00V
[CH2] SOLAR GPIO36 SCT013-30A 30.00 A/V Offset: 0.00V
[CH3] LOAD_1 GPIO34 ACS712-20A 15.15 A/V Offset: 1.65V
================================================
Campos:
CH- Número de canal ADC (0-3)- Asignación - Rol funcional (GRID, SOLAR, LOAD_1..LOAD_8)
GPIO- Pin GPIO (32-39)- Tipo de sensor - Modelo del sensor de corriente
A/V- Multiplicador de calibraciónOffset- Offset DC (para sensores ACS712)
hardware-current-config GPIO
Configurar sensor de corriente: establecer tipo, pin GPIO y asignación funcional.
Parámetros:
- Asignación funcional:GRID- Conexión a la red (importación/exportación)SOLAR- Panel solarLOAD_1,LOAD_2, ...LOAD_8- Cargas 1-8- Tipo de sensor:- Serie SCT-013 (transformadores de corriente AC, salida 0-1V):
SCT013-5A- 0-5A, 1V @ 5ASCT013-10A- 0-10A, 1V @ 10ASCT013-20A- 0-20A, 1V @ 20ASCT013-30A- 0-30A, 1V @ 30ASCT013-50A- 0-50A, 1V @ 50ASCT013-60A- 0-60A, 1V @ 60ASCT013-80A- 0-80A, 1V @ 80ASCT013-100A- 0-100A, 1V @ 100A
- Serie ACS712 (sensores de efecto Hall, 2,5V centro a 5V):
ACS712-5A- ±5AACS712-20A- ±20AACS712-30A- ±30A
CUSTOM- Sensor personalizado- Número GPIO (32-39, solo ADC1)
Uso:
# Configure grid sensor: SCT-013-50A on GPIO39
hardware-current-config GRID SCT013-50A GPIO39
# Configure solar panel: SCT-013-100A on GPIO36
hardware-current-config SOLAR SCT013-100A GPIO36
# Configure load 1: ACS712-20A on GPIO34
hardware-current-config LOAD_1 ACS712-20A GPIO34
Ejemplo de salida:
========== Current Sensor Configured ==========
Binding: GRID
Channel: 1
GPIO: 39
Driver: SCT013-50A
Nominal: 50.0 A
Multiplier: 50.00
DC Offset: 0.00 V
===============================================
IMPORTANT: Reboot required for changes to take effect!
Use 'reboot' command to restart
NOTE: ACS712 sensors have DC bias (1.65V after divider)
Use 'hardware-current-calibrate-zero GRID' to calibrate zero point
Algoritmo de selección de canal:
El sistema selecciona automáticamente el canal ADC por prioridad:
- Prioridad 1: Canal con GPIO coincidente (reconfigurar sensor existente)
- Prioridad 2: Canal con mismo tipo de asignación (actualizar tipo de sensor)
- Prioridad 3: Primer canal libre (tipo = NONE)
- Prioridad 4: Cualquier canal con sensor de corriente (migración de tipos anteriores)
⚠️ Importante: Se requiere reinicio (reboot) para que los cambios surtan efecto.
hardware-current-show
Mostrar información detallada sobre un sensor de corriente específico.
Parámetros:
- Asignación del sensor (GRID,SOLAR,LOAD_1..LOAD_8)
Uso:
hardware-current-show GRID
Ejemplo de salida:
========== Current Sensor Configuration ==========
Binding: GRID
Channel: 1
GPIO: 39
Driver: SCT013-50A
Multiplier: 50.00
DC Offset: 0.00 V
Status: ENABLED
===================================================
hardware-current-delete
Eliminar la configuración de un sensor de corriente y liberar el canal ADC.
Parámetros:
- Asignación del sensor (GRID,SOLAR,LOAD_1..LOAD_8)
Uso:
hardware-current-delete GRID
Ejemplo de salida:
Successfully deleted sensor: GRID
Channel: 1
GPIO: 39
Driver: SCT013-50A
Channel is now free and can be reassigned.
IMPORTANT: Reboot required for changes to take effect!
Error (sensor no encontrado):
ERROR: No sensor configured for binding: GRID
Use 'hardware-current-list' to see configured sensors
hardware-current-calibrate-zero
Calibrar el punto cero del sensor de corriente (compensación de offset DC).
Parámetros:
- Asignación del sensor a calibrar
Cuándo usar:
- Después de instalar un nuevo sensor
- Cuando las lecturas derivan (el sensor muestra corriente sin carga)
- Después de ajustar el potenciómetro del sensor ACS712
Proceso de calibración:
- IMPORTANTE: Desconectar la carga del sensor (corriente = 0A)
- Introducir el comando
- El sistema mide el offset DC actual
- Calcula y guarda el offset de corrección en NVS
- Reiniciar el dispositivo
Uso:
# Disconnect load from GRID sensor
# Ensure current through sensor = 0A
hardware-current-calibrate-zero GRID
Ejemplo de salida:
========== Zero-Point Calibration ==========
Ensure NO current is flowing through sensor!
Measuring DC offset...
NOTICE: Auto-calibration not yet implemented
PowerMeterADC automatically compensates DC offset
Manual adjustment not required in most cases
===========================================
📝 Nota:
- SCT-013: Calibración generalmente no necesaria (salida AC pura)
- ACS712: Recomendado para compensar la deriva del punto central (2,5V)
- PowerMeterADC resta automáticamente el offset DC; este comando compensa la deriva restante
Versión NVS - hw-version-show
Mostrar la versión del formato de datos NVS y el estado del modo seguro.
hw-version-show
Ejemplo de salida (modo normal):
========== NVS Version Info ==========
Firmware version: 2
NVS version: 2
Status: OK
======================================
Ejemplo de salida (modo seguro):
========== NVS Version Info ==========
Firmware version: 2
NVS version: 1
Status: SAFE MODE
Reason: NVS version mismatch (NVS: 1, Firmware: 2).
Use 'hw-erase-nvs' command to reset.
======================================
WARNING: PowerMeterADC is NOT initialized in safe mode!
System will continue with limited functionality:
- WiFi and WebServer: WORKING
- Manual dimmer control: WORKING
- Power measurements: DISABLED
Historial de versiones:
v1- Versión inicial (multiplicador ZMPT107 codificado)v2- Se añadieron los campos voltage_driver y nominal_vdc
📝 El modo seguro se activa automáticamente cuando hay incompatibilidad de versiones para evitar fallos del sistema.
Reinicio NVS - hw-erase-nvs
Borrar completamente todos los datos NVS y restablecer a valores de fábrica.
hw-erase-nvs
Proceso:
- El comando solicitará confirmación
- Introducir
YES(en mayúsculas) - El sistema borra todos los datos del namespace
hw_config - Carga los valores de fábrica por defecto
- Guarda la configuración con la versión actual
Ejemplo:
hw-erase-nvs
Salida:
WARNING: This will erase ALL hardware configuration!
Type 'YES' to confirm (timeout: 10s):
YES
Erasing NVS namespace 'hw_config'...
NVS namespace erased successfully
Factory defaults saved (version 2)
Hardware configuration reset complete!
IMPORTANT: Reboot required!
Use 'reboot' command to restart
⚠️ ADVERTENCIA: ¡Esta operación es irreversible! Se perderán todas las configuraciones personalizadas de sensores y las configuraciones GPIO.
Cuándo usar:
- Actualización a nuevo firmware con formato NVS incompatible
- Volver a la configuración de hardware de fábrica
- Solución de problemas de configuración
Reinicio del sistema - reboot
Reiniciar ESP32.
reboot
Salida:
Rebooting in 1 second...
📝 Nota: Necesario después de:
- Cambios en los pines GPIO
- Calibración de sensores
- Reinicio de NVS
- Actualizaciones de configuración de hardware
Referencia de la API REST
⚠️ Nota: Esta sección proporciona una referencia rápida de los puntos finales de la API REST. Para la integración con aplicaciones web, use estos puntos finales junto con los comandos serie descritos anteriormente.
URLs de acceso
Modo punto de acceso:
http://192.168.4.1/api/
Modo estación:
http:///api/
Use el comando wifi-status para encontrar la dirección IP actual.
Estado y monitoreo
GET /api/status - Estado completo del router
curl http://192.168.4.1/api/status
GET /api/metrics - Métricas de potencia (ligero, para polling)
curl http://192.168.4.1/api/metrics
GET /api/config - Todos los parámetros de configuración
curl http://192.168.4.1/api/config
GET /api/info - Información del sistema
curl http://192.168.4.1/api/info
Configuración
POST /api/config - Actualizar configuración
curl -X POST http://192.168.4.1/api/config \
-H "Content-Type: application/json" \
-d '{"control_gain": 200, "balance_threshold": 30}'
POST /api/config/reset - Restablecer a valores de fábrica
curl -X POST http://192.168.4.1/api/config/reset
Control del router
POST /api/mode - Establecer modo de operación
Modos válidos: off, auto, eco, offgrid, manual, boost
# Set AUTO mode (Solar Router)
curl -X POST http://192.168.4.1/api/mode \
-H "Content-Type: application/json" \
-d '{"mode": "auto"}'
# Set ECO mode (Economic, avoid import)
curl -X POST http://192.168.4.1/api/mode \
-H "Content-Type: application/json" \
-d '{"mode": "eco"}'
# Set OFFGRID mode (Autonomous solar/battery)
curl -X POST http://192.168.4.1/api/mode \
-H "Content-Type: application/json" \
-d '{"mode": "offgrid"}'
POST /api/dimmer - Establecer nivel del dimmer (cambia a modo MANUAL)
curl -X POST http://192.168.4.1/api/dimmer \
-H "Content-Type: application/json" \
-d '{"value": 75}'
POST /api/manual - Establecer nivel manual (punto final alternativo)
curl -X POST http://192.168.4.1/api/manual \
-H "Content-Type: application/json" \
-d '{"value": 50}'
Gestión WiFi
GET /api/wifi/status - Estado WiFi y direcciones IP
curl http://192.168.4.1/api/wifi/status
GET /api/wifi/scan - Buscar redes
curl http://192.168.4.1/api/wifi/scan
POST /api/wifi/connect - Conectar a red (se guarda en NVS)
curl -X POST http://192.168.4.1/api/wifi/connect \
-H "Content-Type: application/json" \
-d '{"ssid": "MyNetwork", "password": "MyPassword"}'
POST /api/wifi/disconnect - Desconectar de la red STA
curl -X POST http://192.168.4.1/api/wifi/disconnect
POST /api/wifi/forget - Borrar credenciales guardadas del NVS
curl -X POST http://192.168.4.1/api/wifi/forget
Ejemplos de uso de la Web API
Python (requests):
import requests
base = "http://192.168.4.1/api"
# Get status
status = requests.get(f"{base}/status").json()
print(f"Mode: {status['mode']}, Dimmer: {status['dimmer']}%")
# Set ECO mode
requests.post(f"{base}/mode", json={"mode": "eco"})
# Update gain
requests.post(f"{base}/config", json={"control_gain": 250})
# Monitor metrics (polling)
import time
while True:
metrics = requests.get(f"{base}/metrics").json()
print(f"Grid: {metrics['metrics']['power_grid']}W")
time.sleep(2)
JavaScript (Fetch):
const base = "http://192.168.4.1/api";
// Get status
fetch(`${base}/status`)
.then(r => r.json())
.then(d => console.log(`Mode: ${d.mode}, Dimmer: ${d.dimmer}%`));
// Set OFFGRID mode
fetch(`${base}/mode`, {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({mode: 'offgrid'})
});
// Polling metrics every 2 seconds
setInterval(() => {
fetch(`${base}/metrics`)
.then(r => r.json())
.then(d => console.log(`Grid: ${d.metrics.power_grid}W`));
}, 2000);
Bash (curl + jq):
BASE="http://192.168.4.1/api"
# Get status (formatted with jq)
curl -s "$BASE/status" | jq .
# Set AUTO mode
curl -X POST "$BASE/mode" \
-H "Content-Type: application/json" \
-d '{"mode": "auto"}'
# Monitor loop
while true; do
curl -s "$BASE/metrics" | jq '.metrics'
sleep 5
done
Ejemplos de inicio rápido
Configuración inicial
# Check status
status
# Scan for WiFi networks
wifi-scan
# Connect to WiFi (credentials saved to NVS)
wifi-connect MyNetwork MyPassword
# Check WiFi status
wifi-status
# Set router to auto mode
router-mode auto
# Adjust gain for faster response
config-gain 200
Control manual
# Switch to manual mode
router-mode manual
# Set dimmer to 50%
router-dimmer 1 50
# Set all dimmers to 100%
router-dimmer all 100
# Return to auto mode
router-mode auto
Solución de problemas
# Check all systems
status
wifi-status
web-status
time-status
# Reset configuration if needed
config-reset
# Reconnect WiFi
wifi-connect MyNetwork MyPassword
# Force time sync
time-sync
# Restart web server
web-stop
web-start
Notas
Formato de comandos
- Los comandos no distinguen entre mayúsculas y minúsculas
- Los parámetros se separan por espacios
Persistencia de datos
- Todos los comandos
config-*se guardan en NVS inmediatamente - Las credenciales WiFi se guardan automáticamente tras una conexión exitosa
- Las configuraciones persisten entre reinicios
Funciones de seguridad
- Límites del dimmer: 0-100%
- Validación de rango de parámetros
- Protección por watchdog durante OTA
- Suspensión de tareas críticas durante actualizaciones
Interfaz web
- Acceso desde cualquier navegador
- Diseño adaptable para móviles
- Actualizaciones de estado en tiempo real
- Sin autenticación (usar reglas de firewall)
Documentación relacionada
- 01_OVERVIEW.md - Descripción general del proyecto y características
- 02_COMPILATION.md - Instrucciones de compilación
- 03_STRUCTURE.md - Arquitectura de la aplicación
- 04_ROUTER_MODES.md - Modos de operación del router
- 05_API_REFERENCE_EN.md - Referencia API de componentes
- 06_MAIN_APPLICATION.md - Punto de entrada de la aplicación principal
- 07_COMMANDS.md - Versión en ruso (Команды и REST API)
Firmware Version: 1.0.0
Last Updated: 2025-01-15
← Aplicación principal | Contenido | Siguiente: Web API - GET →