Files
orangepi_coolfan/clean_bash/coolfan-control
2022-09-05 16:15:14 +07:00

44 lines
773 B
Bash

#!/bin/sh
# Physical | V | Mode | Name | wPi | GPIO
# 8 | 0 | OUT | TXD.3 | 3 | 13
readonly FAN_PIN="13"
readonly FAN_PATH=/sys/class/gpio/gpio${FAN_PIN}
readonly MSG_ON="Fan ON!"
readonly MSG_OFF="Fan OFF!"
old_state=$(cat $FAN_PATH/value)
setup()
{
echo $FAN_PIN > /sys/class/gpio/export
echo "out" > $FAN_PATH/direction
echo 0 > $FAN_PATH/value
}
cleanup()
{
echo 0 > $FAN_PATH/value
echo $FAN_PIN > /sys/class/gpio/unexport
}
on()
{
echo 1 > $FAN_PATH/value
}
off()
{
echo 0 > $FAN_PATH/value
}
case $1 in
on|off ) "$1";;
esac
cur_state=$(cat $FAN_PATH/value)
if [ "$old_state" != "$cur_state" ] && [ -z "$2" ]; then
if [ "$cur_state" = 0 ]; then
echo $MSG_OFF
else
echo $MSG_ON
fi
fi