diff --git a/readSensor.sh b/readSensor.sh new file mode 100755 index 0000000..3a69693 --- /dev/null +++ b/readSensor.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +GPIOPIN=4 +MINTEMP=-30 +MAXTEMP=40 +CMD="${PWD}/external/Adafruit_Python_DHT/examples/AdafruitDHT.py" +OUTFILE="${PWD}/output" + +touch "$OUTFILE" +CNT=0 + +function read_sensor () { + OUTPUT=`$CMD 22 $GPIOPIN` + T=`echo "$OUTPUT" | awk -F[=*%] '{print $2}'` + H=`echo "$OUTPUT" | awk -F[=*%] '{print $4}'` + CNT=$(($CNT+1)) + echo "$CNT" +} +function check_output () { + if [[ $OUTPUT =~ Fail ]] || [[ ! $OUTPUT =~ Temp ]] || [[ ! $OUTPUT =~ Humidity ]] || [ ${T%.*} -lt $MINTEMP ] || [ ${T%.*} -gt $MAXTEMP ]; then + if [ $CNT -le 3 ]; then + sleep 5 + read_sensor + check_output + else + echo "Error" > "$OUTFILE" + exit 0 + fi + fi +} + +read_sensor +check_output + +echo `date +%s` > "$OUTFILE" +echo "${T}" >> "$OUTFILE" +echo "${H}" >> "$OUTFILE"