夏日炎炎,是不是该给树莓派降降温了?

关于降温,在温控开关的加持下,我有2套方案:
- 1, 风扇降温:优点操作简单;缺点噪音大,运转占比时间长
 - 2, 水冷降温:优点能狠狠地把温度压到某个范围(我用的是这个);缺点:需要自己动手组装,要点成本
 
温馨提示
如果你想给树莓派组装一套水冷系统,可以点击页面最底部的email私密我。
如果你通过pin脚来控制风扇的话,那么获取树莓派温度是个绕不开的问题
原理很简单,CPU会时时把温度写入/sys/class/thermal/thermal_zone0/temp这个文件中,我们要做的就是读取并解析
$ cat /sys/class/thermal/thermal_zone0/temp                    
41868
下面就是示例:
package main
import (
    "fmt"
    "io/ioutil"
    "os"
    "strconv"
    "strings"
    "time"
)
func main() {
    for {
        time.Sleep(time.Second)
        fmt.Printf("%s: CPU 温度 %.2f\n", time.Now().Format("2006-01-02 15:03:04"), GetTemperatureFromPi())
    }
}
func isExist(file string) bool {
    _, err := os.Stat(file)
    if err != nil {
        return false
    }
    return true
}
//get temperature of raspberry pi
func GetTemperatureFromPi() float64 {
    var result float64
    var file = "/sys/class/thermal/thermal_zone0/temp"
    if isExist(file) {
        bs, err := ioutil.ReadFile(file)
        if err != nil {
            return 0
        }
        data := strings.TrimSpace(string(bs))
        result, _ = strconv.ParseFloat(data, 64)
        result, _ = strconv.ParseFloat(fmt.Sprintf("%.2f", result/1000), 64)
    }
    return result
}
