0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简易气象站DIY

454398 来源:工程师吴畏 2019-08-14 11:06 次阅读

步骤1:所需的零件和工具

简易气象站DIY

所需部件:

NodeMCU Board V0。 9或1.0

DHT-11的温度和湿度

BMP-280的气压

雨量传感器(可选)

LDO S111733PI

18650AA可充电锂离子电池x1

TP4056充电板

太阳能电池板(5.5至6v/100-120ma)

10kohm Resistor x1

其他材料和工具:

穿孔板(PCB)x1

AWG电线

螺钉端子x2

母头针

MDF板

烙铁

管道胶带

热胶枪

微型USB电缆

用于测试(可选):

面包板

跳线电线

第2步:测量天气数据

NodeMCU Board:

NodeMcu板实际上是一个Arduino带wifi屏蔽。这个wifi盾被称为esp8266。屏蔽可以作为单独的控制器购买和使用,众所周知的版本是esp8266 V1,它只有2个数字引脚。后来的版本确实有更多的数字引脚。

所以我们使用这个wifi屏蔽使用 Thingspeak API将我们的传感器数据传输到我们的网络应用程序。

DHT-11

DHT-11有一个名为DHT-22的后继产品,它更准确,耗电更少。您可以根据颜色区分DHT-11/DHT-22。市场上的大多数DHT-11传感器都是蓝色的,其中DHT-22是白色的。

DHT-11有4个引脚从左边开始:

Vin (左起第一个)

数据

的 NULL

的 GND

BMP-280

BMP-280传感器用于测量气压。 BME280是博世的下一代传感器,是BMP085/BMP180/BMP183的升级产品 - 具有0.25米的低海拔噪声和相同的快速转换时间。

该传感器的优点是它可以使用I2C或SPI与微控制器进行通信。为了简单方便接线,我使用了I2C版本板。

雨量传感器(可选)

雨水传感器检测水,完成传感器板印刷导线上的电路。传感器板充当可变电阻器,在潮湿时从100k欧姆变为干燥时的2M欧姆。

我在测试阶段使用了Rain传感器,但在最终项目中已将其删除,因为它在该项目中的使用效果不是很好。如果您的项目中需要雨量传感器,您可以使用它(我也为雨量传感器编写了相应的代码。)

步骤3:连接传感器

我建议你一个接一个地连接传感器,开始使用DHT11/DHT22传感器。一旦传感器正常工作,您可以继续添加下一个传感器。

成功连接后,转到编码阶段。

数据连接:

DHT-11

数据------- D4

Vin ---------- 3.36v

Gnd --------- Gnd

在Data和Vin之间加一个10k欧姆的电阻

BMP-280

SCL ------- D1

SDA ------- D2

Vin --- ------ 3.36v

Gnd -------- Gnd

雨量传感器

数据 - ----- A0

Vin -------- 5v/3.36v

Gnd ------- Gnd

第4步:编码

首先,我尝试了互联网上的几个草图。我发现大多数草图都是用LUA语言编写的,因此对我来说没用(因为我认为使用Arduino IDE)。

然后我开始编写自己的代码并获得成功。

在执行代码之前,请下载微控制器和传感器所需的必要库。

在下面的代码中:

输入您的Wifi SSID名称和密码。

Thingspeak API

我们要推送数据对于Thingspeak,我们必须开帐户。 Thingspeak是一项云服务。接下来,Thingspeak提供了几种与您的数据交互的选项,例如Thingtweet,Thinghttp等。

只需访问thingspeak.com并创建一个帐户即可。至少填写设置中的第一个和第二个字段。如果连接温度和湿度传感器(如下一步所述),请填写字段1中的“温度”,字段2中的“压力”(请参见上图)。如果你想连接其他传感器,如雨量传感器,只需对其余的字段做同样的事情。

现在转到API的部分

复制API密钥并将其粘贴到代码中。

链接:

第5步:电源

我的计划是无线部署气象站。要连续运行,必须有连续的电源。为电路提供连续电源的最佳方法是使用电池。但是几天之后电池就会耗尽,去那里充电是非常困难的。因此,使用太阳能充电电路来利用来自太阳的自由能量来为电池充电并为NodeMCU板供电。我使用的是18650锂离子电池

为电池充电没有任何复杂情况(过度充电/过度放电 ),我有使用TP4056充电板,完美适用于3.7v/1Amp。它具有内置保护电路,如果电池在充电或放电时达到最大值,则会切断与电池的连接。

除了保护之外,它还为我们提供了使用微电池为电池充电的选项。 USB电缆以及太阳能电池板(通过终端)。因此,我们有多种充电选项。

深度睡眠模式(可选):

通过上述设置,我们可以使用太阳能电池板运行气象站(100mA)每天约10小时。之后,我们需要使用充电器为电池充电,以便在第二天使用。如果您可以在不需要时将其关闭或者在家中使用气象站,这不是什么大问题。

但如果您希望它连续运行并将其放置在您居住的偏远地区为了降低ESP8266 WiFi芯片的功耗,我们将采用深度睡眠模式,这是ESP芯片最省电的选择。无法频繁关闭它,这就成了一个问题。

为了降低ESP8266 WiFi芯片的功耗,我们将使用深度睡眠模式。它允许ESP8266进入休眠状态并节省电池电量。您可以定期唤醒它进行测量并发布它们。

NodeMCU(最大功耗)--------------------- 170 mA

NodeMCU(深度睡眠)------------------------------------ 0.02 mA

此项目的平均消耗量(基于所使用的传感器)-------------------------- 120 mA

如果我们需要5分钟的周期(深度睡眠时间为4.5分钟,传输时间为0.5分钟)

4.5分钟x 0.02毫安--------------- - 0.09 mA-mins

0.5 min x 120 mA ----------------- 60 mA-mins

_______________________________________

5分钟----------------------------- 60.09 mA-mins

因此整个气象站需要12.018 mA才能运行。

要运行一天,需要12.018 x 24 = 288.432 mA

如果我们平均需要3小时的阳光每天。我们可以从额定每天5v/100mA的太阳能电池板上获得100mA x 3 = 300mA 。

因此,它足以运行气象站而无需外部充电。

在使用深度睡眠功能之前,必须将NodeMCU D0引脚连接到RST引脚。

LDO S111733PI

这是一款低压差稳压器,可提供任何输入电压的恒定输出为3.3v。电池的输出不会是恒定值,因为完全充电的电池可以输出4.2v来炸送NodeMCU板。 NodeMCU板具有(5v及以上)Vin插槽以及(3至3.36v)输入电压插槽。项目中使用的所有传感器都需要3.36-3.6v,任何上述电压都会损坏它们或显示不准确的数据。

因此,使用LDO必须长时间运行气象站。

步骤6:组装PCB

成功测试后,将组件焊接到PCB上的时间。为此,你需要一个像样的焊铁,焊锡,钳子。

首先,我切断了NodeMCU板,BMP-280,DHT-11,雨量传感器和LDO的直母插头引脚。最好根据高度焊接组件。首先焊接较小高度的元件。

在组装插头引脚和螺钉端子后,是时候将电路板插入各自的接头中。

我已将TP4056电路板连接到使用双面胶带的PCB。

最后,我将18650电池插入电池座。

注意:我很抱歉我的焊接技巧,这是我的第一次焊接,我仍在练习:)

第7步:一体机中的一切

是时候为我们的PCB构建一个机箱了。我用了3mm厚的MDF板来制作一个盒子。太阳能电池板完美地安装在它的顶部。

我在盒子的两边分别为充电端口和NodeMCU编码端口做了两个孔。我不会在恶劣的条件下使用气象站,所以我没有使用任何防漏外壳。但如果您打算在外面有效地使用气象站,那么您可以使用一些塑料或金属外壳。

步骤8:可视化数据

Thingspeak服务为您提供各种图形和图表,以显示传感器数据。此外,您甚至可以使用Thingspeak Read API来创建自己的网络应用程序并将数据传输到它。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 气象站
    +关注

    关注

    1

    文章

    693

    浏览量

    15343
收藏 人收藏

    评论

    相关推荐

    手持自动气象站-手持气象仪-手持五参数气象

    光伏检测仪气象站
    山东天格光电科技有限公司
    发布于 :2023年11月18日 15:32:10

    校园气象站组成与作用

    对于校园气象站,相信很多人都不陌生,主要作用是用于监测气象要素信息。校园气象站作为学校教学研究的器材,可监测校园气象,为学校提供参考数据,也可以锻炼学生的动手能力。对青少年的
    的头像 发表于 10-31 16:28 322次阅读

    #移动气象站# 扬尘监测# 车载气象站 车载扬尘监测站

    监测气象站
    pgz1234
    发布于 :2023年09月18日 08:52:32

    负氧离子在线监测系统# 气象站# #气象监测

    监测气象站
    pgz1234
    发布于 :2023年09月18日 08:50:51

    什么是气象站气象站的简介

    什么是气象站气象站的简介
    的头像 发表于 09-14 16:14 816次阅读

    光伏气象站是什么

    光伏气象站作为现代气象观测的重要工具,为气象学、农业、航空、环境科学和能源等领域的研究和应用提供了气象数据,是辅助指导生产生活的重要设施。 传统的手工
    的头像 发表于 08-14 16:36 437次阅读

    自动气象站是什么,自动气象站的功能特点

    自动气象站是一款自动监测记录气象信息的仪器,自动气象站能够自动监测和记录气象信息,如温度、湿度、气压、风速、风向、降水量等,为气象学研究和
    的头像 发表于 07-27 11:10 807次阅读
    自动<b class='flag-5'>气象站</b>是什么,自动<b class='flag-5'>气象站</b>的功能特点

    带BME280传感器的Arduino简易气象站

    电子发烧友网站提供《带BME280传感器的Arduino简易气象站.zip》资料免费下载
    发表于 07-11 15:44 0次下载
    带BME280传感器的Arduino<b class='flag-5'>简易</b><b class='flag-5'>气象站</b>

    气象监测系统是气象站

    气象监测系统是现代气象业务体系的重要组成部分,是提升公共气象服务能力和提高气象预报预测准确率的重要基础。 气象监测系统是
    的头像 发表于 06-14 16:43 276次阅读

    如何使用AT命令将数据从我的DIY气象站发送到网站?

    我正在尝试使用 AT命令将数据从我的 DIY 气象站发送到网站。只要 GET 语句的长度超过大约 270 个字符,AT+CIPSEND 就会失败。我并不是说它正好是 270,而是大约在那里。它不
    发表于 06-05 08:58

    如何使用Openweathermap和0.96英寸oled来制作一个小气象站

    我是 ESP8266 的新手。我想通过使用 Openweathermap 和 0.96 英寸 oled 来尝试一个小气象站。当我尝试编译代码时,出现此错误。怎么了? 调用使用属性错误声明的“HTTPClient::begin”:过时的 API,使用 ::begin(WiFiClient, url)
    发表于 06-02 10:16

    使用D1 mini作为气象站,A0读数不稳定的原因?

    使用 D1 mini 作为气象站。在其他草图中,通过 100k 电阻将 batter+ 连接到 A0,电池监控效果非常好。 当我将 D1 和 D2 用于连接到 BME280 和 BME280
    发表于 05-25 07:56