专栏首页雨落凋殇[shell]树莓派控制散热风扇的开和关

[shell]树莓派控制散热风扇的开和关

前言

  平时在使用树莓派的时候都是接上5V的散热风扇,风扇接上就开始工作,刚开始的时候还不觉得,但是时间长了风扇的声音特别的大。作为强迫症的博主来说,简直难以忍受。于是百度查询了相关帖子,使用树莓派的引脚来控制风扇,然后就有了这篇文章。

硬  件:树莓派B+ 软件环境:WiringPi库 材  料:PNP三极管 * 1 树莓派散5V热风扇 * 1 杜邦线 * 2


安装WiringPi

可以去WiringPi官网(WiringPi官网地址)下载相关源代码编译。先安装所需要的依赖。

#安装所需要的库
sudo apt-get install i2c-tools
sudo apt-get install libi2c-dev

安装WiringPi(我这里使用的是deb包来安装),如果用不了这个包的请使用源代码编译安装

# 下载deb包
wget https://lion.drogon.net/wiringpi-2.50-1.deb
# 安装
sudo dpkg -i wiringpi-2.50-1.deb

查看gpio版本和gpio信息

#查看版本信息
sudo gpio -v
#查看gpio引脚信息
sudo gpio readall

将会得到如下图的结果


连接电路

首先先来看看树莓派的引脚定义

将三极管和风扇连接起来(原理图如下)

我觉得我有必要再贴上一张三极管的引脚图1(发射极)、2(基级)、3(集电极)

连接起来的效果图如下


使用脚本控制风扇

通过命令行控制风扇的旋转,在wiringPi中8号引脚(TXD)的编码为15

#设置引脚为输出模式,执行以后风扇就开始旋转了
sudo gpio mode 15 output
#关闭风扇
sudo gpio write 15 1
#开启风扇
sudo gpio write 15 0

如何获取树莓派cpu温度?

# 将获取到的结果除以1000就是当前cup的温度
cat /sys/class/thermal/thermal_zone0/temp

编写shell脚本

既然可以通过shell控制风扇的开和闭,那么编写一个shell脚本扔到后台,执行脚本代码

#!/bin/bash
sudo gpio mode 15 output
while [[ 1 == 1 ]];do
    cputemp=`sudo cat /sys/class/thermal/thermal_zone0/temp`
    temp=$[ $cputemp/1000 ]
    #温度大于47度开启风扇
    if [[ $temp > 47 ]];then
        sudo gpio write 15 0
    fi
    #温度小于39度关闭风扇
    if [[ $temp < 39 ]];then
        sudo gpio write 15 1
    fi
    sleep 4
done

设置开机自启和后台运行本脚本,打开文件/etc/rc.local 在倒数第二行添加如下代码

su pi -c "exec nohup /home/pi/fan.sh > /home/pi/fan.log &"

转载请注名出处https://rainss.cn/essay/1133.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ArchLinux KDE使用蓝牙音频设备

    刚安装的ArchLinux系统蓝牙服务并没有开机自启,此时需要自己开启蓝牙服务,同时需要安装pulseaudio以后才能使用音频设备,若遇到其他问题请点击文章底...

    雨落凋殇
  • PHP7使用openssl解密易班API中的用户数据

      自从PHP版本更新到了7.1以上以后,mcrypt扩展被废弃,使用mcrypt扩展会出现如下图的报错。只能使用openssl来代替。

    雨落凋殇
  • [更新]manjaro之kde折腾记录

      前段时间我又把Gnome桌面版的manjaro更新崩溃了,自己修复完了以后发现还是有不少小问题。鉴于博主强迫症比较严重无法忍受,于是换了各种桌面版的manj...

    雨落凋殇
  • win7 64位安装mysql-pyth

    ###今天测试个小程序在win7 64位系统下需要安装一下MySQL-python,参考了一下其他博客,发现都不行,最后用以下方法成功了,写一下留作笔记。

    py3study
  • 你会在命令行下高效管理 Github 上的项目吗,用上这个神器后助你秒实现!

    对于大多数使用 Git 作为版本管理的技术人员来说,应该都接触过 GitHub。GitHub 就像技术人员的淘宝一样,里面充满了好东西,时时刻刻都可能给你惊喜!

    iMike
  • Python常用知识点汇总

    python的元组、列表、字典数据类型是很python(there python is a adjective)的数据结构。这些结构都是经过足够优化后的,所以如...

    py3study
  • Linux通用GPIO驱动写法与应用

    在Linux中,可以对GPIO进行相关的控制,具体的做法就是利用字符设备驱动程序对相关的gpio进行控制。由于操作系统的限制,在Linux上又无法直接在应用程序...

    bigmagic
  • 夏日专属:我在西瓜里装了个口袋妖怪!

    不过,如果你去超市买水果的时候,看到一个小哥在西瓜专区站了半个小时愣是没换个姿势,你的表情可能也会和这些路人一样,认为自己怕不是遇到了一个傻子:

    大数据文摘
  • iis8.0配置 使用备忘 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容

    由于对iis的了解度不够,使用中总会碰到这样那样的问题,在这我先开个头,遇到问题再一一更新:

    乔达摩@嘿
  • iESC:迭代等效表面电流近似(CS CE)

    一种新颖的迭代等效表面电流(iESC)算法已被开发出来,用于模拟具有相对光滑表面的大的电介质物体的电磁散射。iESC算法修正了表面电流,以补偿电介质表面的电磁场...

    Rosalie

扫码关注云+社区

领取腾讯云代金券