找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 11796|回复: 27

写个小程序,让私家云等自己温控风扇、改变前面板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 收起 理由
SkyT*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

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

使用道具 举报

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

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

本帖子中包含更多资源

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

×
回复 支持 反对

使用道具 举报

 楼主| 发表于 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
回复 支持 反对

使用道具 举报

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

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

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

他给我推荐了私家云玩家的一个QQ群,
在里面有很多的固件和一些电路资料,
从中获益匪浅。
回复 支持 反对

使用道具 举报

发表于 2021-6-5 15:57 | 显示全部楼层
私家云有armbian的线刷包了吗
回复 支持 反对

使用道具 举报

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

有的,,,第三方的安卓固件,
可以短接后线刷。
回复 支持 反对

使用道具 举报

 楼主| 发表于 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盘优先启动。

以上,
仅供参考。
回复 支持 反对

使用道具 举报

发表于 2021-6-11 12:27 | 显示全部楼层
受教了~!!
回复 支持 反对

使用道具 举报

发表于 2021-6-13 10:12 | 显示全部楼层
自己写脚本,楼主厉害,技术流。
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

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

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

所以还是需要找到相应的电路资料,
或者dtb的原始文件之类的,
看明确了才行。
回复 支持 反对

使用道具 举报

发表于 2021-6-15 14:46 | 显示全部楼层
我也是我家云 可惜了
回复 支持 反对

使用道具 举报

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

谢谢回复
回复 支持 反对

使用道具 举报

发表于 2021-6-22 12:05 | 显示全部楼层
#在这里快速回复#支持折腾
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-5-29 16:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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