找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 11315|回复: 26

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

[复制链接]
发表于 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 收起 理由
SkyTiger + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-6-2 11:45 | 显示全部楼层
楼主厉害,这个都能搞,支持楼主
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-2 12:39 | 显示全部楼层
昨天又仔细看了看前面板几个GPIO接口的连接,
发现稍有错漏,实在抱歉,特订正如下图:

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 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.
回复

使用道具 举报

 楼主| 发表于 2021-6-2 12:49 | 显示全部楼层
SkyTiger 发表于 2021-6-2 11:45
楼主厉害,这个都能搞,支持楼主

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

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

他给我推荐了私家云玩家的一个QQ群,
在里面有很多的固件和一些电路资料,
从中获益匪浅。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-5 15:57 | 显示全部楼层
私家云有armbian的线刷包了吗
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-5 21:15 | 显示全部楼层
229706146 发表于 2021-6-5 15:57
私家云有armbian的线刷包了吗

有的,,,第三方的安卓固件,
可以短接后线刷。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 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.
回复

使用道具 举报

发表于 2021-6-11 12:27 | 显示全部楼层
受教了~!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-13 10:12 | 显示全部楼层
自己写脚本,楼主厉害,技术流。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-14 11:15 | 显示全部楼层
楼主辛苦了,请教一下我家云可以用吗,具体使用方法,不好意思小白一枚。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-6-14 13:32 | 显示全部楼层
Mishen 发表于 2021-6-14 11:15
楼主辛苦了,请教一下我家云可以用吗,具体使用方法,不好意思小白一枚。

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

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

所以还是需要找到相应的电路资料,
或者dtb的原始文件之类的,
看明确了才行。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-15 14:46 | 显示全部楼层
我也是我家云 可惜了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-20 09:51 | 显示全部楼层
gaze 发表于 2021-6-14 13:32
抱歉我手上没有我家云/粒子云的详细资料,
无法确定它的LED和风扇的GPIO端口是多少。
不过理论上是一样 ...

谢谢回复
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-6-22 12:05 | 显示全部楼层
#在这里快速回复#支持折腾
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 22:06

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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