树莓派直接读取 DHT11 温湿度的方法

来自 RaspiSQH投稿

前言

dht11是一个较为普遍的温湿度传感器,但是在树莓派上读取却不容易。 转了一圈论坛、百度、实验室,例子里面大多数都是用库或者直接硬来(直接读取信号脚分析)。这些办法虽然行之有效,但是不够简单方便,毕竟我这个伪程序员要求的并不是有用,更重要的是简洁……(滑稽)树莓派官方系统自带了一种无需自己装库文件的方法,下面就来介绍一哈。

原理

打开 /boot/overlays/README,会发现有以下几行:

Name: dht11
Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
Also sometimes found with the part number(s) AM230x.
Load: dtoverlay=dht11,<param>=<val>
Params: gpiopin GPIO connected to the sensor's DATA output.
(default 4)

意思是,在 config.txt 中添加上 dtoverlay=dht11 就可以在 /dev/ 下找到 dht11 文件,内容就是 dht 传感器的温度啦。

步骤

首先确保你使用的是 Raspbian 最新版本。
把 dht11(或 dht21/dht22)信号脚连接到 gpio4。
编辑 config.txt。

sudo nano /boot/config.txt

在末尾另起一行,加上:

dtoverlay=dht11,gpiopin=4

然后 ctrl+x 保存退出。
重启。

sudo reboot

大功告成了!
读取方法
直接 sudo cat /dev/dht11 即可。

如何自定义引脚

找到刚才添加的 config.txt中的 dtoverlay=dht11,gpiopin=4,将4改为你想要的引脚即可。注意,引脚号码为 BCM 编码。

关于这个操作的一些问题补充见帖子,也欢迎反馈讨论你遇到的问题:
https://talk.quwj.com/topic/255

这是一篇发布于 5年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


11 评论

发表评论

你的邮件地址不会公开


*