基于 ESP8266 的个人气象站(有示意图+代码+评论区学习群)

129 篇文章 21 订阅
45 篇文章 3 订阅

简介:制作个人气象站

坐在房间里,你开始出汗或感到寒冷;你想知道你房间里的温度是多少?或者湿度是多少?这发生在我身上。

这导致了个人气象站的诞生,它监控您房间的温度、湿度、压力和光照强度,并将其上传到 thingspeak.com 上的私人频道。

让我们开始吧。

个人气象站所需的电子元件

描述:我们将使用 DHT11 来感应湿度,使用 BMP180 来感应温度和压力,并使用光敏电阻 (LDR) 来大致了解光强度。Arduino nano 将从这些传感器收集数据并将其发送到 ESP8266,以便将其上传到 thingspeak.com 上的私人频道。我们将通过 12V-2A 壁式适配器为 Arduino nano 供电,传感器和 ESP8266 将从基于 LM2596 的降压转换器接收下变频电压。

组件列表:

  • BMP180压力和温度传感器,

  • DHT11湿度传感器,

  • 光敏电阻(LDR),

  • ESP8266 wifi 模块(固件就绪),

  • Arduino纳米,

  • 2 个电阻器 - 51 KOhm 和 4.7 KOhm,

  • LM2596 降压转换器,

  • 直流插孔,

  • 切换和

  • 12V-2A 墙上适配器。

个人气象站所需的工具和额外物品

描述:我们将使用剥线钳剥线,锉刀用于平滑外壳上的切口/孔,胶枪用于将组件放置在外壳内,螺丝刀关闭外壳盖,并用焊锡线烙铁在通用电路板上组装电路( GCB)。4x4x2 英寸塑料盒用作外壳。我们还需要公母 berg 条以及母连接器,以便在 GCB 上正确组装。

工具清单:

  • 剥线钳,

  • 文件,

  • 胶枪,

  • 螺丝刀和

  • 烙铁和焊锡丝。

  • 额外物品清单:

  • 4x4x2 英寸塑料盒(我用过这个尺寸,附近的任何尺寸都可以),

  • 通用电路板,

软件要求

描述:为了看到传感器数据的价值,我们需要在 thingspeak.com 上有一个私人频道。我们将需要 Arduino IDE 来为 arduino nano 编写 arduino 代码。(我假设你们拥有个人电脑/笔记本电脑和可以访问互联网的 wifi 路由)

软件要求清单:

  • Thingspeak.com 上的私人频道和

  • Arduino IDE(最好是最新版本)。

  • 您可以从arduino.cc下载最新版本的 Arduino IDE 。现在让我们在 thingspeak.com 上创建一个私人频道。

在 Thingspeak.com 上创建私人频道

要在 thingspeak.com 上创建私人频道,请按照以下步骤操作:

  • 打开您的网络浏览器并转到 thingspeak.com 并单击右上角的“注册”选项卡,(图 1)

  • 填写详细信息,然后单击“创建帐户”,(图 2)

  • 现在点击“新频道”选项卡,(图片编号 3)

  • 再次填写频道的详细信息并启用 4 个字段(因为我们将发送 4 个传感器值),向下滚动并单击“保存频道”选项卡,(图片编号 4/5)

  • 在此页面上单击“API 密钥”选项卡并记下您的“写入 API 密钥”。

就是这样,现在您拥有了自己的私人 ThingSpeak 频道。

现在让我们把所有的电子元件放在一起。

个人气象站示意图

在这里,我附上了个人气象站的示意图。我也为此附上了fritzing文件。连接相当简单。

  • BMP180 连接到 arduino nano 的 I2C 端口。

  • LDR 与 51 KOhm 电阻器以分压器方式连接,结点连接到 arduino nano 的 A1 引脚。

  • DHT11 的数据引脚用 4.7 KΩ 电阻拉高,并连接到 arduino nano 的 A0 引脚。

  • ESP8266 的 TX 和 RX 分别连接到 arduino nano 的 D10 和 D11。ESP8266 的 CH_PD 连接到 3.3V 电压轨。

  • 通过转动该模块上的电位器将 LM2596 模块的输出调整为 3.3V。该模块的输出分别连接到 BMP180、DHT11、LDR 和 ESP8266 的 Vcc 和 Gnd 的 Vcc 和 Gnd。

  • LM2596 模块的输入来自 12V-2A 墙上适配器,该适配器也连接到 Arduino nano 的 Vin 和 Gnd。

我们需要在通用电路板上组装这个电路。让我们这样做。

在通用电路板 (GCB) 上组装电路

硬件工具和额外物品现已开始营业。

  • Arduino nano 和 ESP8288 在 GCB 上的放置使用女性 berg 条,

  • 使用烙铁和焊锡丝将它们电气连接到电路板上,

  • 使用母连接器来扩展所有传感器和 LM2596 模块的范围,因为它们会粘在外壳的盖子和壁上,

  • 使用公头条为上面制作的母头延长件制作连接点,

  • 使用电线(使用剥线器将它们剥掉)或熔化的焊锡线导轨在 GCB 上实现电路原理图,最后,

  • 在使用万用表为电路供电之前检查排序。

现在所有的硬件都放在了 GCB 上,让我们看一下代码。

代码

个人气象站的代码相当简单。为了便于移植,我已经正确地注释了代码。在刻录代码之前,请注意以下事项。

  • 确保安装了所有库,

  • 在代码的第 14 行用您的接入点(wifi 路由器)的 SSID 替换连字符,

  • 将代码第 15 行中的连字符替换为您的 wifi 网络的密码,

  • 将第 17 行中的连字符替换为您的 ThingSpeak 私人频道写入 API 密钥和

  • 在对 Arduino nano 进行编程时,请确保您的 12V 直流电源处于关闭状态。

现在我们已经有了我们的硬件和软件,剩下的就是打包了。

【资料分享】下方分享一些实例交流资料,感兴趣的可以看下:

硬件上云-ESP8266与阿里云

ESP8266开发环境搭建

ESP8266网络编程上

ESP8266网络编程下

ESP8266智能硬件开发

ESP8266智能家居项目集成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该设计仿制国外ESP8266+OLED Weather Station成功,原文链接:https://blog.squix.org/2017/01/esp8266-weather-sta... 下面介绍本人的设计 安卓手机app下载地址:https://espressif.com/zh-hans/products/software/esp-touch/resources,ios直接在AppStore里搜索 esptouch即可。 最新进展,源码经过修改可以通过官方的手机app让Weather Station快连到WiFi,并自动记录最后一次快连成功的路由器,下次会自动连接。如果换了WiFi环境自动进入快连界面,这时在手机运行官方app(esptouch)输入WiFi密码即可连接。 附件zip已经打包好库文件,解压后放在没有中文路径的文件夹下面,再在arduino的“首选项”-- “项目文件夹位置” 指向这个文件夹。重启arduino,然后打开“文件”--”项目文件夹“--WeatherStationDemo,选择对应的板和COM口下载即可。 源码里面有一个wunderground 的key给大家试用,每天500次的API访问量,记得把城市改到对应的城市。从下午开始想着再申请几个key结果死活不行,或许对ip有限制吧? 源码改的乱七八糟,高手大侠见笑了。。。笑过之后请抽时间多指点能改进完善一下程序最好了! 注:修改好的源码及库文件见附件内容下载。 WIFI 气象站实物图展示: 使用NodeMCU1.0(ESP8266-12E),集成了CP2102,可以直接电脑USB ;OLED是SSD1306的128×64,IIC接口 初接触Arduino和ESP8266,现在仿制阶段。 所有资料来自网络,感兴趣的一起来完善它,高手大侠们多多指教! 作者博客:https://blog.squix.org/ 制作网页:https://www.instructables.com/id/ESP8266-Weather-Widget/ Arduino源码:https://github.com/squix78/esp8266-weather-station Arduino IDE可以像使用UNO一样使用ESP8266,编译环境的搭建:https://www.geek-workshop.com/thread-26170-1-1.html 目前改进设想 1、加入SmartConfig(WIFI快连),在手机或者PC上面通过APP配置路由器密码,不用再在源码里改动 2、把OLED换成LCD或者LED点阵屏,OLED太小了
您可以使用ESP8266模块作为WiFi模块,将其与Arduino一起使用,通过手机与ESP8266模块进行通信。以下是一些基本的步骤: 1. 安装Arduino IDE和ESP8266库。在Arduino IDE中,选择“文件”>“首选项”并在“附加开发板管理器网址”中添加“http://arduino.esp8266.com/stable/package_esp8266com_index.json”。然后,选择“工具”>“开发板”>“开发板管理器”,搜索“esp8266”并安装相应的库。 2. 连接ESP8266模块到Arduino。将ESP8266模块连接到Arduino的串口(RX-TX)引脚,以便它可以通过串口与Arduino通信。还需要将ESP8266的GPIO0引脚连接到Arduino的地引脚,以便可以将其放入固件更新模式。 3. 编写Arduino代码。使用Arduino IDE编写代码来控制ESP8266模块和与手机通信。您可以使用ESP8266WiFi库来配置ESP8266模块的WiFi连接,并使用Serial库来与ESP8266模块进行通信。 4. 编写手机应用程序。使用您选择的移动应用程序开发框架(如React Native或Flutter)编写应用程序,以便它可以通过WiFiESP8266模块进行通信。您可以使用HTTP请求或WebSocket通信协议来与ESP8266模块进行通信。 5. 测试通信。将Arduino和ESP8266模块连接到计算机,并上传您的Arduino代码。将ESP8266模块与WiFi网络连接,并使用您的手机应用程序与其进行通信。测试通信是否正常。 希望这可以帮助您开始使用手机,Arduino和ESP8266进行通信!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值