无需库文件,直接读取dht11数据

RaspiSQH 12.6m2019-10-03278 次点击2 人收藏2 人感谢

前言
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编码。

p.s 这个本来应该几周之前发的,然鹅小组出了点问题,把文稿弄丢了.....这次在github码了一个md,在这里:https://rpiqhsy.github.io/temp

收藏 ♥ 感谢
Spoony 小组长 2019-10-03 
小组的锅我来背。谢谢po主分享。

登录注册 后可回复。