恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4126|回复: 12
打印 上一主题 下一主题

写个小程序,让私家云等自己温控风扇、改变前面板LED颜色

  [复制链接]
跳转到指定楼层
1#
发表于 2021-6-1 15:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
【仅以私家云为例,其他有风扇的盒子同理,只是GPIO参数不同而已】

【1】建立一个 温控程序,例如 /123/temp_ctrl.sh
以及下面的两个开、关风扇程序 都放在 /123 目录下,
并设置所有sh程序为755权限 chmod 755 *.sh

其中 temp_warn=57 为设定的cpu监控温度,
一般夏天大约在这个上下吧,自己根据实际情况设定。
/etc/update-motd.d/30-armbian-sysinfo 是armbian系统里的一个小程序,
能输出cpu温度,用awk提取出来就可以用了

#!/bin/sh -e
temp_cpu=$(/etc/update-motd.d/30-armbian-sysinfo | grep temp | awk '{print substr($4,1,2)}' )
temp_warn=57
if [ $temp_cpu -lt $temp_warn ]; then
        /123/fan_off.sh
else
        /123/fan_on.sh
fi

【2】创建两个sh,一个开风扇并设置LED为黄色,另一个关风扇并设置LED为绿色
都放在 /123 目录下,并设置所有sh程序为755权限 chmod 755 *.sh


   开风扇程序 fan_on.sh

#!/bin/sh -e
#fan's gpio is 504 in armbian
if [ ! -e  /sys/class/gpio/gpio504/direction ]; then
     echo 504 > /sys/class/gpio/export
fi
echo high > /sys/class/gpio/gpio504/direction

# setLED G off
if [ ! -e  /sys/class/gpio/gpio476/direction ]; then
     echo 476 > /sys/class/gpio/export
fi
echo high > /sys/class/gpio/gpio476/direction

# setLED Y on
if [ ! -e  /sys/class/gpio/gpio474/direction ]; then
     echo 474 > /sys/class/gpio/export
fi
echo low > /sys/class/gpio/gpio474/direction

  另一个程序关风扇:fan_off.sh

#!/bin/sh -e
#fan's gpio is 504 in armbian
if [ ! -e  /sys/class/gpio/gpio504/direction ]; then
     echo 504 > /sys/class/gpio/export
fi
echo low > /sys/class/gpio/gpio504/direction

# setp LED  W on
if [ ! -e  /sys/class/gpio/gpio477/direction ]; then
     echo 477 > /sys/class/gpio/export
fi
echo high > /sys/class/gpio/gpio477/direction

# setLED G on
if [ ! -e  /sys/class/gpio/gpio476/direction ]; then
     echo 476 > /sys/class/gpio/export
fi
echo low > /sys/class/gpio/gpio476/direction


【3】运行 crontab -e 写入定时,每分钟执行一下温控脚本
* * * * *  /123/temp_ctrl.sh

完工,让机器自己去启停风扇吧,你看看面板的LED灯就行了。








评分

参与人数 1恩山币 +1 收起 理由
SkyT*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
2#
发表于 2021-6-2 11:45 | 只看该作者
楼主厉害,这个都能搞,支持楼主
我的恩山、我的无线 The best wifi forum is right here.
3#
 楼主| 发表于 2021-6-2 12:39 | 只看该作者
昨天又仔细看了看前面板几个GPIO接口的连接,
发现稍有错漏,实在抱歉,特订正如下图:

请各位自己按表里的情况,
自己选择平时,以及过热风扇开启时候的不同颜色。

私家云前面板LED颜色表.jpg (22.97 KB, 下载次数: 0)

前面板LED颜色表

前面板LED颜色表
我的恩山、我的无线 The best wifi forum is right here.
4#
 楼主| 发表于 2021-6-2 12:44 | 只看该作者
把fan_on 和 fan_off 程序稍微修改如下,
三个灯的组合放在了一起,这样看得更为清楚一些:

程序 :fan_on.sh   
面板灯粉色


#!/bin/sh -e

###-------fan's gpio is 504 ------###
if [ ! -e  /sys/class/gpio/gpio504/direction ]; then
     echo 504 > /sys/class/gpio/export
fi
echo high > /sys/class/gpio/gpio504/direction

###--------font-LED-------###
# open474-BLUE
if [ ! -e  /sys/class/gpio/gpio474/direction ]; then
     echo 474 > /sys/class/gpio/export
fi
#  open476-RED
if [ ! -e  /sys/class/gpio/gpio476/direction ]; then
     echo 476 > /sys/class/gpio/export
fi
#  open477-GREEN
if [ ! -e  /sys/class/gpio/gpio477/direction ]; then
     echo 477 > /sys/class/gpio/export
fi

echo high > /sys/class/gpio/gpio474/direction
echo high > /sys/class/gpio/gpio476/direction
echo low > /sys/class/gpio/gpio477/direction

====================
程序:fan_off.sh
面板灯绿色


#!/bin/sh -e

###-------fan's gpio is 504 ------###
if [ ! -e  /sys/class/gpio/gpio504/direction ]; then
     echo 504 > /sys/class/gpio/export
fi
echo low > /sys/class/gpio/gpio504/direction

###--------font-LED-------###
# open474-BLUE
if [ ! -e  /sys/class/gpio/gpio474/direction ]; then
     echo 474 > /sys/class/gpio/export
fi
#  open476-RED
if [ ! -e  /sys/class/gpio/gpio476/direction ]; then
     echo 476 > /sys/class/gpio/export
fi
#  open477-GREEN
if [ ! -e  /sys/class/gpio/gpio477/direction ]; then
     echo 477 > /sys/class/gpio/export
fi

echo low > /sys/class/gpio/gpio474/direction
echo low > /sys/class/gpio/gpio476/direction
echo high > /sys/class/gpio/gpio477/direction
我的恩山、我的无线 The best wifi forum is right here.
5#
 楼主| 发表于 2021-6-2 12:49 | 只看该作者
SkyTiger 发表于 2021-6-2 11:45
楼主厉害,这个都能搞,支持楼主

见笑了,我这就是瞎折腾玩玩。

还是要感谢一位坛友:  @Zhang-ss

他给我推荐了私家云玩家的一个QQ群,
在里面有很多的固件和一些电路资料,
从中获益匪浅。
我的恩山、我的无线 The best wifi forum is right here.
6#
发表于 2021-6-5 15:57 | 只看该作者
私家云有armbian的线刷包了吗
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
7#
 楼主| 发表于 2021-6-5 21:15 | 只看该作者
229706146 发表于 2021-6-5 15:57
私家云有armbian的线刷包了吗

有的,,,第三方的安卓固件,
可以短接后线刷。
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
8#
 楼主| 发表于 2021-6-6 16:29 | 只看该作者
229706146 发表于 2021-6-5 15:57
私家云有armbian的线刷包了吗

不好意思没看清楚…
您说的是直接线刷armbian?
这个没有见到过。

直接用USB烧写的是安卓包(主要是用它的uboot和从U盘启动)

armbian的分两种,
一种是基于原先emmc里的安卓的uboorlt
然后刻录img到U盘里用U盘启动后,
再用sh脚本写入emmc的。
这样的可以优先U盘启动…

另一种是官网上的kvim主板的armbian,
需要刻录U盘,
在安卓下启动U盘的armbian系统,
再把img映像本身直接DD到emmc里的。
这个armbian比较新,
但是它的uboot略有小问题,
如果emmc能启动系统,
就不会从U盘优先启动。

以上,
仅供参考。
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
9#
发表于 2021-6-11 12:27 | 只看该作者
受教了~!!
我的恩山、我的无线 The best wifi forum is right here.
10#
发表于 2021-6-13 10:12 | 只看该作者
自己写脚本,楼主厉害,技术流。
我的恩山、我的无线 The best wifi forum is right here.
11#
发表于 2021-6-14 11:15 | 只看该作者
楼主辛苦了,请教一下我家云可以用吗,具体使用方法,不好意思小白一枚。
我的恩山、我的无线 The best wifi forum is right here.
12#
 楼主| 发表于 2021-6-14 13:32 | 只看该作者
Mishen 发表于 2021-6-14 11:15
楼主辛苦了,请教一下我家云可以用吗,具体使用方法,不好意思小白一枚。

抱歉我手上没有我家云/粒子云的详细资料,
无法确定它的LED和风扇的GPIO端口是多少。
不过理论上是一样的,可以这样用。

它们的前面板LED是双色的,应该也是占用了两个GPIO端口,
风扇能够启停,估计也是GPIO的电平控制的。

所以还是需要找到相应的电路资料,
或者dtb的原始文件之类的,
看明确了才行。
我的恩山、我的无线 The best wifi forum is right here.
13#
发表于 2021-6-15 14:46 | 只看该作者
我也是我家云 可惜了
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2021-6-19 23:22

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表