Anleitung · ESP32

ESP32-Messwerte live am PC plotten.

Zwei Wege vom ESP32 zu Live-Kurven in KymoStudio: die fertige Firmware KymoProbe mit zwei Befehlen flashen oder die Bibliothek KymoCore in dein eigenes PlatformIO-Projekt einbinden.

Was du brauchst

  • Ein ESP32-Board (die Beispiele nutzen ein NodeMCU-32S; ESP32-S3 und ESP32-C3 sind ebenfalls abgedeckt) und ein USB-Kabel.
  • PlatformIO – in VS Code oder auf der Kommandozeile.
  • KymoStudio für Windows.

Weg A: fertige Firmware mit zwei Befehlen

git clone --recurse-submodules https://github.com/CodeName-666/kymoprobe.git
cd kymoprobe
pio run -e nodemcu-32s -t upload

Das Board sendet einen Sinus und einen Sägezahn mit je 50 Hz. Schließe den seriellen Monitor von PlatformIO, öffne den COM-Port in KymoStudio mit 115200 Baud, 8N1, und weise die beiden Kanäle einem Diagramm zu. Deine eigenen Sensoren trägst du in src/kymo_config.cpp ein – siehe KymoProbe.

Weg B: eigenes Projekt mit KymoCore

Trage die Bibliothek in die platformio.ini ein:

[env:esp32]
platform = espressif32
board = nodemcu-32s
framework = arduino
lib_deps = codename666/KymoCore

Dann beschreibst du deine Kanäle und lieferst drei Callbacks: die Uhr, den Messwert und die Schreibfunktion. Das vollständige Beispiel für Arduino und ESP32 passt auf eine Bildschirmseite. Der Kern:

static uint8_t readSample(void *user, uint8_t id, KymoSample *out)
{
    (void)user;
    out->value = id == 0 ? readTemperature() : readPressure();
    return 1U;
}

static const KymoChannel channels[] = {
    {20U, 0U, 0U},    // Kanal 0 alle 20 ms
    {100U, 1U, 0U}    // Kanal 1 alle 100 ms
};

void setup() { Serial.begin(115200); lastStatus = Kymo_Init(&context, &config); }
void loop()  { lastStatus = Kymo_Main(&context); }

KymoCore entscheidet, welcher Kanal fällig ist, kodiert einen Frame mit 9–21 Byte und übergibt ihn an deinen Write-Callback – ohne je auf den UART zu warten, sodass deine Schleife ihr Timing behält. Gib auf diesem Port keine weiteren Serial.print-Texte aus; sie würden sich in den Binärstrom mischen.

Kabellos: WLAN mit MQTT oder TCP

Das KymoProbe-Beispiel wifi_mqtt_example sendet dieselben Frames über einen MQTT-Broker, und das ESP32-Hauptprojekt hat Demo-Modi für TCP und kombiniertes Netzwerk. In KymoStudio legst du dann statt des seriellen Ports eine MQTT- oder TCP-Quelle an. Mit einem eigenen UDP-Transport empfängt KymoStudio auch UDP-Datagramme.

Nächste Schritte

  • X gegen Y oder XYZ in 3D zeichnen: mit KYMO_ENABLE_X=1 und KYMO_ENABLE_Z=1 bauen, KYMO_FLAG_X und KYMO_FLAG_Z am Kanal setzen und x und z im Sample füllen.
  • Die Messanalyse (Strg+M) öffnen – für Cursor, Sprungantwort, FFT und Trigger.
  • KymoCore-Tracing aktivieren und die ESP32-Trace-Demo ausprobieren, um Tasks, Funktionen und Hotspots zu sehen.

Alle Funktionen →   Du kommst vom Serial Plotter? →