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

树莓派专业温度监测:基于 DS18B20 传感器的完整指南

概述

树莓派是由英国树莓派基金会开发的紧凑型单板计算机(SBC)。它运行多种基于 ARM 架构的 Linux 发行版,并提供一组 GPIO 引脚,可连接各种外部组件,如传感器和执行器。由于树莓派缺乏板载模数转换器(ADC),像 TMP36 这样的模拟温度传感器无法直接使用。因此,采用数字温度传感器 DS18B20 是实现精准、基于串行总线温度测量的推荐方案。

所需硬件

基础设计

硬件连接

核心连接包括树莓派、DS18B20、4.7 kΩ 上拉电阻、Pi-Cobbler(或直接面包板接线)和跳线。所有元件插入面包板,便于快速原型验证和调试。

接线图解

DS18B20 采用单总线串行接口,允许多个传感器共享同一数据线。在树莓派的 Raspbian(或衍生版)系统中,加载相应内核模块后,传感器将作为串行设备出现。传感器必须连接到 GPIO 4(BCM 编号),这是唯一支持 1-Wire 协议的引脚。可参考 Adafruit 的 DS18B20 设置指南 获取可视化接线参考。

选择 DS18B20 型号

DS18B20 有三种常见封装:

所有型号均内置 1-Wire 接口和温度转换逻辑,直接向树莓派输出数字读数。现代 Raspbian 镜像已包含所需驱动,可通过文件系统直接访问。

命令行验证

接线完成后,通过终端验证传感器:

sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
ls
cd 28-xxxxxxxxxxxx  # 替换为你的传感器序列号
cat w1_slave

输出中将包含以 YES 结尾的校验行,下一行给出千分之一度为单位的摄氏温度值。

软件:基础记录器

以下 Python 脚本每秒读取一次温度并打印到标准输出。保存为 temp_logger_basic.py,以 root 权限运行。

#!/usr/bin/env python3
import os
import glob
import time

# 确保加载 1-Wire 模块
os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')

BASE_DIR = '/sys/bus/w1/devices/'
DEVICE_FOLDER = glob.glob(BASE_DIR + '28*')[0]
DEVICE_FILE = f'{DEVICE_FOLDER}/w1_slave'

def read_temp_raw():
    with open(DEVICE_FILE, 'r') as f:
        return f.readlines()

def 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 = lines[1][equals_pos+2:]
        temp_c = float(temp_string) / 1000.0
        temp_f = temp_c * 9.0 / 5.0 + 32.0
        return temp_c, temp_f

while True:
    print(read_temp())
    time.sleep(1)

运行脚本将输出类似:

(18.875, 65.975)
(18.875, 65.975)
(18.875, 65.975)
…

因传感器文件位于受保护的系统目录,必须使用 sudo python3 temp_logger_basic.py 执行。

进阶设计

生产环境中,可用焊接好的 PCB 扩展板替代面包板,获得更坚固、便携的方案。作者制作了可直接插入树莓派的定制扩展板,置于紧凑黑色外壳中。软件每小时记录一次读数并存入 MySQL 数据库,再通过 Google Charts 可视化,便于趋势分析。

进阶硬件

保留基础配置所有元件,额外增加:

详细指南请参考 DS18B20 温度传感器指南 及树莓派官方 1-Wire 支持文档。

制造工艺

  1. 树莓派+$5 I²C传感器打造温度记录仪
  2. 树莓派温度画像:Python+SQLite+LabVIEW实战
  3. 树莓派温湿度网络监测站DIY全指南
  4. 树莓派2上使用DS18B20读取温度完整指南
  5. 树莓派结合 Maxim 1-Wire 传感器与 DS2482 I2C 桥接器的多点温度测量
  6. 树莓派与 Python 构建远程温度传感器:分步实战指南
  7. 树莓派配合 EzTemp 实现无缝温湿度监测
  8. 树莓派精准监测机柜温度:DS18B20 多点部署实战
  9. DIY 家酿温控系统:Arduino 监测与调节发酵温度
  10. 树莓派 I2C 接口 BMP085:高精度温度与气压读取
  11. 树莓派 3 配合 PubNub 实现远程气象监测
  12. 树莓派紧凑型 DHT 温湿度扩展板:ATtiny85 + DHT22/DHT11