步骤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文章
739浏览量
15627 -
ESP8266
+关注
关注
50文章
962浏览量
44775
发布评论请先 登录
相关推荐
评论