最近更新于 2022-12-30 17:26

测试设备

树莓派 cm4 (官方64位系统 2022 Debian 10)

DS18B20

首次使用前配置

打开单总线

sudo raspi-config

默认是映射到 GPIO 4

如果要修改,可以以 root 权限编辑 /boot/config.txt,找到 dtoverlay=w1-gpio 所在行,改为

dtoverlay=w1-gpio,gpiopin=【引脚】

# 比如改为 GPIO 17
dtoverlay=w1-gpio,gpiopin=17

重启树莓派,/boot/config.txt 修改才生效

获取温度值

DS18B20 除了正负极,还有一条传输数据的线,这条线的连接位置根据前面 /boot/config.txt 设置而定,未指定则默认连接到 GPIO 4 就行。

查看 DS18B20 设备文件路径,可以看到一个文件夹以 28- 开头,后面的数字对于每个 DS18B20 芯片可能都会不同,只要知道是 28- 开头就行

ls /sys/bus/w1/devices

进入 28- 开头的文件夹,可以看到里面有一个 temperature 文件

查看这个文件的内容,即为温度值,除以 1000 后为摄氏度

这个文件是实时更新的,如果要获取实时温度,就一直循环读取这个文件就行

如果只插了一个 DS18B20,那么直接星号代替文件夹名

cat /sys/bus/w1/devices/28-*/temperature

作者 IYATT-yx