aboutsummaryrefslogtreecommitdiff
path: root/script/livegraph.sh
diff options
context:
space:
mode:
Diffstat (limited to 'script/livegraph.sh')
-rwxr-xr-xscript/livegraph.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/script/livegraph.sh b/script/livegraph.sh
new file mode 100755
index 0000000..67111bc
--- /dev/null
+++ b/script/livegraph.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+if [[ $# -ne 1 ]]
+then
+ echo "Reads the sensor.dat and distance.dat from a running Pasad"
+ echo "instance and draws a graph from them."
+ echo
+ echo "Usage:"
+ echo " $0 SOURCE"
+ echo "Arguments:"
+ echo " SOURCE an expression such that SOURCE/sensor.dat and"
+ echo " SOURCE/distance.dat can be used as arguments for"
+ echo " scp (e. g. user@host:/path/to/files)"
+ echo
+ echo "Note: Use ssh-add to avoid typing your SSH passphrase every second"
+ exit 1
+fi
+
+function plot() {
+ scp -i /home/andreas/.ssh/pasadpi_rsa -P 8022 "${SCP_EXPR}/sensor.dat" "${SCP_EXPR}/distance.dat" .
+ tail -1000 sensor.dat > sensor-1000.dat
+ tail -1000 distance.dat > distance-1000.dat
+ echo "set terminal png; set yrange [17000:17300]; set y2range [0:300]; set ytics nomirror; set y2tics nomirror; set title 'Midbro/PASAD demo'; set ylabel 'sensor value'; set y2label 'distance'; plot 'sensor-1000.dat' using 0:1 with line title 'sensor value', 'distance-1000.dat' using 0:1 axis x1y2 with line title 'distance'" | gnuplot > live-tmp.png
+ mv live-tmp.png live.png
+}
+
+SCP_EXPR=$1
+
+echo 0 > sensor.dat
+echo 0 > distance.dat
+plot
+feh -x --reload 0.1 live.png &
+
+while true
+do
+ sleep 0.1
+ plot
+done