×

IoT Personal NodeMCU ESP12 WiFi无线气象站

消耗积分:0 | 格式:zip | 大小:0.05 MB | 2022-12-16

张桂兰

分享资料个

描述

我将向您展示如何使用 NodeMCU (ESP12) 构建个人无线气象站

一年前,我正在创建基于 Arduino 的气象站。 但总有办法让事情变得更好。

NodeMCU (ESP12) WiFi 模块将传感器数据发送到wunderground.com weathercloud.netthingspeak.com

气象站是一种使用许多不同传感器收集与天气和环境相关的数据的设备。我们可以测量很多东西,比如:

  • 温度
  • 湿度
  • 气压
  • 紫外线指数

1. 第 1 步:用于气象站的传感器类型

以下是气象站中使用的测量设备列表:

 
poYBAGOX4LKAG78PAADUUKUf1wk583.jpg
 

1)NodeMCU(ESP12)主板

2) 温度计 Dallas DS18B20温度计测量温度。您可以测量室内和室外的温度,记录高点和低点,显示趋势箭头以指示温度上升或下降,甚至预测短期未来温度范围。

3) 湿度计 ( BME280 ) - 湿度计测量相对湿度。相对湿度是空气中水蒸气(气态水)的数量或百分比。湿度会影响环境因素和计算,如降水、雾、露点和热指数。

气压计 ( BME280 ) – 气压计测量大气压力。气压计可以根据其测量的大气压力变化来帮助预测即将到来的天气。

4) Davis 6410 风速计测量风速或风速。ESP8266 气象站可以以 MPH、KPH 或节为单位显示风速,并记录当前、峰值和平均风速读数。

风向标——风向标或风向标是一种确定风向的仪器。

5) Ventus W174 雨量计测量降雨或液体降水

第 2 步:原理图和接线图

 
poYBAGOX4LiANd1VAAC3bstKHys311.jpg
 

第 3 步:NodeMCU PCB 气象站屏蔽

设计印刷电路板(PCB),我用过,,Sprint-Layout”软件。导出为Gerber文件。 下载PCB制作https://jlcpcb.com

要创建此 NodeMCU ESP12 气象站防护罩,您需要:

  • NodeMcu Lua CH340G/CH340/ ESP8266 无线WIFI互联网开发模块Ebay
  • 防水数字热探头或传感器DS18B20 Arduino 传感器Ebay
  • JST-XH套件 4Pin 2.54mm 端子外壳 PCB 接头线连接器Ebay
  • 大气压力传感器温度湿度传感器分线器BME280 Ebay
  • 2x 1K 0805 电阻
  • 1x 120R 0805 电阻
  • 2x 4.7K 0805 电阻
  • 1x 10K 0805 电阻
  • 1x RJ45插座易趣
  • 1x 47uF 电解电容
  • 1 x 40pin 2.54mm 母头单排分离式排针Ebay
 
 
 
 
poYBAGOX4NuAaId_AAVPi4GYU6U633.jpg
 
1 / 3
 
 
 
 
 
pYYBAGOX4OCAJNIgAAFWB8tAs34394.png
 
1 / 2
 

第 4 步:Arduino 代码

1. 将 ESP8266 板安装到 Arduino 

2.输入您的Wifi路由器ssid和密码。

  • const char* ssid1 = "xxxxxxxxxx";
  • const char* password1 = "xxxxxxxxxx";

3. 在将代码上传到您的 NodeMCU 之前,您需要在 wunderground.com上注册以获得 WU 站ID密钥

  • 字符 ID [] = "xxxxxx";
  • 字符键 [] = "xxxxxx";

4、在weathercloud.net注册获取Weathercloud IDKey

  • 字符 ID2 [] = "xxxxxxxx";
  • char Key2 [] = "xxxxxxxxxxx";

5. 以米 (m) 为单位更改 高度 pws 以获得相对压力。

6、在thingspeak.com注册获取apiKey

  • 字符串 apiKey =“XXXXXXXXXXXXXXX”;

7.将 UTC_OFFSET 更改为正确的时区

  • int UTC_OFFSET = 3 ; // (格林威治标准时间 +3 )

我正在使用 30 秒的循环时间将数据发送到 wunderground.com。10 分钟循环时间将数据发送到 weathercloud.net 和 thingspeak.com

最后编辑:2019 年 10 月 11 日

 
poYBAGOX4OOAdkRAAAEJoU346B0379.jpg
 

第 5 步:测试气象站

NodeMCU ESP12 正在向 wunderground.com、weathercloud.net 和 thingspeak.com 发送发送者数据。

所以它看起来一切正常。任务完成。

您可以查看的矿山气象站 >

 
pYYBAGOX4OaAE5xiAADOQlIe0oc298.png
 
 
pYYBAGOX4PCAFy4aAACb5nfyV2c485.jpg
 
 
poYBAGOX4PiATe7xAADEOtTRqrQ809.jpg
 
 
pYYBAGOX4PuACaJrAADg1g7KQ-g618.jpg
 

第 6 步:OTA 无线编程

OTA(空中下载)更新是使用 WiFi 连接而不是串行通信将新固件加载到 ESP8266 模块的过程。这种类型的功能在没有物理访问 ESP 模块的情况下非常有用。

从 Arduino IDE 无线上传新草图适用于以下典型场景:

  • 在固件开发期间 - 作为通过串行上传新草图的更快替代方法
  • 用于更新网络中多个 ESP 的固件

为 OTA 能力做准备

  • 在您的系统上安装 Python 您需要在您的系统上安装python27以便从您的系统对 ESP8266 进行编程,您需要运行 OTA 脚本。在要上传固件的系统上安装 python27。
 
pYYBAGOX4RmAOjP5AACKxJHkMpI399.jpg
 
  • 下载并安装Arduino OTA 库下载 OTA 所需的库和工具
  • 在 arduino 库中安装“ArduinoOTa.zip”。
  • 转到工具以选择您的 ESP 板型号。您还必须选择 ESP 的 COM 端口
  • 打开 BasicOTA.ino 示例:文件 > 示例 > Arduino OTA > BasicOTA.ino
  • 按下 Arduino IDE 中的“上传”按钮并等待“完成上传”消息
 
poYBAGOX4R2ACCiLAAE6fDGjquU790.jpg
 

上传新的草图 OTA(空中下载)

现在您的 ESP8266 已准备好接收 OTA 固件更新。您可以从计算机上拔下 ESP8266 并通过任何电源为其供电。如果您的 ESP8266 与路由器有无线连接,您应该可以上传新固件。

  • 转到您的 Arduino IDE。打开工具选项卡选择端口选项,您应该会看到如下内容: esp8266-xxxxxx at your_esp_ip_address
 
pYYBAGOX4SOAKbdyAAC3M5Pxtzo989.jpg
 
  • 打开 Nodemcu_weather_station.ino 并通过无线方式上传。

信息取自( Rui Santos )

https://randomnerdtutorials.com/esp8266-ota-updates-with-arduino-ide-over-the-air/

第 7 步:制作太阳辐射防护罩

太阳辐射防护罩由花盆下垫制成

 
 
 
 
poYBAGOX4SaAL7akAACZXaeXG5s075.jpg
 
1 / 5
 

第 8 步:安装个人气象站

位置气象站是安装中最重要的部分。如果气象站位于树下或悬垂处,则气象站测量的降雨数据将不正确。如果您将气象站放置在小巷中,您很可能会在风速计上产生风洞效应,从而导致风数据错误。气象站应具有良好的“取力”,或与任何其他高大物体的距离。标准风测量应在地面以上 10 米处进行。屋顶最适合我。气象站由太阳能电池板供电。所以它是自主的。

安装气象站最常见的错误与温度计传感器放置不当有关。气象学家将温度定义为通风良好的阴凉处的温度。放置气象站时,请确保:

  • 温度计传感器绝不会受到阳光直射。
  • 温度计获得充足的通风并且不会被风挡住。
  • 如果温度计放置在屋顶上,请确保它至少高于屋顶 1.5 米。
  • 如果温度计放置在草地上方,同样,它应至少高于草地表面 1.5 米。
  • 温度计距离最近的铺砌表面至少 15 米。

所以我正在使用天气避难所。太阳辐射防护罩由花盆下垫制成。这样,气象站可以放置在阳光直射的地方,温度计位于避难所内。有关在此处安装气象站的更多信息

第 9 步:WiFi 信号质量

增加了检查 WiFi 信号质量的兼容性。如果您的气象站离路由器太远,您将失去通信。因此,您可以尝试安装 WiFi 信号强度较高的气象站。

pYYBAGOX4T2AOkc3AACRbvbYKCg431.jpg
 
poYBAGOX4UCAX9M_AAA4l5i4O5s963.jpg
 

 

 


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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !