Aggiunto implementazione driver rainsensorqty railizzato da @androtto
This commit is contained in:
@@ -4,14 +4,13 @@
|
||||
# $1 identificativo gpio del sensore di pioggia
|
||||
#
|
||||
function drv_rainsensorqty_rain_sensor_init {
|
||||
|
||||
echo "drv_rainsensorqty_rain_sensor_init $1" >> "$LOG_OUTPUT_DRV_FILE"
|
||||
drv_rainsensorqty_writelog "drv_rainsensorqty_rain_sensor_init" $1
|
||||
|
||||
local drvt="$( echo $RAIN_GPIO | $CUT -f 1 -d: )"
|
||||
local drv="$( echo $RAIN_GPIO | $CUT -f 2 -d: )"
|
||||
local gpio="$( echo $RAIN_GPIO | $CUT -f 3 -d: )"
|
||||
local gpio_port="$( echo $RAIN_GPIO | $CUT -f 3 -d: )"
|
||||
|
||||
$GPIO -g mode $gpio in
|
||||
$GPIO -g mode $gpio_port in
|
||||
|
||||
}
|
||||
|
||||
@@ -21,34 +20,34 @@ function drv_rainsensorqty_rain_sensor_init {
|
||||
# $1 identificativo gpio del sensore di pioggia
|
||||
#
|
||||
function drv_rainsensorqty_rain_sensor_get {
|
||||
local now=$(date +%s)
|
||||
local interval=100 # 100 secondi > 1 minuto frequenza di verifica da parte di, come da seguente schedulazione
|
||||
#* * * * * /home/pi/piGarden/piGarden.sh check_rain_sensor 2> /tmp/check_rain_sensor.err
|
||||
local f="drv_rainsensorqty_check"
|
||||
drv_rainsensorqty_writelog $f $1
|
||||
|
||||
echo "drv_rainsensorqty_rain_sensor_get $1" >> "$LOG_OUTPUT_DRV_FILE"
|
||||
# verifica se lo script di monitorin e' attivo
|
||||
if drv_rainsensorqty_check ; then
|
||||
drv_rainsensorqty_writelog $f "NORMAL - drv_rainsensorqty_check ok, monitor process running"
|
||||
if [ -f "$RAINSENSORQTY_LASTRAIN" ] ; then
|
||||
local lastrain="$( < "$RAINSENSORQTY_LASTRAIN" )"
|
||||
(( diff = now - lastrain ))
|
||||
drv_rainsensorqty_writelog $f "NORMAL: last rain $( date --date="@$lastrain" ) "
|
||||
drv_rainsensorqty_writelog $f "NORMAL: check rain $( date --date="@$now" ) "
|
||||
if (( diff <= interval )) ; then
|
||||
drv_rainsensorqty_writelog $f "RAIN : check rain - diff $diff < $interval - return $RAIN_GPIO_STATE"
|
||||
return $RAIN_GPIO_STATE
|
||||
else
|
||||
drv_rainsensorqty_writelog $f "NO_RAIN : check rain - diff $diff < $interval - return 99"
|
||||
return 99
|
||||
fi
|
||||
|
||||
if [ drv_rainsensorqty_check ]; then
|
||||
# Cosa deve fare ????
|
||||
# gli facciamo rieseguire drv_rainsensorqty_init in modo che riavvii il monitor ???
|
||||
fi
|
||||
else
|
||||
drv_rainsensorqty_writelog $f "ERROR - drv_rainsensorqty_check failed, no monitor process running"
|
||||
exit 1
|
||||
|
||||
fi
|
||||
|
||||
|
||||
local state_rain=""
|
||||
|
||||
# INSERISCI QUI DENTRO I CONTROLLI SUL FILE $STATUS_DIR/rainsensorqty_lastrain
|
||||
# SE SI VERIFICANO LE CONDIZIONI PER CUI SI DEVE INTERROMPERE L'IRRIGAZIONE
|
||||
# DEVI IMPOSTARE last_rain CON IL VALORE $RAIN_GPIO_STATE
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
echo $state_rain
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user