树莓派直接读取 DHT11 温湿度的方法
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 编码。