好久不见鸭,时隔半年,树莓派菜鸟再次写起博客
其实树莓派内置了驱动文件,可以直接通过一些命令读取温度传感器的温度,所以使用起来很简单,下面来示范一下。
树莓派X1 DS18B20温度传感器模块X1 母对母杜邦线X3
首先了解一下DS18B20温度传感器模块 其中out引脚用来读入温度数据
再来了解一下树莓派的gpio引脚 看总体接线图
开机进入终端输入 1.进入/sys/bus/w1/devices目录
cd /sys/bus/w1/devices2.查看是否有类似于28-0316a279a3e8的文件,若有直接跳到第4步
ls3.若无,运行以下命令及修改/boot/config.txt文件
cd sudo modprobe w1_gpio sudo modprobe w1_therm #注意w1,1是数字1进入/boot/config.txt文件
sudo nano /boot/config.txt在最后一行添加以下内容
dtoverlay=w1_gpio-pullup,gpiopin=4 #一定要检查是否正确,若正确重启树莓派4.进入目录/sys/bus/w1/devices/
cd /sys/bus/w1/devices看看是否有类似28-0316a279a3e8的文件,每个人的文件名是不一样的, 我的是28-0316a279a3e8,若有运行以下命令
cat ./28-0316a279a3e8/w1_slave可以看到两行数据,其中最后一个t=25500除以1000就是温度啦 5.下面我们来写个简单的Python脚本让它直接输出最后一个正确温度数据吧 我将脚本写在桌面
nano temperature.py代码如下
tfile = open("/sys/bus/w1/devices/28-0316a279a3e8/w1_slave") text = tfile.read() tfile.close() secondline=text.split("\n")[1] temperaturedata = secondline.split(" ")[9] temperature = float(temperaturedata[2:]) temperature = temperature / 1000 print (temperature)按下Ctrl+o保存,回车,Ctrl+x退出 运行脚本
sduo temperature.py如果顺利你就可以看到一个温度数据啦! 有问题的小伙伴可以在下方留言哦!本菜鸟积极解答 记得关注我喔,不定时更新一些关于树莓派以及linux的文章,分享更有趣的项目教学。