科技爱好者博客

树莓派存储温度数据并制作交互式图表

Raspberry Pi的芯片系统(SoC)具有温度传感器,可用用命令行测量其温度。它可以提供芯片在运行期间产生多少热量的信息,并且还报告环境温度。该项目的目的是创建一个简单的Python脚本,可以在启动您的Raspberry Pi时自动运行,并以特定间隔从温度传感器进行测量,并将其写入日后可以查看的文件。您还可以以交互式绘制的图形来查看数据。

你会学到什么

通过完成温度项目,您将学习:

你会需要什么

软件

python3-matplotlib

软件安装

要安装所需的软件,请在终端中运行以下命令:

sudo apt-get install python3-matplotlib

温度记录

Raspberry Pi的芯片系统(SoC)具有温度传感器,可用于从命令行测量其温度。它可以提供关于芯片在运行期间产生多少热量的信息,并且还可以报告环境温度。该项目的目的是创建一个简单的脚本,可以在您启动Raspberry Pi时自动运行,并以特定间隔从温度传感器进行测量,并将其写入日后可以查看的文件。

创建一个Python脚本来监视温度

>>> cpu.temperature
 32.552

将数据写入CSV文件

如果温度数据可以存储起来,这将非常有用。CSV(逗号分隔值)文件比较理想,因为它可以被Excel和LibreOffice等应用程序所使用。

 

实时绘制数据

您可以生成一个随着数据的记录CPU温度也更新的CPU温度图。为此,您需要使用matplotlib库。安装说明在这里

  • 首先,导入matplotlib库:
      import matplotlib.pyplot as plt
  • 您的导入后可以接下来三行。他们告诉matplotlib你会做交互式绘图,并创建两个列表,将保存要绘制的数据:
      plt.ion()
      x = []
      y = []
    
  • 下一行都进入你的while True循环,在CSV被写入之前,但temp = get_temp()在行之后。首先,将当前温度添加到y列表的末尾,并将列表的末尾添加到时间x
     y.append(temp)
     x.append(time())
    
  • 接下来,需要清除绘图,然后计算点和线:
     plt.clf()
     plt.scatter(x,y)
     plt.plot(x,y)
    
  • 最后,可以画出线:
      plt.draw()
    
  • 运行你的程序,你应该看到交互式绘制的图形。打开一些程序,如Minecraft或Mathematica,并观察CPU温度的升高。

本文翻译自:https://projects.raspberrypi.org/en/projects/temperature-log

原文:树莓派温度记录

原创文章,转载请注明: 转载自科技爱好者博客

本文链接地址: 树莓派存储温度数据并制作交互式图表 (https://www.tujing.site/2914)

如果博客对您有帮助,请给我 赞助


退出移动版