基于树莓派3B,DHT11/DHT22,LCD1602的一个实时温度湿度检测系统

介绍

这是一个树莓派实时监测的项目,需要参考上文,可在web上显示实时的温度及湿度变化情况。

Demo

http://yfgeek.eu.ngrok.io/web/index.html

架构

前端:Semantic UI + eCharts + JQuery Datapicker

后端:Python + Apache

支持断点续传

json文件输出

后端轻量、稳定

原料

树莓派3B

DHT11

LCD1602

2K电阻(也可以是电位器)

子-母 和 母-母 杜邦线

电气绝缘胶带

剪刀

接线

我们一共要完成两个任务:

1.连接LCD1602

2.连接DHT11

树莓派3B的GPIO图如下:

2K 电阻如何连接到电路

简单粗暴的方法就是把电阻两头连接到两个子-母杜邦线上,然后用绝缘胶布缠上,非常方便美观。

LCD1602 接线方案

LCD 与 树莓派相连 方案图,2K电阻是我自行设计,如果有电位器最好放置电位器:

树莓派的USB端口朝下,电源线位置朝上方向摆放。 右端一共有40个引脚,每个引脚的PIN位置如上。

VSS,接地,RPi PIN6VDD,接5V电源,PRi PIN2VO,液晶对比度调节,接1K 电阻,另一端相连接地,PIN9RS,寄存器选择,接GPIO14,RPi PIN8RW,读写选择,接地,表示写模式,PRi PIN30E,使能信号,接GPIO15,RPi PIN10D0,数据位0,4位工作模式下不用,不接D1,数据位1,4位工作模式下不用,不接D2,数据位2,4位工作模式下不用,不接D3,数据位3,4位工作模式下不用,不接D4,数据位4,接GPIO17,RPi PIN11D5,数据位5,接GPIO18,RPi PIN12D6,数据位6,接GPIO27,RPi PIN13D7,数据位7,接GPIO22,RPi PIN15A,液晶屏背光+,接5V,RPi PIN4K,液晶屏背光-,接地,RPi PIN39

连接好后,务必要仔细检查是否连接正确,以防开机烧坏GPIO甚至树莓派。

建议在关机情况下接线,如果在开机情况下接线,VDD请最后连接。

LCD1602 开机测试

接通电源线,默认情况下,如果连接正确:

肯定没有爆炸

会出现如下图的效果,证明你已经接线成功了

DHT11 接线方案

接线简单,主要是把数据传输到GPIO26上

DHT11有3个脚,VCC,DATA,GNDVCC,接3.3V,PIN01DATA,接 GPIO26,PIN37GND,接地,PIN09

DHT22 接线方案

接线需要并联一个10K电阻

DHT22有3个脚,VCC,DATA,GNDVCC,接3.3V,PIN01DATA,接 GPIO26,PIN37GND,接地,PIN09其中DATA和VCC之间用10k电阻相连

依赖

Adafruit_DHT

Adafruit_CharLCD

Nginx/Apache (请自行提前安装)

安装依赖

sudo apt-getupdatesudo apt-getinstallpython-devpython-rpi.gpiosudo apt-getinstall build-essentialpython-devpython-smbuspython-pipgit clone https://github.com/adafruit/Adafruit_Python_DHT.gitcd Adafruit_Python_DHTsudopythonsetup.pyinstallsudo pip install RPi.GPIOgit clone https://github.com/adafruit/Adafruit_Python_CharLCDcd Adafruit_Python_CharLCDsudopythonsetup.pyinstall

安装

cd/var/www/htmlgit clone https://github.com/yfgeek/rpi-TempRuntime.git

运行

cd/var/www/html/rpi-TempRuntimepython DHT11.py

结果

项目地址:https://github.com/yfgeek/rpi-TempRuntime

推荐阅读更多精彩内容