物联网无线气象站使用Arduino, ESP8266和ThingSpeak
扫描二维码
随时随地手机看文章
全球变暖导致了不可预测的气候;世界各地的研究人员正在使用气象站来观察记录和分析天气模式,以研究气候变化并提供天气预报。这些气象站通常包括几个传感器来测量环境参数和一个监测或记录系统来分析这些参数。在本教程中,我们将学习如何建立一个基于无线物联网的气象站,可以测量关键的环境参数,如温度,湿度和压力。此外,由于我们的气象站启用了物联网,我们可以将这些参数发送到ThingSpeak频道(物联网云),在那里我们可以远程存储、分析和访问数据。我们之前也用树莓派建立了一个类似的气象站,它与这个项目非常相似。
我们将使用Arduino板以及DHT11传感器,BMP180传感器和ESP8266 wifi模块。DHT11传感器检测温度和湿度,BMP180传感器计算压力,ESP8266用于互联网连接。在我们之前的项目中,我们已经学会了用Arduino使用DHT11传感器来监测温度和湿度,在这个项目中,我们将添加另一个传感器(BMP180)来使用Arduino制作一个完整的气象站。将这些数据发送到ThingSpeak可以从世界任何地方进行实时监控,我们也可以查看记录数据,这些数据将存储在他们的网站上,甚至可以随着时间的推移绘制图表来分析它。
组件的要求
•Arduino Uno
•ESP8266 wifi屏蔽
•DHT11传感器
•BMP180传感器
•电路试验板
•跳线
线路图
基于Arduino的物联网气象站的完整电路如下所示。
DHT11传感器由Arduino的5V引脚供电,其数据引脚连接到引脚5进行单线通信。BMP180传感器由Arduino的3.3V引脚供电,其数据引脚SCL (Serial Clock)和SDA (Serial data)分别连接到Arduino的A4和A5引脚进行I2C通信。
ESP8266模块也由Arduino的3.3V引脚供电,其Tx和Rx引脚连接到Arduino的数字引脚2和3进行串行通信。您可以使用下表作为建立连接的参考。
建立你的ThingSpeak频道
ThingSpeak是一个开放的数据平台,它允许你在云中聚合、可视化和分析实时数据。你可以使用ThingSpeak控制你的设备,你可以从你的设备向ThingSpeak发送数据,甚至你可以创建实时数据的即时可视化,并使用Twitter和Twilio等网络服务发送警报。ThingSpeak集成了数值计算软件MATLAB的支持。MATLAB允许ThingSpeak用户编写和执行MATLAB代码来执行预处理,可视化和分析。ThingSpeak至少需要15秒来更新你的读数。我们还用ThingSpeak做了其他有趣的项目,比如:
•NodeMCU温湿度监控
•ESP32温湿度监测
•向ThingSpeak发送数据可以使用树莓派
步骤1:ThingSpeak帐户设置
要在ThingSpeak上创建一个频道,首先,你需要注册ThingSpeak。如果你已经有了ThingSpeak的账户,用你的id和密码登录。
如果你没有账户,点击“唱歌”,如果你已经有了账户,点击“登录”。点击注册后,填写您的详细信息。
在此之后,验证您的电子邮件id并单击continue。
步骤2:为你的数据创建一个通道
一旦您登录后,您的帐户验证,创建一个新的通道,点击“新通道”按钮。
点击“新通道”后,输入您想要上传的数据的名称和描述。
在字段1中输入数据名称“湿度”,在字段2中输入“温度”,在字段3中输入“压力”。如果您想使用更多的字段,您可以选中字段选项旁边的框,并输入数据的名称和描述。
在此之后,单击保存通道按钮保存您的详细信息。
步骤3:API密钥
为了向ThingSpeak发送数据,我们需要一个唯一的API密钥,我们将在后面的代码中使用它来将传感器数据上传到ThingSpeak网站。
点击“API密钥”按钮,获取您上传传感器数据的唯一API密钥。
现在复制你的“写API密钥”。我们将在代码中使用这个API键。
代码的解释
编程部分在执行项目中的所有操作中起着非常重要的作用。像往常一样,完整的代码在最后给出。通过包含所有必需的库和定义所有变量来启动代码。
在此之后,输入Wi-Fi名称,Wi-Fi路由器的密码,然后输入从ThingSpeak频道复制的API密钥。
在void setup()函数中,连接Wi-Fi并启动BMP180和DHT11传感器。
使用void Transmission()函数,我们使用BMP180和DHT11传感器计算温度、湿度和压力。
这些命令用于连接ThingSpeak服务器,然后打印不同字段的温度、湿度和压力值。
运行物联网Arduino气象站
现在将Arduino与笔记本电脑连接,正确选择主板和端口,然后单击Upload按钮。上传代码后,打开串口监视器。设置串口显示器的波特率为9600。您将在串行监视器上看到您的Wi-Fi Id,密码以及温度,湿度和压力值。
现在导航到ThingSpeak频道并检查你的频道,你会看到温度、湿度和压力值,如下图所示。
这就是你如何建立Arduino气象站的温度,湿度和压力可以通过互联网从世界任何地方监控。
本文编译自iotdesignpro