树莓派采集DHT11温度湿度POST上传到网页服务器

夏天南方的经常暴雨,空气温度和湿度时大时小。我们可以通过树莓派通过采集DHT11这个温度湿度传感器来获取当前位置实时的温湿度情况,然后通过树莓派PYTHON以POST数据方式将温湿度数据提交到远程服务器上,然后用手机即可打开网页查看自己家里的温度和湿度情况。下面我们牛人技术带大家一步一步实现树莓派采集DHT11温湿度然后上传到服务器,最后用户通过手机随时查看当前温度和历史记录。



DHT11温湿度传感器
这款传感器有三个引脚,分别是左右的电源正负极,和中间一个数据输出针脚。电源采用3.5V~5.5V供电,基本上锂电池或USB电源都能供电。这里DHT11的VCC电源正极可以连接到树莓派的17GPIO口上为其提供电源。GND电源负极连接树莓派的GND针脚,DATA是传感器的数据脚,可以连接树莓派GPIO的4号针脚。




树莓派的配置
这里需要熟悉树莓派的GPIO的针脚定义,其各针脚如下图;


完成上面树莓派针脚和DHT11的连接后,就可以安装树莓派的软件环境了。这里我们采用PYTHON的语言进行采集温度和提交POST数据到服务器上。安装PYTHON环境如下;
首先升级树莓派源apt-get update
然后安装python的包
apt-get install python
apt-get install python-dev
apt-get install build-essential
以上是对python环境进行配置,完成上面配置后可以通过python --version来查看版本信息。
下面开始编程,来获取DHT11温度并提交到服务器了
#!/usr/bin/env python
#coding=utf-8
import os
import urllib
import time
import requests;
import byLib_DHT11//可以加入牛人技术博客Q裙下载和交流
#想URL地址提交POST数据,PHP获取POST数据写入Sqlite
def byFUN1():
for num in range(9999999):
byList=byLib_DHT11.by_HUM(27);
byVar1=str(byList[0]);#温度
byVar2=str(byList[1]);#湿度
byURL='http://www.nrjs.cn/DS18B20/DoApi.php'
byHeaders={'content-type':'application/x-www-form-urlencoded'} #请求头
byData={'byUID':'6001', 'byTemper':byVar1, 'byHum':byVar2} #提交POST请求的数据
try:#防止因网络中断或域名暂时无法解析而报错,避免程序运行出错终止。
r=requests.post(byURL, data=byData, headers=byHeaders);#3.获取响应对象
except requests.exceptions.ConnectionError as byEValue:
time.sleep(30);
print byEValue;
byStr=time.strftime("%Y-%m-%d %X", time.localtime());print byStr;
time.sleep(30);
#主要进程
byFUN1()

最后连接完成情况如下图,采用的是面包板的方式连接,因为考虑到电阻对传感器的灵敏度测试我这里使用的是可调电阻。能根据用户需要调整电阻值。

下图是树莓派和DHT11上传数据到服务器后,然后在手机上查看温度和湿度结果。



总结
总体来说DHT11传感器的使用还是需要一定的技术的,特别是在传感器的电平读取那一块也是其他设备进行电信号交换的一种方式,所以很有代表性,所以我们打算下次找个机会专门对电平信号讲解一次。而其他的一些设置基本和大多数树莓派配件差不多,只是在连接电源正极前一定要检查各线路和线路图的连接是否正确,否则容易导致烧机器,这里需要多加注意些。

本文由作者自行上传发布,文章仅代表作者个人观点。如需转载,务必声明出处和网址,否则保留相关权利。

网友评论 comments

发表评论

电子邮件地址不会被公开。必填项已用 *标注

暂无评论

牛人技术博客 | About US | 湘ICP备13000282号-8 |
Copyright © 2009 - 2023 NRJS Corporation, All Rights Reserved
添加图标到手机桌面
扫二维码
扫二维码
返回顶部