来自 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 编码。