
Abbildung 4: Zum Ein- und Ausschalten verwenden Sie einen Schiebeschalter. Alle anderen Funktionen steuern Sie über das Display des DSO112A.
Auf Wunsch überträgt das DSO112A die Daten seriell über eine USB-Schnittstelle. Eingefleischte Programmierer greifen zu Python und den Bibliotheken Xmodem sowie Matplotlib. Dieser Artikel beschränkt sich auf die Kommandozeile und wenige Programme, die Sie möglicherweise nachinstallieren müssen.
Dem Oszilloskop liegt ein Mikro-USB-Kabel bei. Das beseitigt eine potenzielle Fehlerquelle: Erwischen Sie aus dem eigenen Fundus unter Umständen ein Ladekabel, fehlen diesem die Datenleitungen. Die ersten Schritte aus Listing 1 testen allgemein die serielle Schnittstelle.
Listing 1
Auslesen der Daten
$ dmesg | tail [...] usb 2-2.1: cp210x converter now attached to ttyUSB0 $ stty -F /dev/ttyUSB0 speed 115200 baud; line = 0; -brkint -imaxbel $ stty -F /dev/ttyUSB0:*115200
Ist das Gerät eingeschaltet und das Verbindungskabel eingesteckt, verraten die letzten Zeilen des Befehls dmesg (Zeile 1) zweierlei: Zum einen sehen Sie, ob der Rechner ein neues Gerät erkannt hat – es steht zu erwarten, dass die serielle Kommunikation funktioniert. Zum anderen erfahren Sie die Bezeichnung der Schnittstelle, im Beispiel ttyUSB0. Die Abfrage aus Zeile 4 kontrolliert die Baudrate der seriellen Schnittstelle. Falls sie nicht bereits auf 115 200 Baud eingestellt ist, holt dies der Befehl aus Zeile 5 nach.
Vermutlich ist es nötig, für den Datentransfer drei Programme aus den Repositories nachzuinstallieren (Listing 2). Das Programm Screen übernimmt die Kommunikation mit der seriellen Schnittstelle, zum Steuern des Xmodem-Protokolls kommt das Programm Rx aus dem Paket lrzsz zum Einsatz. Gnuplot hilft bei der Ausgabe der Grafik.
Listing 2
Software nachinstallieren
$ sudo apt install screen lrzsz gnuplot
Der Datentransfer erfolgt in drei Schritten. Der erste Aufruf in Listing 3 bereitet Screen darauf vor, mit dem Xmodem-Transferprogramm Rx zusammenzuarbeiten. Der Schalter -S gibt der Session einen Namen, mit dessen Hilfe Sie sie im letzten Schritt wieder beenden.
Listing 3
Daten auslesen
$ screen -d -m -S uartn /dev/ttyUSB0 115200 $ screen -S uartn -X exec \!\! rx -X daten.csv $ fuser -u daten.csv $ screen -S uartn -p 0 -X quit
Der Befehl aus Zeile 2 erscheint etwas kryptisch. Die zwei Ausrufezeichen dienen dazu, Befehle miteinander zu verknüpfen. Innerhalb der Screen-Session startet Rx, um die Daten zu empfangen und in der Datei daten.csv abzulegen.
Sehen Sie auf das Display des DSO, um zu prüfen, ob die Daten vollständig übertragen wurden. Typischerweise dauert das 10 bis 15 Sekunden. Gegebenenfalls überprüfen Sie mit dem Programm Fuser die Freigabe der Datei (Zeile 3). Ist alles erledigt, beenden Sie die Session über den Befehl aus der letzten Zeile des Listings.
Die Software legt die Daten in einer Spalte in der angegebenen Datei ab, wobei die ersten 16 Zeilen den Datensatz beschreiben. Der Aufruf aus Listing 4 erzeugt daraus einen Plot, der dem Testbild ähnelt. Details zum Einsatz des Programms Gnuplot zum schnellen Anzeigen von Daten erläutert ein Artikel aus einer älteren Ausgabe [2].
Listing 4
Grafik erzeugen
$ gnuplot -persist -e "plot 'daten.csv' every ::16 with lines notitle"
Zu guter Letzt ist es sinnvoll, die Daten zu eichen. Listing 5 hilft dabei, die dazu nötigen Werte im Header zu finden. Steht dort xis für Datenrate in 1/Sekunde und ys für den Messwert in Mikrovolt, dann gibt der Aufruf aus Listing 5 die Daten in den korrekten Einheiten wieder. Eine Division der Y-Werte durch 1000 oder 1 000 000 rechnet die Werte in Millivolt beziehungsweise Volt um.
Listing 5
Daten aufbereiten
### Eichdaten im Datei-Header
### 4. Zeile, 4. Feld: (xis) Sample Rate in 1/sec
### 9. Zeile, 1. Feld: (ys) Auflösung in Mikrovolt
### 11. Zeile, 1. Feld: (y0) Verschiebung des Nullpunkts
$ gnuplot -persist -e "plot every ::16 using ($0/xis):(($1-y0)*ys) with lines notitle"
Fazit
Das DSO112A von JYE-Tech bringt alles mit, was ein Bastler sich von einem Speicheroszilloskop wünscht. Die Mechanik mit dem kleinen Touchscreen und den feinen Buchsen ist zwar nicht für einen häufigen Gebrauch gedacht, dafür hält sich der Preis in erschwinglichen Grenzen. Ein zweiter Kanal fehlt, wäre aber bei den geringen Dimensionen des Geräts kaum zu handhaben. Die Grenzfrequenz von 1 MHz genügt völlig, wenn Sie sich im Bereich akustischer Frequenzen bewegen. Besonders praktisch ist, dass das DSO112A die Werte als tatsächliche Daten überträgt und nicht etwa als Grafik. So besteht die Möglichkeit, die Messwerte mit anderen Programmen weiterzuverarbeiten. (agr/jlu)





