← Application principale | Sommaire | Suivant : Web API - GET →
7. Référence des commandes ACRouter
Version: 1.0.0
Date: 2025-01-15
Guide complet des commandes du terminal série et de l'API REST ACRouter.
Sommaire
- Commandes générales
- Contrôle du routeur
- Gestion de la configuration
- Réseau WiFi
- Serveur web
- Synchronisation horaire
- Mises à jour firmware OTA
- Configuration matérielle
- Capteurs de courant
- Référence API REST
- Exemples de démarrage rapide
- Remarques
Commandes générales
help
Afficher la référence complète des commandes.
help
status
Afficher l'état actuel du routeur, y compris le mode, l'état, le niveau du variateur et la consommation.
status
Exemple de sortie :
=== Router Status ===
Mode: AUTO
State: INCREASING
Dimmer: 45%
Power: 1250.3 W
Gain: 150.0
Thresh: 50.0 W
=====================
Contrôle du routeur
router-mode
Définir le mode de fonctionnement du routeur.
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
Utilisation :
router-mode auto # Set auto mode
router-mode manual # Set manual mode
router-mode # Show current mode
⚠️ Remarque : Les modifications sont enregistrées immédiatement dans le NVS.
router-dimmer
Contrôler le niveau de sortie d'un variateur spécifique.
Parameters:
- ID - Dimmer identifier: 1, 2, or all
- value - Power level (0-100%)
Utilisation :
router-dimmer 1 75 # Set dimmer 1 to 75%
router-dimmer all 50 # Set all dimmers to 50%
router-dimmer # Show current level
⚠️ Remarque : Le réglage du variateur bascule automatiquement en mode MANUAL.
router-status
Afficher l'état détaillé du routeur (identique à la commande status).
router-status
router-calibrate
Lancer la routine de calibrage du compteur de puissance.
router-calibrate
🚧 État : Fonctionnalité en cours de développement.
debug-adc
Activer/désactiver la journalisation de débogage du compteur de puissance (PowerMeterADC).
Utilisation :
debug-adc # Set debug output period
debug-adc # Show current settings
Paramètres :
- Période de sortie de débogage en secondes :0- Désactiver la sortie de débogage>0- Activer avec la période spécifiée (ex.5= toutes les 5 secondes)
Exemples :
# 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)
Informations de débogage :
Lorsque la sortie de débogage est activée, des informations détaillées sur le fonctionnement de l'ADC sont journalisées :
Pour le capteur de tension :
VOLTAGE CH0: rms=230.5V, phase=POSITIVE (pos=12345, neg=-11234)
Pour les capteurs de courant :
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
Champs :
rms- Tension efficace en voltsphase- Phase du signal (POSITIVE/NEGATIVE/BALANCED)pos/neg- Somme des demi-périodes positives/négatives (pour le diagnostic d'asymétrie)dc_avg- Valeur DC moyenne (devrait être autour de 2048 pour un ADC 12 bits)rms_adc- Valeur efficace en unités ADCvdc- Tension de sortie du capteur (V)amps- Courant mesuré (A)same/diff- Corrélation de phase tension/courant :same > diff→ CONSUMING (importation depuis le réseau)diff > same→ SUPPLYING (exportation vers le réseau)
Applications :
- Dépannage des capteurs
- Vérification de la détection correcte du sens du courant
- Analyse de l'asymétrie du signal (sommes pos/neg)
- Débogage du calibrage des capteurs
- Surveillance de la qualité de mesure
⚠️ Important : La sortie de débogage génère une charge importante sur le port série. À utiliser uniquement pour le diagnostic, désactiver après le dépannage.
📝 Remarque : Ce paramètre n'est PAS enregistré dans le NVS. La sortie de débogage sera désactivée après un redémarrage.
Gestion de la configuration
Toutes les commandes de configuration enregistrent les valeurs immédiatement dans le NVS (Non-Volatile Storage).
config-show
Afficher tous les paramètres de configuration.
config-show
config-reset
Réinitialiser toute la configuration aux valeurs d'usine.
config-reset
⚠️ Avertissement : Tous les paramètres personnalisés seront effacés.
config-gain [value]
Définir le paramètre de gain de la boucle de régulation (affecte la vitesse de réponse).
Plage : 1-1000 | Par défaut : 150
config-gain 200 # Set gain
config-gain # Show current gain
Effet : Valeurs élevées = réponse plus rapide, valeurs faibles = plus stable.
config-threshold [value]
Définir le seuil d'équilibre pour le mode auto.
Plage : 0-100 W | Par défaut : 50 W
config-threshold 30 # Set threshold
config-threshold # Show current threshold
Effet : Le routeur essaie de maintenir la puissance réseau dans la plage ±seuil autour de zéro.
config-manual [value]
Définir le niveau par défaut du variateur en mode manuel.
Plage : 0-100 % | Par défaut : 0 %
config-manual 50 # Set manual level
config-manual # Show current level
config-vcoef [value]
Définir le coefficient de calibrage de la tension.
Plage : 0.1-10.0 | Par défaut : 1.0
config-vcoef 1.05 # Set coefficient
config-vcoef # Show current value
Effet : Multiplicateur pour les mesures de tension (calibrage du capteur).
config-icoef [value]
Définir le coefficient de mesure du courant.
Plage : 0.1-100.0 A/V | Par défaut : 30.0 A/V
config-icoef 33.0 # Set coefficient
config-icoef # Show current value
Effet : Convertit la tension du capteur en mesure de courant.
config-ithresh [value]
Définir le seuil de détection du courant.
Plage : 0.01-10.0 A | Par défaut : 0.1 A
config-ithresh 0.15 # Set threshold
config-ithresh # Show current value
Effet : Courant minimum pour détecter un flux de puissance actif.
config-pthresh [value]
Définir le seuil de détection de puissance.
Plage : 1-1000 W | Par défaut : 10 W
config-pthresh 15 # Set threshold
config-pthresh # Show current value
Effet : Puissance minimum pour détecter une consommation/production active.
Réseau WiFi
wifi-status
Afficher l'état de connexion WiFi, les adresses IP et les identifiants enregistrés.
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
Rechercher les réseaux WiFi disponibles.
wifi-scan
wifi-connect [password]
Se connecter à un réseau WiFi et enregistrer les identifiants dans le 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"
Utilisation :
# 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"
Exemples :
# 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)
⚠️ Note de sécurité : Le mot de passe est transmis en clair sur le port série.
wifi-disconnect
Se déconnecter du réseau STA actuel (l'AP reste actif).
wifi-disconnect
Effet : Le routeur revient en mode AP uniquement. Les identifiants enregistrés restent dans le NVS.
wifi-forget
Effacer les identifiants WiFi enregistrés du NVS.
wifi-forget
Effet : Le routeur ne se connectera pas automatiquement au prochain démarrage. La connexion actuelle reste active.
Serveur web
web-status
Afficher l'état du serveur web, les URLs d'accès et les points de terminaison API.
web-status
web-start
Démarrer le serveur web.
web-start
Default Ports:
- HTTP: 80
- WebSocket: 81
web-stop
Arrêter le serveur web.
web-stop
web-urls
Afficher toutes les URLs d'accès à l'interface web.
web-urls
Web Pages:
- / - Main control interface (future)
- /wifi - WiFi configuration page
- /ota - Firmware update page
Synchronisation horaire
time-status
Afficher l'état de synchronisation NTP.
time-status
Default NTP Servers:
- pool.ntp.org
- time.google.com
time-sync
Forcer une synchronisation NTP immédiate.
time-sync
Mises à jour firmware OTA
ota-status
Afficher l'état des mises à jour OTA et les URLs d'accès.
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
⚠️ Important : Ne pas couper l'alimentation ni déconnecter pendant la mise à jour !
Safety Features:
- Critical tasks suspended during update
- Watchdog protection
- Rollback on failure
Configuration matérielle
Commandes pour la configuration des capteurs de tension et de courant, la gestion des versions NVS et les opérations système.
Réinitialisation matérielle - hardware-reset
Réinitialiser la configuration matérielle aux valeurs d'usine (la structure NVS est conservée).
hardware-reset
Processus :
- Arrêt du PowerMeterADC pour éviter les conflits DMA
- Réinitialisation de tous les paramètres matériels aux valeurs d'usine
- Enregistrement dans le NVS
Exemple de sortie :
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
⚠️ Important : Redémarrage requis après cette commande (reboot).
Capteur de tension - hardware-voltage-show
Afficher la configuration actuelle du capteur de tension.
hardware-voltage-show
Exemple de sortie :
========== Voltage Sensor ==========
Channel: 0
GPIO: 35
Type: VOLTAGE_AC
Driver: ZMPT107
Nominal VDC: 0.700 V
Multiplier: 321.43
Offset: 0.00
Status: ENABLED
====================================
Capteur de tension - hardware-voltage-config-type
Définir le type de pilote du capteur de tension.
hardware-voltage-config-type
Parameters:
- - Sensor type:
- ZMPT107 - ZMPT107 sensor (0.70V RMS nominal)
- ZMPT101B - ZMPT101B sensor (1.0V RMS nominal)
- CUSTOM - Custom sensor
Exemple :
hardware-voltage-config-type ZMPT107
Capteur de tension - hardware-voltage-config-port
Définir la broche GPIO pour le capteur de tension.
hardware-voltage-config-port GPIO
Parameters:
- - GPIO number (32-39 for ESP32 ADC1)
Exemple :
hardware-voltage-config-port GPIO35
⚠️ Important : Redémarrage requis après modification des GPIO (reboot).
Capteur de tension - hardware-voltage-calibrate ⭐
Calibrage automatique du capteur de tension avec mesure VDC.
hardware-voltage-calibrate
Parameters:
- - Grid voltage measured with multimeter (VAC RMS)
- Range: 50-300V
Processus de calibrage :
- Mesurer la tension du réseau avec un multimètre (mode AC RMS)
- Entrer la commande avec la valeur mesurée
- Le système effectue automatiquement :
- Mesure de la sortie VDC du capteur (RMS)
- Calcul du multiplicateur :
multiplier = V_measured / V_sensor - Enregistrement des valeurs calibrées nominal_vdc et multiplier dans le NVS
- Redémarrer l'appareil (
reboot)
Exemple :
# Multimeter shows 230.5V
hardware-voltage-calibrate 230.5
Sortie :
========== 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
Avantages du calibrage automatique :
✅ No need to manually adjust sensor potentiometer
✅ Works with any sensor output voltage
✅ Automatically updates nominal_vdc
✅ More accurate and faster
📝 Remarque : L'ancienne méthode (ajustement manuel du potentiomètre à 0,7V) n'est plus nécessaire !
Capteur de tension - hardware-voltage-config-multiplier
Définir directement le multiplicateur (pour les utilisateurs avancés).
hardware-voltage-config-multiplier
Parameters:
- - Multiplier (0.1-1000)
⚠️ Recommandation : Utilisez hardware-voltage-calibrate plutôt que le réglage manuel du multiplicateur.
Capteurs de courant
hardware-current-list
Afficher tous les capteurs de courant configurés avec leurs affectations.
hardware-current-list
Exemple de sortie :
========== 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
================================================
Champs :
CH- Numéro de canal ADC (0-3)- Affectation - Rôle fonctionnel (GRID, SOLAR, LOAD_1..LOAD_8)
GPIO- Broche GPIO (32-39)- Type de capteur - Modèle du capteur de courant
A/V- Multiplicateur de calibrageOffset- Décalage DC (pour les capteurs ACS712)
hardware-current-config GPIO
Configurer un capteur de courant : définir le type, la broche GPIO et l'affectation fonctionnelle.
Paramètres :
- Affectation fonctionnelle :GRID- Raccordement réseau (import/export)SOLAR- Panneau solaireLOAD_1,LOAD_2, ...LOAD_8- Charges 1-8- Type de capteur :- Série SCT-013 (transformateurs de courant AC, sortie 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
- Série ACS712 (capteurs à effet Hall, 2,5V au centre à 5V) :
ACS712-5A- ±5AACS712-20A- ±20AACS712-30A- ±30A
CUSTOM- Capteur personnalisé- Numéro GPIO (32-39, ADC1 uniquement)
Utilisation :
# 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
Exemple de sortie :
========== 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
Algorithme de sélection de canal :
Le système sélectionne automatiquement le canal ADC par priorité :
- Priorité 1 : Canal avec GPIO correspondant (reconfiguration d'un capteur existant)
- Priorité 2 : Canal avec même type d'affectation (mise à jour du type de capteur)
- Priorité 3 : Premier canal libre (type = NONE)
- Priorité 4 : N'importe quel canal avec capteur de courant (migration depuis d'anciens types)
⚠️ Important : Redémarrage requis (reboot) pour que les modifications prennent effet.
hardware-current-show
Afficher les informations détaillées d'un capteur de courant spécifique.
Paramètres :
- Affectation du capteur (GRID,SOLAR,LOAD_1..LOAD_8)
Utilisation :
hardware-current-show GRID
Exemple de sortie :
========== 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
Supprimer la configuration d'un capteur de courant et libérer le canal ADC.
Paramètres :
- Affectation du capteur (GRID,SOLAR,LOAD_1..LOAD_8)
Utilisation :
hardware-current-delete GRID
Exemple de sortie :
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!
Erreur (capteur introuvable) :
ERROR: No sensor configured for binding: GRID
Use 'hardware-current-list' to see configured sensors
hardware-current-calibrate-zero
Calibrer le point zéro du capteur de courant (compensation du décalage DC).
Paramètres :
- Affectation du capteur à calibrer
Quand l'utiliser :
- Après l'installation d'un nouveau capteur
- Lorsque les mesures dérivent (le capteur affiche du courant sans charge)
- Après l'ajustement du potentiomètre du capteur ACS712
Processus de calibrage :
- IMPORTANT : Déconnecter la charge du capteur (courant = 0A)
- Entrer la commande
- Le système mesure le décalage DC actuel
- Calcule et enregistre l'offset de correction dans le NVS
- Redémarrer l'appareil
Utilisation :
# Disconnect load from GRID sensor
# Ensure current through sensor = 0A
hardware-current-calibrate-zero GRID
Exemple de sortie :
========== 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
===========================================
📝 Remarque :
- SCT-013 : Calibrage généralement non nécessaire (sortie AC pure)
- ACS712 : Recommandé pour compenser la dérive du point central (2,5V)
- PowerMeterADC soustrait automatiquement le décalage DC ; cette commande compense la dérive résiduelle
Version NVS - hw-version-show
Afficher la version du format de données NVS et l'état du mode sécurisé.
hw-version-show
Exemple de sortie (mode normal) :
========== NVS Version Info ==========
Firmware version: 2
NVS version: 2
Status: OK
======================================
Exemple de sortie (mode sécurisé) :
========== 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
Historique des versions :
v1- Version initiale (multiplicateur ZMPT107 codé en dur)v2- Ajout des champs voltage_driver et nominal_vdc
📝 Le mode sécurisé est activé automatiquement en cas d'incompatibilité de version pour éviter les plantages système.
Réinitialisation NVS - hw-erase-nvs
Effacer complètement toutes les données NVS et réinitialiser aux valeurs d'usine.
hw-erase-nvs
Processus :
- La commande demande une confirmation
- Entrer
YES(en majuscules) - Le système efface toutes les données du namespace
hw_config - Charge les valeurs d'usine par défaut
- Enregistre les paramètres avec la version actuelle
Exemple :
hw-erase-nvs
Sortie :
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
⚠️ AVERTISSEMENT : Cette opération est irréversible ! Tous les paramètres de capteurs personnalisés et les configurations GPIO seront perdus.
Quand l'utiliser :
- Mise à jour vers un nouveau firmware avec un format NVS incompatible
- Retour aux paramètres matériels d'usine
- Dépannage de problèmes de configuration
Redémarrage système - reboot
Redémarrer l'ESP32.
reboot
Sortie :
Rebooting in 1 second...
📝 Remarque : Requis après :
- Modification des broches GPIO
- Calibrage des capteurs
- Réinitialisation NVS
- Mises à jour de la configuration matérielle
Référence API REST
⚠️ Remarque : Cette section fournit une référence rapide des points de terminaison de l'API REST. Pour l'intégration avec des applications web, utilisez ces points de terminaison conjointement avec les commandes série décrites ci-dessus.
URLs d'accès
Mode point d'accès :
http://192.168.4.1/api/
Mode station :
http:///api/
Utilisez la commande wifi-status pour trouver l'adresse IP actuelle.
État et surveillance
GET /api/status - État complet du routeur
curl http://192.168.4.1/api/status
GET /api/metrics - Métriques de puissance (léger, pour le polling)
curl http://192.168.4.1/api/metrics
GET /api/config - Tous les paramètres de configuration
curl http://192.168.4.1/api/config
GET /api/info - Informations système
curl http://192.168.4.1/api/info
Configuration
POST /api/config - Mettre à jour la configuration
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 - Réinitialiser aux valeurs d'usine
curl -X POST http://192.168.4.1/api/config/reset
Contrôle du routeur
POST /api/mode - Définir le mode de fonctionnement
Modes valides : 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 - Définir le niveau du variateur (bascule en mode MANUAL)
curl -X POST http://192.168.4.1/api/dimmer \
-H "Content-Type: application/json" \
-d '{"value": 75}'
POST /api/manual - Définir le niveau manuel (point de terminaison alternatif)
curl -X POST http://192.168.4.1/api/manual \
-H "Content-Type: application/json" \
-d '{"value": 50}'
Gestion WiFi
GET /api/wifi/status - État WiFi et adresses IP
curl http://192.168.4.1/api/wifi/status
GET /api/wifi/scan - Rechercher les réseaux
curl http://192.168.4.1/api/wifi/scan
POST /api/wifi/connect - Se connecter au réseau (enregistré dans le 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 - Se déconnecter du réseau STA
curl -X POST http://192.168.4.1/api/wifi/disconnect
POST /api/wifi/forget - Effacer les identifiants enregistrés du NVS
curl -X POST http://192.168.4.1/api/wifi/forget
Exemples d'utilisation de l'API Web
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
Exemples de démarrage rapide
Configuration initiale
# 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
Contrôle manuel
# 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
Dépannage
# 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
Remarques
Format des commandes
- Les commandes ne sont pas sensibles à la casse
- Les paramètres sont séparés par des espaces
Persistance des données
- Toutes les commandes
config-*enregistrent immédiatement dans le NVS - Les identifiants WiFi sont enregistrés automatiquement lors d'une connexion réussie
- Les paramètres persistent après les redémarrages
Fonctions de sécurité
- Limites du variateur : 0-100 %
- Validation des plages de paramètres
- Protection par watchdog pendant l'OTA
- Suspension des tâches critiques pendant les mises à jour
Interface web
- Accès via n'importe quel navigateur
- Design responsive pour mobile
- Mises à jour d'état en temps réel
- Pas d'authentification (utiliser des règles de pare-feu)
Documentation associée
- 01_OVERVIEW.md - Vue d'ensemble du projet et fonctionnalités
- 02_COMPILATION.md - Instructions de compilation
- 03_STRUCTURE.md - Architecture de l'application
- 04_ROUTER_MODES.md - Modes de fonctionnement du routeur
- 05_API_REFERENCE_EN.md - Référence API des composants
- 06_MAIN_APPLICATION.md - Point d'entrée de l'application principale
- 07_COMMANDS.md - Version russe (Команды и REST API)
Firmware Version: 1.0.0
Last Updated: 2025-01-15
← Application principale | Sommaire | Suivant : Web API - GET →