mirror of
https://github.com/JDM170/orangepi_coolfan
synced 2025-12-10 05:57:21 +07:00
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:
@@ -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
|
||||||
|
|||||||
@@ -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
27
manual_wiringOP/README.md
Normal 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>
|
||||||
|
```
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user