Raspberry Pi & Einplatinenrechner
Über I²C, SPI oder GPIO gelesene Sensorwerte live plotten – ohne eigene Plot-Oberfläche.
KYMOCORE FÜR PYTHON · 0.1.0 · MIT
Nicht jedes Signal kommt vom Mikrocontroller. Ein Raspberry Pi liest Sensoren, ein Prüfstandsskript steuert ein Netzteil, eine Simulation rechnet ein Streckenmodell. kymocore schickt diese Werte an KymoStudio, während sie entstehen – im selben Binärformat wie die Firmware.
Überall dort, wo Messwerte in einem Python-Skript entstehen und du sie nicht erst hinterher als CSV ansehen willst.
Über I²C, SPI oder GPIO gelesene Sensorwerte live plotten – ohne eigene Plot-Oberfläche.
Sollwerte des Skripts neben den Messwerten des Prüflings – in derselben Arbeitsfläche, auf derselben Zeitachse.
Streckenmodell oder Reglersimulation mit denselben Diagrammen beobachten wie später die echte Hardware.
Werte von Messgeräten, Logs oder APIs an KymoStudio weiterreichen.
KymoStudio zeichnet auf, spielt wieder ab und exportiert CSV – wie bei Daten vom Board.
Cursor, Sprungantwort, FFT und Trigger rechnen auch auf Python-Daten, mit den Zeitstempeln des Senders.
SCHNELLSTART
In KymoStudio eine UDP-Quelle auf Port 5025 anlegen, starten und Kanal 0 einem Diagramm zuweisen. Mit x= und z= entstehen XY- und 3D-Bahnen.
pip install kymocore # UDP, TCP
pip install kymocore[serial] # + Seriell/USB
pip install kymocore[mqtt] # + MQTT
import math, time
from kymocore import Sender
with Sender.udp('127.0.0.1', 5025) as sender:
for i in range(1000):
sender.send(0, math.sin(i / 20)) # Kanal 0
sender.send(1, math.cos(i / 20), x=i) # XY-Punkt
time.sleep(.01)
Die vorhandenen Quellen in KymoStudio empfangen ohne Änderung.
| Transport | Aufruf | Quelle in KymoStudio |
|---|---|---|
| UDP | Sender.udp(host, port) | UDP, lauscht auf port |
| TCP | Sender.tcp_server(port) | Telnet/TCP verbindet sich zu diesem Rechner; ohne verbundenen Client gehen Werte verloren – wie bei einem Gerät |
| Seriell | Sender.serial('COM4', 115200) | Seriell, gleiche Baudrate |
| MQTT | Sender.mqtt(broker, topic) | MQTT, topic unter den Empfangs-Topics; eine Nachricht pro Wert |
Jeder Wert ist ein kompakter Frame von 9 bis 21 Byte, geprüft gegen die Referenzvektoren des Kymotrace-Protokolls v6.2. Optional mit CRC-8. frame() liefert die Bytes für einen eigenen Transport.
Zeit seit Senderstart aus einer monotonen Uhr, in Mikrosekunden (Standard; Überlauf nach 71,6 Minuten, KymoStudio führt die Zeitachse weiter) oder Millisekunden. Ohne Zeitstempel stempelt KymoStudio beim Empfang.
Zwei Bibliotheken, ein Protokoll: KymoCore läuft auf dem Mikrocontroller, KymoCore für Python auf dem PC oder Raspberry Pi. Auf PyPI heißt das Paket kymocore.
Messwerte, Traces und Live-Parameter auf dem Mikrocontroller.
Messwerte aus Skripten senden. Diese Seite.
Fertige Firmware für ESP32, Arduino und STM32.
Empfangen, darstellen, aufzeichnen, analysieren.
pyserial und paho-mqtt optionalMehr zu Aufnahme und Export: Embedded Logging →