ESP32_powerMC/README.md
2024-02-07 21:34:37 +01:00

4.2 KiB

Webserver und URLs

Der Webserver ist auf dem ESP32 implementiert und bietet verschiedene Endpunkte für die Bedienung und Anzeige von Informationen. Hier sind die definierten URLs und ihre Funktionen:

  • Root Path ("/")

    • HTTP-Methode: GET
    • Zeigt die Hauptseite mit allgemeinen Informationen an, einschließlich Links zu anderen Endpunkten.
  • JSON Path ("/json")

    • HTTP-Methode: GET
    • Liefert JSON-formatierte Daten mit Informationen über Busspannung, Strom, Leistung, Energie, Temperatur, Luftfeuchtigkeit und Fehlercode.

Beispiel:

{
  "busVoltage": 25.6,
  "shuntVoltage": 0.0, 
  "current": 10.5,
  "power": 268.8,
  "energy": 134.4,
  "temp": 28.5,
  "humidity": 45.8,
  "errorCode
}
  • Config Path ("/config")

    • HTTP-Methode: GET
    • Zeigt eine Konfigurationsseite an, auf der Benutzer Einstellungen für Temperatur, Luftfeuchtigkeit und Strombereiche ändern können.
  • Save Config Path ("/saveConfig")

    • HTTP-Methode: PUT
    • Behandelt die Anforderung zum Speichern der neuen Konfigurationsdaten, die durch die Konfigurationsseite festgelegt wurden.

Beispiel:

{
  "temp_min": 20.0,
  "temp_max": 30.0,
  "humi_min": 40.0,
  "humi_max": 60.0,
  "current_min": -5.0,
  "current_max": 5.0
}
  • Demo Mode 1 Path ("/demo1")

    • HTTP-Methode: GET
    • Startet den Demo-Modus 1: Demonstriert einen lade-/entladezyklus ab der Hälfte der maximalen Kapazität mit variablem Strom bei 25,6A.
  • Demo Mode 2 Path ("/demo2")

    • HTTP-Methode: GET
    • Startet den Demo-Modus 2: Demonstriert einen ladezyklus ab 97% der maximalen Kapazität auf 100% mit 200A bei 25.6V.
  • Demo Mode 3 Path ("/demo3")

    • HTTP-Methode: GET
    • Startet den Demo-Modus 3: Demonstriert einen entladezyklus ab 3% der maximalen Kapazität auf 0% mit -200A bei 25.6V.

Die HTML-Seiten werden dynamisch generiert und enthalten JavaScript für die Aktualisierung von Daten über AJAX-Anfragen. Die Konfigurationsseite ermöglicht es Benutzern, bestimmte Parameter über Schieberegler einzustellen und Änderungen zu speichern.

Fehlermeldungen für den wert errorCode

Die Variable globalError wird als Bitmask verwendet, wobei jedes Bit eine bestimmte Fehlerbedingung repräsentiert. Hier sind die möglichen Fehlermeldungen und ihre Bedeutungen:

ERROR_NONE (0b0000000000000000)

Kein Fehler. Das Gerät funktioniert ordnungsgemäß, es liegen keine Fehler vor.

ERROR_MAX_CURRENT_EXCEEDED (0b0000000000000001)

Der maximale Stromverbrauch wurde überschritten. Möglicherweise liegt eine Überlastung des Geräts vor.

ERROR_CURRENT_BELOW_MIN (0b0000000000000010)

Der aktuelle Stromverbrauch liegt unter dem zulässigen Minimum. Möglicherweise gibt es ein Problem mit der Stromzufuhr.

ERROR_MAX_TEMP_EXCEEDED (0b0000000000000100)

Die maximale Temperatur wurde überschritten. Das Gerät könnte überhitzen.

ERROR_TEMP_BELOW_MIN (0b0000000000001000)

Die Temperatur liegt unterhalb des zulässigen Minimums. Es besteht die Gefahr von Unterkühlung oder anderen temperaturbedingten Problemen.

ERROR_MAX_HUMI_EXCEEDED (0b0000000000010000)

Die maximale Luftfeuchtigkeit wurde überschritten. Dies könnte zu feuchtigkeitsbedingten Problemen führen.

ERROR_HUMI_BELOW_MIN (0b0000000000100000)

Die Luftfeuchtigkeit liegt unter dem zulässigen Minimum. Es besteht die Gefahr von zu geringer Luftfeuchtigkeit.

Bitte beachten Sie, dass mehrere Fehler gleichzeitig auftreten können, da die Bitmasken kombiniert werden können. Zum Beispiel könnte ERROR_MAX_TEMP_EXCEEDED | ERROR_MAX_HUMI_EXCEEDED darauf hinweisen, dass sowohl die maximale Temperatur als auch die maximale Luftfeuchtigkeit überschritten wurden.

Used libraries (Arduino)

WiFi at version 2.0.0 ESP32httpUpdate at version 2.1.145 HTTPClient at version 2.0.0 WiFiClientSecure at version 2.0.0 Update at version 2.0.0 FS at version 2.0.0 SPIFFS at version 2.0.0 WebServer at version 2.0.0 ArduinoJson at version 7.0.2 WiFiManager at version 2.0.16-rc.2 DNSServer at version 2.0.0 EEPROM at version 2.0.0 Wire at version 2.0.0 INA226 at version 0.5.2 Adafruit GFX Library at version 1.11.9 Adafruit BusIO at version 1.15.0 SPI at version 2.0.0 Adafruit SSD1306 at version 2.5.9 Adafruit Unified Sensor at version 1.1.14 Adafruit BME280 Library at version 2.2.4