记录一下给树莓派安装温度湿度传感器的过程。
树莓派主板有一排GPIO扩展口,可以方便地驱动硬件。温度湿度传感器DHT11是一种常见传感器,很适合作为入门器件,探索树莓派的硬件能力。
我上次接触硬件知识还是在大二的单片机小学期,几乎已经忘光,正好趁机抢救性回忆一下。
目标
在树莓派上读到温度和湿度数据。
元件清单
除了传感器DHT11,还需要连接线、面包板等元件,在淘宝上很好买到。
我额外买了一块树莓派特制GPIO扩展板,用它把树莓派的40根针脚延长到面包板,类似USB延长线。很怀疑这是来自中国的”微创新”,值得赞美,因为确实解决了树莓派针脚空间狭小不便于插线的小痛点。
下面是元件清单:
- 树莓派Model 3 B
- DHT11传感器。我用的是三脚型号。
- 面包板
- 杜邦线/连接线
插线
在实际插线之前,有必要先来认识树莓派针脚。树莓派3代一共40根针脚,这么辨认物理编号:横着放,让2排针脚在上面,上面那排是偶数,从左到右是2到40;下面那排是奇数,从左到右是1到39。
40根针脚里,有28根GPIO针脚。这28根针脚,又有两种命名规则:BCM编号,WiringPi编号。还要注意,树莓派2代和3代的对应关系不一样,参考网上资料时要看清针脚图的型号。
- BCM编号,就是我们常看见的
GPIOxx
里面的xx
。 - WiringPi编号,是 WiringPi库 使用的编号。除非是用WiringPi库驱动针脚,否则不需关注。
对我这样的新手而言,最初物理编号和BCM编号两套规则切换起来有些烦人,需要一些细心。
下面的接线方案,用的是物理编号:
- 左边
+
接3.3V电源,选择1
口。 - 中间
DATA
,选择7
口。 - 右边
-
接地,选择14
口。
安装命令
DHT11是非常成熟通用的传感器,对它的驱动封装也特别多,不需再造轮子。货比三家,我发现Adafruit公司开源的代码质量最高,运行起来最稳定。
安装Adadruit公司的开源库:Adafruit Python DHT
在安装目录下, 进入example目录,运行
AdafruitDHT.py
文件:pi@raspberrypi:~/Adafruit_Python_DHT/examples $ python AdafruitDHT.py 0 30.0 C 70.0%
我房间此时是30摄氏度,湿度70%。
至此DHT11温度湿度传感器的安装完成。
更进一步,在手机上查看,或者在LCD显示屏上展示,请期待后续文章。