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

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

3天内不再提示

具有ESP8266 SDK的BME280气象站的制作

454398 来源:wv 2019-10-10 14:44 次阅读

步骤1:硬件

传感器

对于此项目,我使用了我从eBay上以5美元购买的BME280突破口。您可以使用其他分组(最终需要更改SW或HW中的I2C地址),但由于价格原因,我选择了此分组。

这是我从其订购的清单的确切链接,但其他来源也应该起作用:http://www.ebay.com/itm/1PCS-Breakout-Temperature 。..

尽管该图显示了带有蓝色阻焊膜的模块,但我的是紫色的。在正面,它具有传感器和3个用于更改I2C地址的焊盘。在背面,它具有我想成为稳压器和逻辑电平转换器的功能,但是我还没有在5V系统中尝试过该模块。

该中断仅输出I2C引脚,但这是还可以,因为ESP8266没有太多可用的引脚,并且传感器无法产生如此高的数据流,因此需要更快的接口(如SPI)。

Wi- Fi模块

因为我只需要一个I2C连接,所以我认为采用ESP-01模块并进行修改会很有趣。 J下面对此进行了描述,但是如果您不想进行修改,则最好使用另一个拉出所有引脚的模块,例如ESP-07。如果您决定使用库存模块,请不要忘记将CH_PD引脚连接到Vcc。

对于I2C,我需要GPIO2用于SDA,而GPIO14用于SCL。第一个已经可用,但是第二个需要做一些修改。由于我通常不积极使用CH_PD引脚,因此我决定修改PCB,以将GPIO14(引脚9)路由到板卡的CH_PD引脚和硬接线的引脚7(之前已连接到CH_PD)。 SoC至Vcc。在下面的图片中,我用红色标记了刮擦PCB迹线的位置,并用绿色标记了我建立的新连接(使用0.1mm导线)。

这样,我得到了一个小巧而坚固的模块,有2个GPIO,我不必担心保持CH_PD高电平,并且不会对芯片编程所需的连接产生干扰。

连接

传感器|模块

SDAàGPIO2

SCLàGPIO14

两个模块的Vcc和GND并联并连接至3.3V电源。电源未在此项目中描述,但我使用带APL1117-3.3固定稳压器和2个电容器的5V手机充电器。

在编程时,我将TX,RX,RST和GPIO0引脚连接至USB-UART转换器。我通常将其与CP2102 IC搭配使用,但请注意,其3.3V输出无法为ESP8266提供足够的电流

第2步:软件

为开发软件,我使用了Unofficial

乐鑫ESP8266开发套件。您可以在以下链接中找到有关下载,安装和使用的所有必要信息:http://www.esp8266.com/viewtopic.php?t=820

在ESP8266上,我更喜欢这样做,因为我对软件有更好的控制,我可以使用Espressif发布和记录的API,并且所有这些都集成在Eclipse中以及许多使您的生活更加轻松的示例。

该代码可在GitHub,网址为https://github.com/cosminp12/BME280-Weather-Stati 。..可以下载它,只需将其导入Eclipse,它应该可以成功编译。

该应用主要包含一个功能每分钟执行一次,并读取传感器,然后使用HTTP客户端将该数据放在ThingSpeak上。 ThingSpeak密钥,路由器SSID和密码可从user_config.h中配置。

为了使该库在不同平台上具有更高的可移植性,它仅调用2个函数来执行I2C读写一个或多个字节。 (I2C_WriteData和I2C_ReadData),如果一切正常,则返回零值。

步骤3:结果

我的设备发送数据转到此频道:https://thingspeak.com/channels/96844

运行了一周后,我已经从ThingSpeak下载了CSV格式的整个Feed,并将其绘制到Excel中以获得更好的效果图。

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

    关注

    1

    文章

    691

    浏览量

    15338
  • ESP8266
    +关注

    关注

    50

    文章

    946

    浏览量

    43870
收藏 人收藏

    评论

    相关推荐

    如何读取PSoC6上的BME280传感器?

    我想在我的项目中使用 I2C 通信读取 BME280 传感器... 我正在使用 PSoC 6 + PSoC Creator 4.4 + BME280 但我不知道如何开始! CAN 有人帮我吗?
    发表于 01-29 07:21

    制作带有BME280ESP32 Web服务器

    DIY视频配套资料制作带有BME280ESP32 Web服务
    发表于 09-28 06:25

    Arduino BME280气象站仪表板

    电子发烧友网站提供《Arduino BME280气象站仪表板.zip》资料免费下载
    发表于 07-12 09:37 0次下载
    Arduino <b class='flag-5'>BME280</b><b class='flag-5'>气象站</b>仪表板

    BME280传感器的Arduino简易气象站

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

    MyLCD20x4时钟的BME280原理

    我们看看如何使用 BME280 测量值(温度、湿度、气压),并可以将其与来自 Particle Photon 机载功能的信息(在本例中为时间、“德语”中的工作日和日历周)相结合。
    发表于 06-21 16:13 0次下载
    MyLCD20x4时钟的<b class='flag-5'>BME280</b>原理

    求助,需要ESP8266受控鸡蛋孵化器的一些帮助

    我已经搜索了一些由 esp8266 控制的现有鸡蛋孵化器,但找不到我要找的东西我想要以下功能。 使用 BME280 传感器 温度监测和控制 湿度监测和控制 鸡蛋每天转动 4 次使用带限位开关的 12v 齿轮头电机 我还希望能够通过 blynk 或不同的物联网免费服务在互联
    发表于 06-06 07:53

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

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

    求分享I2C传感器的ESP-201的工作示例

    其他东西或使用 LUA 但不是直接的 Arduino 代码。 我正在使用这个: - Arduino IDE 1.6.9 - ESP8266(社区)库 v2.2.0 - EspFan 的库(https
    发表于 05-31 10:46

    在Uno、Mega、ESP8266ESP32上运行各种温度传感器,哪个温度传感器给出真实(实际)值?

    我在 Uno、Mega、ESP8266ESP32 上运行各种温度传感器,但我很好奇哪些最接近真实温度。 所有传感器都是数字的(I2C 或数据):DS18B20 (4x)、BMP280 (1x
    发表于 05-25 09:14

    BMP/BME280异常行为求解

    我有一个 Aliexpress 模块,一侧标记为 BMP/BME280,另一侧标记为 GYBMEP。传感器上的孔位于一侧而不是拐角处。芯片 ID 报告 0x60(我在
    发表于 05-25 08:42

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

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

    ESP8266MOD和BME280的电源问题如何解决?

    我在 ESP8266MOD 上使用带 BME280 传感器的 SPI。示例 ino 可与 Arduino Uno 和 BME 配合使用,但当我将所有内容移至 ESP8266 时,ino
    发表于 05-25 07:48

    ESP8266 NodeMCU真正进入深度睡眠状态时消耗多少电量?

    嗨, 我已经建立了一个小型太阳能气象站,配备了 ESP8266 NodeMCU(由 HiLetgo 提供)和: - HDC1080 - BMP280 - BH1750 - MAX17043
    发表于 05-12 08:42

    NodeMCU ESP8266通过SPI链接到Adafruit BME280温度、湿度和压力传感器,会阻止ESP启动并与IDE通信怎么解决?

    我有一个 AZDelivery NodeMCU ESP8266 [1] 通过 SPI 链接到 Adafruit BME280 温度、湿度和压力传感器 [2],当建立数据连接时,它会阻止 ESP 启动
    发表于 05-04 07:22

    ESP8266/ESP32在连接到Wifi网络时的问题求解

    我打算在我的温室中放置一些传感器(BME280、土壤湿度传感器……)来试验收集到的数据。 问题是我的 ESP8266 / ESP32 在连接到我的 Wifi 网络时遇到问题。 难道温室不是被认为是
    发表于 04-28 07:12