zqazwsx 发表于 2020-11-29 16:33:34

猫盘LED呼吸灯模式和风扇控制脚本 flyysoft修改版

本帖最后由 zqazwsx 于 2020-11-30 14:21 编辑

https://www.playezu.com/21172.html
https://bbs.nasdiyer.com/forum.php?mod=viewthread&tid=9007
根据这两位大佬的源码修改
添加了一些注释 方便你们修改
想要更好的调教led的可以看我这个帖子

小于等于36度 绿灯呼吸
36-50 蓝灯呼吸
大于50 红灯闪烁

注意 避免多个led脚本同时运行 不然led灯可能会乱闪;P

命令行查看温度方法
blob:https://bbs.nasdiyer.com/bd6f9afe-4354-437e-9b47-0440ebbecb60
smartctl -a /dev/hda -d ata | sed -n '/Temperature_Celsius/p' | awk '{print $10}'


以下是源代码

#!/bin/sh
#Script.sh## 注意:ge就是 GREATER THAN OR EQUAL 大于等于 le 就是 LESS THAN OR EQUAL gt 就是 GREATER THAN大于 lt 就是 LESS THAN小于#Created by zmaster on 2020/11/29.#mkdir -p /tmp/jiobencat > /tmp/jioben/ledfan.sh <<EOF#!/bin/shif [ ! -d /sys/class/gpio/gpio450 ] ; thenecho 450 > /sys/class/gpio/exportfiecho out > /sys/class/gpio/gpio450/directioni2cset -y -f 0 0x45 0x00 0x55i2cset -y -f 0 0x45 0x01 0x01i2cset -y -f 0 0x45 0x30 0x07i2cset -y -f 0 0x45 0x31 0x73i2cset -y -f 0 0x45 0x32 0x73i2cset -y -f 0 0x45 0x33 0x73i2cset -y -f 0 0x45 0x37 0x82    #调节三个灯灯每周期上升沿和最高亮度时间。 想要白色的话,把三个灯时间改为一样的就可以了,比如全部设为0x44i2cset -y -f 0 0x45 0x3a 0x64i2cset -y -f 0 0x45 0x3d 0x64i2cset -y -f 0 0x45 0x38 0x80   #调节三个灯每周期下降沿时间和关机时间。i2cset -y -f 0 0x45 0x3b 0x52i2cset -y -f 0 0x45 0x3e 0x52i2cset -y -f 0 0x45 0x39 0x0i2cset -y -f 0 0x45 0x3c 0x0i2cset -y -f 0 0x45 0x3f 0x0echo 1 > /tmp/jioben/leds.flagwhile truedosata="\$(hdparm -C /dev/sda |grep 'drive'|awk '{print \$4}')"ledss="\$(cat /tmp/jioben/leds.flag)"if [ \$sata = standby ];thensata_temp="1"led="0x03"leds="0"fiif [ \$sata = active/idle ];thensata_temp="\$(smartctl -a /dev/hda -d ata | sed -n '/Temperature_Celsius/p' | awk '{print \$10}')"led="0x73"leds="1"fiif [ \$sata_temp -ge 50 ];then# 温度大于等于50度时if [ -f "/tmp/jioben/led31.flag" ] && [ \$ledss = \$leds ];thensleep 15continuefii2cset -y -f 0 0x45 0x34 255 # 红i2cset -y -f 0 0x45 0x35 0   # 绿i2cset -y -f 0 0x45 0x36 0   # 蓝echo 1 > /sys/class/gpio/gpio450/valuerm -rf /tmp/jioben/led*.flagtouch /tmp/jioben/led31.flagecho \${leds} > /tmp/jioben/leds.flagfiif [ \$sata_temp -gt 36 ] && [ \$sata_temp -lt 50 ];thenif [ -f "/tmp/jioben/led33.flag" ] && [ \$ledss = \$leds ];thensleep 15continuefii2cset -y -f 0 0x45 0x34 0i2cset -y -f 0 0x45 0x35 255i2cset -y -f 0 0x45 0x36 255echo 1 > /sys/class/gpio/gpio450/valuerm -rf /tmp/jioben/led*.flagtouch /tmp/jioben/led33.flagecho \${leds} > /tmp/jioben/leds.flagfiif [ \$sata_temp -le 36 ];thenif [ -f "/tmp/jioben/led32.flag" ] && [ \$ledss = \$leds ];thensleep 15continuefii2cset -y -f 0 0x45 0x34 0i2cset -y -f 0 0x45 0x35 255i2cset -y -f 0 0x45 0x36 0echo 0 > /sys/class/gpio/gpio450/valuerm -rf /tmp/jioben/led*.flagtouch /tmp/jioben/led32.flagecho \${leds} > /tmp/jioben/leds.flagfisleep 15doneEOFbash /tmp/jioben/ledfan.sh


蛋蛋耶夫 发表于 2020-11-29 19:51:23

多谢大神分享

asdwer440453 发表于 2020-11-29 22:50:23

感谢楼主分享

fnenlen 发表于 2020-11-30 20:56:38

感谢楼主分享

524672292 发表于 2020-12-30 13:32:22

大佬,我是小白,请问这直接复制到计划任务中,然后重启就可以了吗?谢谢

524672292 发表于 2021-1-3 19:26:34

大佬,我发现你的脚本只能适用于机械硬盘,我用的固态就没有效果,风也不停,LED也不亮,我实验了一天得出的结果,我是小白,请问是不是有什么办法,比如改下代码来实现固态也可以?

clfk 发表于 2021-1-5 09:41:37

感谢楼主分享!

peaier 发表于 2021-1-5 13:42:22

感谢楼主分享

noway 发表于 2021-3-6 22:21:08

感谢分享
页: [1] 2
查看完整版本: 猫盘LED呼吸灯模式和风扇控制脚本 flyysoft修改版