header.html

eulenbit.net

Technik, Computer, Linux, Open Source

Benutzer-Werkzeuge

Webseiten-Werkzeuge


user:wellenschrat:messtechnik:schallpegelmesser-wensn-ws1361

Schallpegelmesser Wensn WS1361

Für den Schallpegelmesser Wensn WS1361 gibt es ein Python-Programm von Michael E. Palmer aka mepster, mit dem sich die Daten des WS1361 per USB auslesen, speichern und weiterverarbeiten (z.B mit Gnuplot) lassen.

Vielleicht ist das Gerät auch mit Sigrok kompatibel?
https://sigrok.org/wiki/Tondaj_SL-814 FIXME

Rohdaten

Die Software speichert die Rohdaten um Unterverzeichnis /logs/. Jede Minute wird eine Datei (2022-12-23-20-02.log) erzeugt, die aus je 60 Zeilen besteht (pro Sekunde ein Eintrag), wobei jede Zeile wie im folgenden Beispiel aufgebaut ist:

41.90,A,slow,2022,12,23,19,52,53
41.90 dB
A Bewertung (A oder C)
slow slow, fast
2022 Jahr
12 Monat
23 Tag
19 Stunde
52 Minute
53 Sekunde
  • 41.90
  • A
  • slow
  • 2022
  • 12
  • 23
  • 19
  • 52
  • 53

Es ist sinnvoll, wenn die einzelnen Dateien zu einer zusammengefügt und entsprechend weiterverarbeitet werden, damit Gnuplot damit umgehen kann.

Dateien zusammanfügen und anpassen

Mit diesem Shellskript (wensn-merge.sh) werden die einzelnen Log-Dateien zu einer (data_raw.dat) zusammengefügt und eine Kopie davon (data.dat) wird dann für Gnuplot angepasst.

wensn-merge.sh
#!/bin/bash
cat *.log > data_raw.dat
cp data_raw.dat data.dat
sed -i 's/,/./g' data.dat
sed -i 's/.A.slow./;/g' data.dat
sed -i 's/./-/11' data.dat
sed -i 's/./-/14' data.dat
sed -i 's/./T/17' data.dat
sed -i 's/./:/20' data.dat
sed -i 's/./:/23' data.dat

Jede Zeile besteht wird nun nach folgendem Beispiel 41.90;2022-12-23T19:52:53

vorher:  41.90,A,slow,2022,12,23,19,52,53
nachher: 41.90;2022-12-23T19:52:53

Schallpegel;Datum/Zeit

Diagram mit Gnuplot erstellen

Mit folgender Gnuplot-Datei kann mit gnuplot wensn-diagram.plt ein Diagramm erzeugt werden.

wensn-diagram.plt
set terminal png font monospace 12 size 1440, 900
set output 'diagramm.png'
set datafile separator ";"
set title "Schalldruckpegel mit Wensn WS1361" 
set xdata time            # x-Achse-Skalierung Datums/Zeitformat       
set timefmt '%Y-%m-%dT%H:%M:%S'
set format x "%H.%M\n%d.%m"
set ytics 1
set xtics autofreq
set grid ytics xtics
set autoscale y
set autoscale x
set xlabel 'Zeit/Datum'
set yrange [30:]
set ylabel 'dB(A)'
#set xrange ['2022-12-23T20:00:00':'2022-12-23T22:15:00']
plot "data.dat" using 2:1 title 'Schlafzimmer' with lines

Die Zeile #set xrange ['2022-12-23T20:00:00':'2022-12-23T22:15:00'] sollte, wenn man den x-Achsenabschnitt eingrenzen will, auskommentiert (# entfernen) und entsprechend den eigenen Bedürfnissen angepasst werden.

Es wird pro Sekunde ein Schallpegel $Lp$ des Schallpegelmessgeräts mit der eingestellten Bewertung pro Sekunde gezeichnet. Möchte man z.B. den $Leq$ berechnen, muss dafür ein eigenes Skript erstellt werden. Hinweis: Die Darstellung des energieäquivalenten Dauerschallpegels $Leq$ ist also hiermit nicht möglich.

betaversion

Das Shell-Script wensn-diagram.sh erledit alles in einem Rutsch. Einfach in das Log-Verzeichnis des Wensn-Python-Programms kopieren und von dort aus mit ./wensn-diagram.sh ausführen.

wensn-diagram.sh
#!/bin/bash
cat *.log > data_raw.dat
cp data_raw.dat data.dat
sed -i 's/,/./g' data.dat
sed -i 's/.A.slow./;/g' data.dat
sed -i 's/./-/11' data.dat
sed -i 's/./-/14' data.dat
sed -i 's/./T/17' data.dat
sed -i 's/./:/20' data.dat
sed -i 's/./:/23' data.dat
gnuplot <<EOT
set terminal png font monospace 12 size 1440, 900
set output 'diagramm.png'
set datafile separator ";"
set title "Schalldruckpegel mit Wensn WS1361" 
set xdata time            # x-Achse-Skalierung Datums/Zeitformat       
set timefmt '%Y-%m-%dT%H:%M:%S'
set format x "%H.%M\n%d.%m"
set ytics 1
set xtics autofreq
set grid ytics xtics
set autoscale y
set autoscale x
set xlabel 'Zeit/Datum'
set yrange [30:]
set ylabel 'dB(A)'
#set xrange ['2022-12-23T20:00:00':'2022-12-23T22:15:00']
plot "data.dat" using 2:1 title 'Schlafzimmer' with lines
EOT

Die Zeile #set xrange ['2022-12-23T20:00:00':'2022-12-23T22:15:00'] sollte, wenn man den x-Achsenabschnitt eingrenzen will, auskommentiert (# entfernen) und entsprechend den eigenen Bedürfnissen angepasst werden.

alphaversion 1

wensndata.sh
#!/bin/bash
cat *.log > data_raw.dat
cp data_raw.dat data.dat
sed -i 's/,A,slow,/;/g' data.dat
sed -i 's/,/./g' data.dat
sed -i 's/./;/17' data.dat
sed -i 's/./:/20' data.dat
sed -i 's/./:/23' data.dat
wensnplot.plt
set datafile separator ";"
set title "Messwerte" 
set xdata time            # x-Achse-Skalierung Datums/Zeitformat       
set timefmt "%H:%M:%S"    # Formatierung Datums-/Zeitangaben 
set format x "%H:%M"      # Format für die Achsenbeschriftung 
set yrange [0: ]          # y-Achse beginn bei Null, Obergrenze automatisch 
set autoscale
set xlabel "Zeit"
set ylabel "dB(A)"
plot "data.dat" using 3:1 with lines linewidth 0.25

Alphaversion 2

wensndata.sh
#!/bin/bash
cat *.log > data_raw.dat
cp data_raw.dat data.dat
sed -i 's/,/./g' data.dat
sed -i 's/.A.slow./;/g' data.dat
sed -i 's/./-/11' data.dat
sed -i 's/./-/14' data.dat
sed -i 's/./T/17' data.dat
sed -i 's/./:/20' data.dat
sed -i 's/./:/23' data.dat
wensnplot.plt
set terminal png font monospace 12 size 1200, 720
set output 'diagramm.png'
set datafile separator ";"
set title "Schalldruckpegel mit Wensn WS1361"
set xdata time            # x-Achse-Skalierung Datums/Zeitformat
set timefmt '%Y-%m-%dT%H:%M:%S'
set format x "%H.%M\n%d.%m"
set ytics 1
set xtics autofreq
set grid ytics xtics
set autoscale y
set autoscale x
set xrange ['2022-12-23T20:00:00':'2022-12-23T22:15:00']
set xlabel 'Zeit/Datum'
set yrange [30:]
set ylabel 'dB(A)'
plot "data.dat" using 2:1 title 'Schlafzimmer' with lines

Kommentare

Diskussion

Kontranorm, 10.04.2023

https://t.me/eulenbit/78

Melde dich an um einen Kommentar zu erstellen.
user/wellenschrat/messtechnik/schallpegelmesser-wensn-ws1361.txt · Zuletzt geändert: 14.06.2024 von Wellenschrat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki