前言
dht11是一个较为普遍的温湿度传感器,但是在树莓派上读取却不容易。 转了一圈论坛、百度、实验室,例子里面大多数都是用库或者直接硬来(直接读取信号脚分析)。这些办法虽然行之有效,但是不够简单方便,毕竟我这个伪程序员要求的并不是有用,更重要的是简洁……(滑稽)树莓派官方系统自带了一种无需自己装库文件的方法,下面就来介绍一哈。
原理
打开 /boot/overlays/README,会发现有以下几行:
1 2 3 4 5 6 |
|
意思是,在 config.txt 中添加上 dtoverlay=dht11 就可以在 /dev/ 下找到 dht11 文件,内容就是 dht 传感器的温度啦。
步骤
首先确保你使用的是 Raspbian 最新版本。
把 dht11(或 dht21/dht22)信号脚连接到 gpio4。
编辑 config.txt。
1 |
|
在末尾另起一行,加上:
1 |
|
然后 ctrl+x 保存退出。
重启。
1 |
|
大功告成了!
读取方法
直接 sudo cat /dev/dht11 即可。
如何自定义引脚
找到刚才添加的 config.txt中的 dtoverlay=dht11,gpiopin=4,将4改为你想要的引脚即可。注意,引脚号码为 BCM 编码。
关于这个操作的一些问题补充见帖子,也欢迎反馈讨论你遇到的问题:
无需库文件,直接读取dht11数据 - 趣小组
实际查看在这里,有一定的概率会失败
sudo cat /sys/devices/platform/dht11@4/iio:device0/in_temp_input
sudo cat /sys/devices/platform/dht11@4/iio:device0/in_humidityrelative_input