Zum Inhalt

Hardware-Integration

🔧 Empfohlene Hardware-Lösungen

Für jeden PV-Standort kann optional ein lokales Display installiert werden, das den aktuellen Status auch bei Stromausfall anzeigt.


Option 1: CrowPanel ESP32 E-Paper (Empfohlen) ⭐

Technische Daten

  • Preis: $16 EK (Einzelhandel)
  • Display: 2.9" E-Paper (128x296 Pixel)
  • Farben: Schwarz/Weiß
  • Interface: SPI (schnell)
  • MCU: ESP32 Dual-Core (bis 240 MHz)
  • WiFi: 2.4 GHz 802.11 b/g/n
  • Link: CrowPanel ESP32 E-Paper

🎯 Hauptvorteil: Display bleibt bei Stromausfall!

E-Paper-Technologie benötigt nur Strom für Änderungen, nicht zum Anzeigen. Die letzte Anzeige bleibt dauerhaft sichtbar, auch wenn: - ✅ Stromausfall (Netz) - ✅ Inverter ausgefallen - ✅ ESP32 abgestürzt

Anwendungsbeispiel

// Arduino/ESP32 Code
#include <GxEPD2_BW.h>
#include <WiFi.h>
#include <HTTPClient.h>

GxEPD2_BW<GxEPD2_290, GxEPD2_290::HEIGHT> display(GxEPD2_290(/*CS=5*/ SS, /*DC=*/ 17, /*RST=*/ 16, /*BUSY=*/ 4));

void setup() {
  display.init();
  WiFi.begin("SSID", "password");
}

void loop() {
  // Hole Daten von SolarLog API
  HTTPClient http;
  http.begin("https://solarlog-api.karma.organic/api/v1/production/latest/1");
  int httpCode = http.GET();

  if (httpCode == 200) {
    String payload = http.getString();
    // Parse JSON (z.B. mit ArduinoJson)
    float power = parseFloat(payload, "current_power");
    float energy = parseFloat(payload, "total_energy");

    // Update Display (nur bei Änderung)
    updateDisplay(power, energy);
  }

  http.end();
  delay(30000); // Alle 30 Sekunden
}

void updateDisplay(float power, float energy) {
  display.setFullWindow();
  display.firstPage();
  do {
    display.fillScreen(GxEPD_WHITE);
    display.setTextColor(GxEPD_BLACK);

    // Header
    display.setFont(&FreeMonoBold18pt7b);
    display.setCursor(10, 30);
    display.print("Niederlauer PV");

    // Aktuelle Leistung
    display.setFont(&FreeMonoBold24pt7b);
    display.setCursor(10, 80);
    display.print(power / 1000, 1);
    display.print(" kW");

    // Tagesertrag
    display.setFont(&FreeMonoBold18pt7b);
    display.setCursor(10, 130);
    display.print("Heute: ");
    display.print(energy / 1000, 1);
    display.print(" kWh");

    // Status
    display.setFont(&FreeMono12pt7b);
    display.setCursor(10, 170);
    if (power > 0) {
      display.print("Status: OK");
    } else {
      display.print("Status: Nacht");
    }

    // Timestamp
    display.setFont(&FreeMono9pt7b);
    display.setCursor(10, 200);
    display.print(getTimestamp());

  } while (display.nextPage());

  // Display geht in Deep Sleep
  // Anzeige bleibt erhalten!
}

Displayinhalt (Beispiel)

┌──────────────────────────────┐
│                              │
│   Niederlauer PV             │
│                              │
│   3.8 kW                     │
│                              │
│   Heute: 24.5 kWh            │
│                              │
│   Status: ✅ OK               │
│                              │
│   23.10.2025 14:32           │
│                              │
└──────────────────────────────┘

Vorteile

  • Kein VPN notwendig - nur HTTPS zum eigenen Server
  • Kein Abo - einmalige Hardwarekosten
  • Stromausfall-sicher - Display bleibt sichtbar
  • Günstig - 16€ EK, ~30€ VK für Endkunden
  • Open Source - ESP32 komplett programmierbar

Option 2: MagiClick (KI + Audio-Monitoring)

Technische Daten

  • Preis: ~$25 EK
  • Display: OLED (kleiner, nicht E-Paper)
  • Features:
  • Mikrofon für Audio-Anomalie-Erkennung
  • ESP32-S3 Dual-Core
  • 8MB Flash, 2MB PSRAM
  • WiFi + Bluetooth
  • Link: MagiClick Programmable
  • Performance: Kann sogar Spiele rendern! Hackaday Projekt

🎙️ KI Audio-Monitoring

Konzept aus Industrie 4.0:
Bekanntes Verfahren für präventive Wartung:
VDI: Das Werkzeug klingt nach Verschleiß

Anwendung für Inverter: - 🔊 Pfeifende Elkos → Kondensator defekt - 🌀 Lüfter-Anomalien → Drehzahl zu langsam, Kühlproblem - 📳 Vibrationen → Mechanische Defekte - ⚡ Elektrische Geräusche → Schaltkreis-Probleme

Code-Beispiel

import numpy as np
from scipy.fft import fft
import requests

def record_inverter_sound(duration=5):
    """Zeichne 5 Sekunden Audio vom Mikrofon auf"""
    # ESP32 sendet Audio-Stream
    pass

def analyze_spectrum(audio_data):
    """FFT-Analyse des Audio-Signals"""
    spectrum = fft(audio_data)
    freqs = np.fft.fftfreq(len(spectrum))

    # Elko-Pfeifen: 10-20 kHz
    high_freq_power = np.sum(np.abs(spectrum[(freqs > 10000) & (freqs < 20000)]))

    # Lüfter: 50-200 Hz (abhängig von RPM)
    fan_freq_power = np.sum(np.abs(spectrum[(freqs > 50) & (freqs < 200)]))

    return {
        'capacitor_health': high_freq_power < THRESHOLD_ELKO,
        'fan_health': fan_freq_power > THRESHOLD_FAN,
    }

def detect_anomaly():
    """Hauptfunktion für Audio-Monitoring"""
    audio = record_inverter_sound()
    analysis = analyze_spectrum(audio)

    if not analysis['capacitor_health']:
        send_alert("⚠️ Elko pfeift - Kondensator defekt!")

    if not analysis['fan_health']:
        send_alert("⚠️ Lüfter zu langsam - Kühlproblem!")

def send_alert(message):
    """Sende Alert an SolarLog API"""
    requests.post(
        "https://solarlog-api.karma.organic/api/v1/alerts",
        json={
            "inverter_id": 1,
            "severity": "warning",
            "message": message,
        },
        headers={"Authorization": f"Bearer {JWT_TOKEN}"}
    )

Vorteile

  • Proaktive Wartung - Probleme erkennen bevor Ausfall
  • KI-basiert - Lernt typische Geräusche
  • Menschlich nicht hörbar - Frequenzen außerhalb Hörbereich
  • Kompakt - Kleiner Würfel, unauffällig

Nachteile

  • Kein E-Paper - Display nicht stromausfall-sicher
  • Teurer - 25€ statt 16€
  • Komplexer - Audio-Analyse benötigt mehr Code

Vergleich der Optionen

Feature CrowPanel E-Paper MagiClick
Preis $16 $25
Display-Typ E-Paper (stromlos) OLED (benötigt Strom)
Stromausfall-sicher ✅ Ja ❌ Nein
Audio-Monitoring ❌ Nein ✅ Ja
Komplexität Einfach Mittel
Use Case Status-Display Proaktive Wartung

Empfehlung: - Standard-Installation: CrowPanel E-Paper (günstiger, stromausfall-sicher) - Premium-Installation: MagiClick (KI-Wartung, aber teurer) - Kombination: Beide verwenden für maximale Sicherheit


Keine weiteren Kosten für erste Testphase!

Für die Entwicklung und erste Tests sind keine Hardware-Kosten notwendig:

Was bereits vorhanden ist:

  • Docker Compose - Multi-Container Setup
  • Cloudflare Tunnel - Sichere Fernverbindung
  • Demo Mode - Simulierte Inverter-Daten
  • Backend API - Komplett funktionsfähig
  • Frontend Dashboard - Live unter solarlog.karma.organic

Roadmap:

  1. Phase 1 (aktuell): Software-Entwicklung mit Demo Mode
  2. Phase 2 (Q1 2026): Beta-Test mit echten Invertern
  3. Phase 3 (Q2 2026): Hardware-Prototypen (ESP32)
  4. Phase 4 (Q3 2026): Produktion & Verkauf

Installation

Für Endkunden (via Installateur)

# 1. ESP32 flashen (via USB)
esptool.py write_flash 0x0 solarlog-display.bin

# 2. WiFi konfigurieren (WPS oder Web-Interface)
# Display zeigt QR-Code für Setup

# 3. Inverter-ID eingeben
# Display verbindet sich automatisch mit API

# 4. Montage (optional)
# 3M-Klebepad oder Schrauben

Für Entwickler

# Arduino IDE / PlatformIO
git clone https://github.com/solarlog/esp32-display
cd esp32-display
pio run -t upload

Support & Dokumentation