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=1undKYMO_ENABLE_Z=1bauen,KYMO_FLAG_XundKYMO_FLAG_Zam Kanal setzen undxundzim 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.