树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)

树莓派学习笔记:

单总线(1-wire)通信设备的初始化和控制(以DS18B20为例),包括如何更换通信端口

1 初始化

首先肯定是现在 raspi-config 里面打开相应的设置,或者在可视化界面里的Raspberry Pi Configuration里设置。
树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)_第1张图片
树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)_第2张图片
或者
树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)_第3张图片树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)_第4张图片
设置好之后,实际系统在 /boot/config.txt 文件末尾添加了

dtoverlay=w1-gpio

我们可以在 /boot/overlays/README 文档里面用 Ctrl+F 查找 “w1”,可以搜到如下结果
树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)_第5张图片可以知道,这个变量可以有参数值,gpiopin ,默认的值为 “4” ,注意,这个值为BCM编码, 这就是为什么很多教程直接用的就是 GPIO.7 口
树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)_第6张图片

如果想更换自己选择的端口。则需要在刚刚的 /boot/config.txt 文件加的那句话后加 “,gpiopin=你想要的数值”,以 GPIO1 为例。

dtoverlay=w1-gpio,gpiopin=18

然后保存,重启,单总线的通讯接口就被改成了GPIO1

2 读取总线设备

想要查看单总线是否启动成功,可以用 lsmod 命令

pi@raspberrypi:~ $ lsmod

树莓派4B单总线(1-wire)通信设备的初始化和控制(更换通信端口)(以DS18B20为例)_第7张图片可以找到相关的模块,然后可以用以下命令对单总线进行初始化

sudo modprobe w1-gpio
sudo modprobe w1-therm

初始化后可以在 /sys/bus/w1/devices 里面找到 28-xxx 的文件夹就代表 DS18B20 读取成功了,该文件夹里 w1_slave 里面装的就是读取的温度值,t=33000 就代表现在是 33.0摄氏度 。上面 crc 为CRC校验码。怎么使用DS18B20不是本文的关键,就请读者们自行发挥想象力吧。
在这里插入图片描述

你可能感兴趣的:(树莓派专栏,raspberry,pi,linux)