Fixed bug in treshold-cross logic
[mirrors/Programs.git] / c / goertzel / sleepmon.sh
index 3e3ee6ba9af7f0b68812c96a9cf0f4df1f4a46d4..4896e87327002696a3092d70f5ea4c3351ddf36e 100755 (executable)
 # Wake up
 # Enjoy your data
 
-out=/tmp/sleeplog-"$(date +%F_%r)".txt
+
+out=/tmp/sleeplog-"$(date +%F_%T)".txt
 speaker-test -t sine &>/dev/null &
 tresh=10
 lastdate=0
-arecord | ./goertzel -i -q -a -t $tresh -s 2000 | while read line; do
+screen=false
+while getopts "s" OPT; do
+       test "$OPT" == 's' && screen=true;
+done
+echo "Writing to file: $out";
+arecord | ./goertzel -n i -q -l c -t $tresh -d 4 | while read line; do
        date="$(date +%s)"
        time="$(echo "$line" | cut -f 1)"
        level="$(echo "$line" | cut -f 2)"
-       echo -ne "$time\t$date\t$(date '+%F%t%r')\t"
+       echo -ne "$time\t$date\t$(date '+%F%t%T')\t"
        test "$level" -gt "$tresh" && {
                echo -n "Nothing detected...";
+               $screen && xset dpms force off || true;
        } || {
                echo -n "Motion detected!!!!";
+               $screen && xset dpms force on;
        }
        test "$lastdate" != 0 && {
                after=$(( $date - $lastdate))
@@ -34,4 +42,5 @@ arecord | ./goertzel -i -q -a -t $tresh -s 2000 | while read line; do
        lastdate="$date";
 done | tee "$out"
 kill $!
+echo
 echo "Your file: $out"
This page took 0.135615 seconds and 4 git commands to generate.