Files
Zabbix-DHT/readSensor.sh

38 lines
823 B
Bash
Raw Normal View History

#!/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"