树莓派非常适合构建智能家居项目,但我们有时会忽略一个细节,直到为时已晚:散热。根据您对设备的要求,处理器可能会变得非常热。如果您不监控温度,系统将执行所谓的“热节流”,降低时钟频率以防止过热。这意味着您的机器运行速度会比正常情况慢。
早期的树莓派性能较弱,因此散热并非问题,但树莓派 5的出现彻底改变了这一现状。如今,我们必须密切关注 SoC 的运行温度,因为它的性能更高,产生的热量也更多。本文将探讨所有测量和控制温度的方法,从最基本的方法到更高级的解决方案。
使用终端进行快速测量

如果您想避免复杂的操作,而只是想知道处理器当前状态,那么终端就是您的最佳选择。有几种方法可以获取此信息。最直接的方法之一是运行命令`vcgencmd measure_temp`,该命令会立即返回以摄氏度为单位的读数。
如果您更喜欢直接读取系统文件,可以使用`cat /sys/class/thermal/thermal_zone0/temp` 命令。需要注意的是,结果以毫度显示,因此您需要将该值除以 1000才能得到实际温度。如果您希望显示每隔几秒自动更新一次,而无需重复输入命令,可以使用命令`watch -n X vcgencmd measure_temp`,将 `X` 替换为您希望的读取间隔秒数。
使用自定义脚本实现自动化

如果你像很多人一样经常忘记冗长的命令,或者不想总是用向上箭头键滚动查看控制台历史记录,那么理想的解决方案是创建一个可执行的 Bash 脚本。这样,你就可以将 CPU 和 GPU 指令封装在一个小型 .sh 文件中。
为此,只需使用像 nano 这样的编辑器,定义变量来存储上述命令的结果,并使用 `echo` 命令格式化它们,使其易于阅读。保存文件后,必须使用 `chmod +x` 命令为其赋予执行权限,这样您就可以从系统上的任何文件夹使用单个命令运行测量。
可视化控制和图形工具

并非所有内容都必须是白底黑字。如果您使用的是 Raspberry Pi OS 桌面环境,可以将温度显示直接集成到顶部任务栏中。只需右键单击面板,选择“添加/移除插件”,然后选择“温度监控”或“CPU 温度”。这样,您就可以在工作的同时快速查看温度状态,而无需中断当前任务。
如果您需要功能更强大、更专业的工具,不妨试试Cockpit。它是一个基于 Web 的管理界面,您可以将其安装在主板上,然后通过本地网络上任何设备的浏览器,经由 9090 端口访问。Cockpit 不仅能实时显示CPU 温度和使用情况,并提供历史图表,还能让您无需编写任何代码即可管理服务、更新软件以及监控内存和存储。
高级监控和云服务

对于那些希望将项目提升到更高层次的用户来说,PiCockpit等工具提供了一个名为 PiStats 的模块,可以通过详细的图表可视化芯片性能和温度。如果您拥有多个开发板并希望从单一位置集中监控,这将是一个非常便捷的解决方案。
还有一些更复杂的实现方案,例如集成OKdo Cloud等物联网平台。在这些方案中,树莓派通过TCP/IP协议将温度数据发送到云端,这些数据可以在用Python编程的远程显示器或移动应用程序上查看,从而实现从世界任何地方进行完整的远程监控。
临界阈值和冷却技巧
什么时候应该开始担心?虽然每个型号的情况略有不同,但对于像 Pi 3+ 这样的型号来说,当温度超过 60°C 时,通常会出现过热降频问题;而对于 Raspberry Pi 4 来说,这个温度上限更高,大约在 80-85°C 左右。您可以使用命令`vcgencmd get_throttled`来检查您的开发板是否出现过性能下降的情况。
如果您发现噪音值过高,有几种方法可以降低热噪音。最简单的方法是在SoC上安装铝制或阳极氧化铝散热片。如果这还不够,主动式风扇是最终解决方案,这在Raspberry Pi 5上尤其必要。其他有效的方法包括将电路板垂直放置以改善空气流通、移除限制散热的塑料外壳,或者使用专为散热而设计的机箱,例如FLIRC铝制机箱。
掌握温度监控至关重要,无论是通过快捷命令、Cockpit 等网页控制面板,还是云集成,都能确保硬件性能稳定可靠。将监控软件与合适的散热措施(例如风扇或散热片)相结合,可以让 Raspberry Pi 轻松应对繁重的工作负载,避免性能下降或意外的运行速度降低。
