在上一个项目中,我向您展示了如何将ESP8266连接到ThingsPeak。在该初始设置之后,您可以继续将各种传感器与ESP8266集成并监视ThingsPeak API上的数据。因此,在此项目中,我将向您展示如何将DHT11湿度传感器与ESP8266和ThingsPeak接口并监视数据。
概述
DHT11是一种低成本的湿度和温度传感器。由于它具有温度和湿度传感器,因此DHT11传感器足以实现您的第一个IoT天气监测系统。
当涉及物联网时,ESP8266和ThingsPeak的组合是初学者和业余爱好者潜入与IoT相关的项目的绝佳方式。
如果您打算建造自己的气象站,那么这个项目可能是您在这条路中的第一步。在这个项目中,我将简要介绍DHT11传感器,并解释如何将DHT11湿度和温度传感器与ESP8266和ThingsPeak接口。
DHT11传感器的简短说明
DHT11和DHT22是一对廉价但有效的湿度传感器,可以测量相对湿度和温度。在这两个中,DHT11传感器是一个更便宜的版本,其湿度和温度均相当多。
DHT11的相对湿度范围为20-95%,精度为+/- 5%。到达温度,范围为0-500c的准确性为+/- 20C。
DHT22传感器的湿度和温度范围更大,结果更准确,但比DHT11更为昂贵,更笨重。
这两个传感器都使用单引脚在微控制器和传感器之间使用1线总线进行通信。该单个数据引脚的输出是数字的,因此您不需要微控制器上的模拟输入引脚。这非常有用,因为ESP8266 ESP-01模块没有任何模拟输入引脚。
将DHT11湿度传感器与ESP8266和ThingsPeak接口
我将通过GPIO引脚之一将DHT11传感器与ESP8266连接。有关湿度和温度的所有计算将在ESP8266模块中执行。
测量温度和湿度后,结果将张贴在Things Pakeap API上,可以看作是图形。
电路原理图
下图显示了用于将DHT11湿度传感器与ESP8266和ThingsPeak接口的电路图。
需要组件
- Arduino
- DHT11湿度传感器
- ESP8266
- 跳线
- 迷你面包板
- 电阻(1kΩ和2.2kΩ)
- 按钮
- 滑动开关
代码
下面给出了用于将DHT11湿度传感器与ESP8266和ThingsPeak API连接的代码。您必须更改代码,即在适当的位置添加WiFi网络的SSID和密码。
另外,您需要从ThingsPeak Channel中记录Worter API键,并将其粘贴到代码中。
在上一个项目中“将ESP8266连接到Thingspeak”,我向您展示了如何在ThingsPeak中创建频道并为该频道添加字段。因此,如果您不熟悉该信息,请参考该项目。
笔记:
- 您必须下载两个称为“ DHT”和“ Adafruit_sensor”的库。您可以从这些链接下载这些库:DHT和adafruit_sensor。
- 以zip格式下载它们,提取内容,然后将文件夹复制到文档 - > arduino –>库
在职的
根据电路图进行所有连接。在这里,我将直接将代码上传到ESP8266模块。这意味着将删除现有的代码或固件。
在上传代码之前,请将GPIO0连接到GND,然后将ESP模块重置为启用编程模式。
另外,在Arduino IDE的董事会部分中选择“通用ESP8266模块”。确保您选择了正确的COM端口。
上传代码后,首先,将GPIO0从GND断开连接(您可以浮动)并重置ESP模块。
现在,如果您打开串行显示器并将BAUD率设置为115200,并且还选择“ NL&CR”选项,则可以看到ESP8266模块的进度。
首先,它将连接到WiFi网络。然后,它将立即尝试读取DHT11湿度传感器的数据,并根据该数据计算温度和湿度值。
此后,温度和湿度的值将上传到Things peak API。如果您在ThingsPeak中打开频道,则可以看到与DHT11传感器值相关的图表。
结论和应用
- 在这个简单的项目中,我向您展示了如何将DHT11湿度传感器与ESP8266和ThingsPeak API接口。
- 您可以通过坐在计算机前来监视来自世界任何地方的DHT11传感器数据。
- 该项目可能是您对拥有许多其他传感器的更大更好气象站的首次实施。
17个回应
GR8
在这里,您使用了代码来编程ESP8266。
Arduino董事会的代码是什么?
Arduino不需要任何代码。我将其用作USB到串行转换器。实际上,我已经从Arduino董事会中删除了微控制器。
我可以使用软件替换Lib ESP8266吗?
如何获得API代码?
请浏览这篇文章 - >//www.des-roubi.com/connect-esp8266-to-thingspeak/
不幸的是不起作用。在控制台我得到:
连接到
mywifi
**
*** wifi连接***
温度:26.00级C.湿度:18.00%。连接到thingspeak。
发送…。
但是它没有将其发送到云,
你做了什么?我得到相同的输出。
感谢您的出色教程。伟德老虎机手机版它可以帮助我实现我从未想到的东西。我确实有一个问题 - 我正在执行类似的项目,但是我正在使用MQ135传感器来监视空气质量并在质量较差时通过SMS提供通知。在您的教程的帮助下,我已经能够对我的ESP8伟德老虎机手机版266 WiFi模块板进行编程以发送和短信到某个手机号码。如何使ESP8266与其余的Arduino代码一起使用?我是否会在我的主要Arduino草图中为其创建一个新功能,并在我的MQ135读取质量差后调用该功能?我会通过重置ESP8266触发ESP8266吗?那可能吗?请帮助我。谢谢
您可以帮助我获得ESP8266WIFI库吗?我已经在Google中搜索过,但是在汇编过程中没有解决。
将ESP8266板添加到Arduino IDE时,该库将添加到Arduino库列表中。我相信那是使用Arduino IDE编程ESP8266的第一步。更多信息 -//www.des-roubi.com/esp8266-arduino-interface/
“ wifi客户端”不命名类型
那是我唯一得到的错误,请有人帮忙吗?
连接到
mywifi
**
*** wifi连接***
温度:26.00级C.湿度:18.00%。连接到thingspeak。
发送…。
但是它没有将其发送到云,
我必须选择哪个板选择Arduino Uno或Genericesp8266
这里为什么我们使用Arduino以及ESP8266如何将消息发送到我们的手机
此代码可以在DHT22上使用吗?
你好,
我也试图为此添加一个土壤传感器。我已经成功地获得了湿度传感器DHT11进行连接和显示,但是我很好奇如何在A0上添加土壤传感器,以便它也会传输到ThinkSpeak?
任何援助将不胜感激。