Swap scripts, update manual_clean_bash/README.md, add manual_wiringOP (example-script, README.md)

Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
This commit is contained in:
2022-09-10 15:08:24 +07:00
parent 83e1d4f785
commit c2a65be956
4 changed files with 47 additions and 21 deletions

View File

@@ -2,7 +2,8 @@
# Physical | V | Mode | Name | wPi | GPIO # Physical | V | Mode | Name | wPi | GPIO
# 8 | 0 | OUT | TXD.3 | 3 | 13 # 8 | 0 | OUT | TXD.3 | 3 | 13
readonly FAN_PIN=3 readonly FAN_PIN=13
readonly FAN_PATH=/sys/class/gpio/gpio${FAN_PIN}
readonly FAN_START=44000 readonly FAN_START=44000
readonly FAN_STOP=35000 readonly FAN_STOP=35000
readonly SLEEP_TIME=10 readonly SLEEP_TIME=10
@@ -10,20 +11,21 @@ FAN_STATE=0
setup() setup()
{ {
gpio export $FAN_PIN out echo $FAN_PIN > /sys/class/gpio/export
gpio write $FAN_PIN 0 echo "out" > $FAN_PATH/direction
echo 0 > $FAN_PATH/value
} }
cleanup() cleanup()
{ {
gpio write $FAN_PIN 0 echo 0 > $FAN_PATH/value
gpio unexport $FAN_PIN echo $FAN_PIN > /sys/class/gpio/unexport
rm /var/run/coolfan.pid rm /var/run/coolfan.pid
exit 0 exit 0
} }
setFanState() setFanState()
{ {
if [ $(gpio read $FAN_PIN) != $1 ] ; then if [ $(cat $FAN_PATH/value) != $1 ] ; then
gpio write $FAN_PIN $1 echo $1 > $FAN_PATH/value
fi fi
} }
@@ -31,7 +33,7 @@ setup
trap cleanup 15 trap cleanup 15
echo $$ > /var/run/coolfan.pid echo $$ > /var/run/coolfan.pid
while :; do while : ; do
TEMP=$(cat /sys/class/thermal/thermal_zone0/temp) TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
if [ "$TEMP" -ge "$FAN_START" ] && [ $FAN_STATE != 1 ] ; then if [ "$TEMP" -ge "$FAN_START" ] && [ $FAN_STATE != 1 ] ; then

View File

@@ -32,6 +32,3 @@ cat /sys/class/gpio/gpio<номер порта>/value
echo 0 > /sys/class/gpio/gpio<номер порта>/value echo 0 > /sys/class/gpio/gpio<номер порта>/value
echo 1 > /sys/class/gpio/gpio<номер порта>/value echo 1 > /sys/class/gpio/gpio<номер порта>/value
``` ```
---
В моем случае, скрипт не активировал GPIO-порт, поэтому была использована wiringOP

27
manual_wiringOP/README.md Normal file
View File

@@ -0,0 +1,27 @@
## Небольшой мануал по командам wiringOP
---
Включение GPIO-порта:
```
gpio export <номер порта> <in/out>
```
---
Отключение GPIO-порта:
```
gpio unexport <номер порта>
```
---
Смена направления GPIO-порта (in - вход, out - выход):
```
gpio mode <номер порта> <in/out>
```
---
Получение значения GPIO-порта low(0)/high(1):
```
gpio read <номер порта>
```
---
Смена значений GPIO-порта (low/high):
Для смены значения порта нужно поменять его direction на out
```
gpio write <номер порта> <0/1>
```

View File

@@ -1,7 +1,8 @@
#!/bin/sh #!/bin/sh
readonly FAN_PIN=13 # Physical | V | Mode | Name | wPi | GPIO
readonly FAN_PATH=/sys/class/gpio/gpio${FAN_PIN} # 8 | 0 | OUT | TXD.3 | 3 | 13
readonly FAN_PIN=3
readonly FAN_START=44000 readonly FAN_START=44000
readonly FAN_STOP=35000 readonly FAN_STOP=35000
readonly SLEEP_TIME=10 readonly SLEEP_TIME=10
@@ -9,21 +10,20 @@ FAN_STATE=0
setup() setup()
{ {
echo $FAN_PIN > /sys/class/gpio/export gpio export $FAN_PIN out
echo "out" > $FAN_PATH/direction gpio write $FAN_PIN 0
echo 0 > $FAN_PATH/value
} }
cleanup() cleanup()
{ {
echo 0 > $FAN_PATH/value gpio write $FAN_PIN 0
echo $FAN_PIN > /sys/class/gpio/unexport gpio unexport $FAN_PIN
rm /var/run/coolfan.pid rm /var/run/coolfan.pid
exit 0 exit 0
} }
setFanState() setFanState()
{ {
if [ $(cat $FAN_PATH/value) != $1 ] ; then if [ $(gpio read $FAN_PIN) != $1 ] ; then
echo $1 > $FAN_PATH/value gpio write $FAN_PIN $1
fi fi
} }
@@ -31,7 +31,7 @@ setup
trap cleanup 15 trap cleanup 15
echo $$ > /var/run/coolfan.pid echo $$ > /var/run/coolfan.pid
while : ; do while :; do
TEMP=$(cat /sys/class/thermal/thermal_zone0/temp) TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
if [ "$TEMP" -ge "$FAN_START" ] && [ $FAN_STATE != 1 ] ; then if [ "$TEMP" -ge "$FAN_START" ] && [ $FAN_STATE != 1 ] ; then