本帖最后由 dbh 于 2019-7-15 19:17 编辑
一,指示灯
指示灯的gpip为85。通过如下指令使指示灯变蓝: echo 85 > /sys/class/gpio/export echo “high” > /sys/class/gpio/gpio85/direction echo 85 > /sys/class/gpio/unexport
通过如下指令使指示灯变红: echo 85 > /sys/class/gpio/export echo “low” > /sys/class/gpio/gpio85/direction echo 85 > /sys/class/gpio/unexport
二、风扇
风扇的gpio为70,通过如下命令启动: echo 70 > /sys/class/gpio/export echo “high” > /sys/class/gpio/gpio70/direction echo 70 > /sys/class/gpio/unexport
通过如下命令关闭: echo 70 > /sys/class/gpio/export echo “low” > /sys/class/gpio/gpio70/direction echo 70 > /sys/class/gpio/unexport
我写了个脚本(/usr/local/bin/fans),根据cpu温度自动启停风扇,用法如下: /usr/local/bin/fans 开启温度 停止温度 温度单位是1/1000度,如高于70度开启,低于60度停止,则可以这样执行命令 /usr/local/bin/fans 70000 60000 如果不加参数,则默认为高于70度开启,低于65度停止。
三、硬盘休眠 通过如下命令设置为5分钟不用则硬盘休眠 /sbin/hdparm–S60 /dev/sda
四、自动执行 将以下2行命令添加到/etc/rc.local文件,以便每次重启后自动执行: /sbin/hdparm–S60 /dev/sda /usr/local/bin/fans&
五、说明 1,以上均在Armbian_5.75和联想ss2中测试通过; 2,我家云L1pro不支持指示灯灯光控制; 3,如果升级 Armbian,则要首先执行如下命令,将内核版本固定,否则风扇不能控制: apt-mark hold linux-dtb-rockchip64 apt-mark hold linux-image-rockchip64 如果已经升级,将通过如下命令将内核降级: apt-get install linux-dtb-rockchip64=5.75 linux-image-rockchip64=5.75
4,也许我的机器是个案,有时不能启动;有时开机时风扇不转,则上面的脚本无效,此时只能多次启动才行,因为对硬件不了解,不明原因。
5,fans脚本首先启动/停止风扇3次,作为指示之用。
六、下一步建议 1,建议研究手动编译内核,使得开机时不出现随机因素; 2,建议研究dts设置,通过pwm进行风扇调速,降低噪音;
3,建议研究找出前面板的开机按键的gpio端口,可以自如控制机器。 附fans脚本,请将其放到/usr/local/bin下面,并置为可执行:
#!/bin/bash if [ -n "$1" ]; then
max=$1
else
max=70000
fi if [ -n "$2" ]; then
min=$2
else
min=65000
fi echo $max, $min
echo 70 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio70/direction i=0
for j in 1 2 3 4 5 6
do
echo $i > /sys/class/gpio/gpio70/value
i=$(( 1 - $i ))
sleep 2
done while true
do
t=`/bin/cat /sys/class/thermal/thermal_zone0/temp`
if [ $t -gt $max ]; then
echo 1 > /sys/class/gpio/gpio70/value
echo "$t > $max"
fi
if [ $t -lt $min ]; then
echo 0 > /sys/class/gpio/gpio70/value
echo "$t < $min"
fi
sleep 10
done echo 70 > /sys/class/gpio/unexport
|