亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Raspberry Pi 上的温度监控

概述

Raspberry Pi 是由 Raspberry Pi Foundation 在英国开发的小型单板计算机 (SBC)。它在 ARM 上运行各种版本的 linux,并有一组 I/O 引脚,您可以使用这些引脚连接外部组件,例如传感器、按钮等。遗憾的是,Raspberry Pi 没有内置的模数转换器,因此我们无法使用像 TMP36 这样的模拟温度传感器,它可以很好地与 Arduino 配合使用,替代方案是使用数字温度传感器。

零件

Raspberry Pi
DS18B20 温度传感器
4.8k 欧姆电阻
原型板
Pi Cobbler
半尺寸面包板
跳线包

基本设计

硬件

在基本设计中,我们只需要 Raspberry Pi、DS18B20 温度传感器、4.8k 欧姆电阻器、Pi Cobbler、半尺寸面包板和跳线。为了便于测试和设计,所有东西都将插入面包板。

接线图

这些传感器非常独特,因为它们可以并联连接,并且可以将任意数量的传感器添加到系统中。传感器使用单线串行接口进行通信,如果您在 Raspberry Pi 上使用 Rasbian,它会将传感器识别为连接的串行设备。但是,传感器必须连接到 GPIO 上的引脚 4,因为这是(当前)唯一允许使用单线串行协议进行通信的引脚。

您可以使用 Adafruit 关于将 DS18B20 温度传感器设置到 Raspberry Pi 的指南中的这张图,以便在将所有设备连接在一起时更容易理解。

DS18B20

您可以购买三种形式的 DS18B20,一个是普通的晶体管外观型组件,一个是防水版,附有长电缆,另一个是耐高温版。

所有三个 DS18B20 都包括特殊的 1 线串行接口以及控制逻辑和温度传感器本身。它将数字测量值输出到 Raspberry Pi,并且根据您的发行版,最新版本的 Raspbian 包括一种无需额外工作即可读取这些消息的方法。如果您已将所有内容连接在一起,则可以使用以下命令通过命令行对其进行测试。

123456sudo modprobe w1–gpiosudo modprobe w1–thermcd /sys/bus/w1/deviceslscd 28–xxxx(更改它以匹配您的)cat w1_slave

在终端窗口中键入您在上面看到的命令。导航到“/sys/bus/s1/devices”目录,在“cd”命令上方的命令中,它设置为以“28-”开头的目录编号,所以 cd 到任何目录的名称。

响应将在第一行末尾显示 YES 或 NO。如果是,则温度将位于第二行的末尾,单位为 1/000 摄氏度。

软件

电路组装好后,我们现在需要编写程序来从传感器读取温度数据,在基本设计中,程序将每秒读取数据并将读数显示到终端的标准输出中。

我们将用于从 DS18B20 温度传感器读取数据的软件语言是 Python。将此添加到文件中并另存为“temp_logger_basic.py”

12345678910111213141516171819202122223242526272829303132import osimport globimport timeos.system('modprobe w1-gpio')os.system('modprobe w1-therm/dir/'* glober_dir/'glober2')/globerbase_device )[0]device_file =device_folder + '/w1_slave'def read_temp_raw():f =open(device_file, 'r') lines =f.readlines() f.close() return linesdef read_temp():lines =read_temp_raw() while lines[0].strip()[–3:] !='YES':time.sleep(0.2) lines =read_temp_raw() equals_pos =lines[1].find('t=') if equals_pos !=– 1:temp_string =行[1] [equals_pos + 2:] temp_c =浮子(temp_string)/ 1000.0 temp_f =temp_c * 9.0 / 5.0 + 32.0返回temp_c,temp_fwhile真:打印(read_temp())time.sleep(1)

在程序的顶部,我们包含将在脚本中使用的模块,然后继续发出启动界面所需的“modprobe”命令。接下来的三行,找到可以读取数据的文件。

有两个函数可以处理温度的读取,‘read_temp_raw’从接口中获取两行消息。 ‘read_temp’函数每秒返回两个值,摄氏温度和华氏温度。

这是脚本的输出。

123456789sculley@berry:/usr/local/temperature/$ sudo python ./temp_logger_basic.py(18.875, 65.975)(18.875, 65.975)(18.875, 65.975)(18.875.859(18.875.859)(759)(875)(18.875, 65.975) 18.875, 65.975)(18.875, 65.975)

该脚本需要以root身份运行,并且您需要使用python来调用脚本,因为我们没有在脚本顶部添加Python shebang。

就是这样,您应该已经成功连接了基本设计并编写了基本脚本来读取来自 DS18B20 温度传感器的温度数据。现在我们可以进行更高级的设计了。

高级设计

在高级设计中,我将向您展示我的温度记录器设计,我将组件焊接到 PCB 屏蔽上,该屏蔽插入 Raspberry Pi 并存储在一个小黑盒子内以隐藏所有内容,代码每小时运行一次并存储数据到 MySQL 数据库,我用它在 Google Chart 中显示数据,这样更容易可视化。

硬件

对于高级设计,除了 Pi Cobbler(Raspberry Pi、DS18B20 温度传感器、4.8k 欧姆电阻、半尺寸面包板和跳线)之外,我们需要与基本零件相同的零件,但我们还需要一块 PCB,我买了 Raspberry Pi Adafruit 的原型屏蔽罩,非常适合制作半永久性设计。

欲了解更多详情:Raspberry Pi 上的温度监控


制造工艺

  1. Raspberry Pi 温度记录器
  2. 使用 LabVIEW 的树莓派温度曲线
  3. Raspberry Pi 温湿度网络监视器
  4. 使用 DS18B20 读取温度 |树莓派 2
  5. 使用 RASPBERRY PI 测量温度
  6. Python 和 Raspberry Pi 温度传感器
  7. Raspberry Pi 上的简易温度和湿度
  8. 使用 Raspberry Pi 监测温度
  9. DIY:HomeBrew 的温度监控和调节
  10. Raspberry Pi 读取 BMP085 温度和压力
  11. 使用树莓派远程监测天气
  12. 树莓派的 DHT Tiny Breakout