基于FireBeetle ESP32 IOT单片机设计太阳气象站
扫描二维码
随时随地手机看文章
获取温度,湿度和压力,并在互联网上显示它们;一切都由太阳提供能量。
对于我的第一个物联网项目,我想建立一个气象站,并将数据发送到data.sparkfun.com。
小更正:当我决定在Sparkfun开设账户时,他们不接受更多连接,所以我选择了另一个物联网数据收集器。
位置
这个系统将被放置在我的阳台上,它将获取温度、湿度和气压。
FireBeetle
本项目选用的单片机是DFRobot提供的FireBeetle ESP32 IOT单片机。
传感器
所有物理参数均由BME280传感器给出。也可以查看维基页面获取更多信息。
电源
为了使系统完全“无线化”,两个6V的太阳能电池板提供了所需的电力,可以提供2W的电力。电池将并联连接。
然后将产生的能量存储在3.7V聚合物锂离子电池中,容量为+/- 1000mAh。
DFRobot的太阳能油脂充电器模块将负责能源管理。
组件
连接组件
FireBeetle ESP32物联网微控制器由3.7V电池供电,该电池连接到电池输入端口的太阳能Lipo充电器。太阳能电池连接在压水堆端口。FireBeetle ESP32 IOT微控制器的Vcc和GND端口连接到太阳能Lipo充电器的Vout端口。
BME280电源由FireBeetle ESP32 IOT微控制器中的3.3V端口提供。通信通过I2C线(SDA / SCL)完成。
为了固定盒子中的所有组件,我使用了一个perfboard,一些头和电线。
基本思想是这样的:
最后的造型:
对于太阳能电池,我只是用热熔胶把它们固定在盒子的顶盖上。因为盒子已经有洞了,不需要再做了。
一切都安装好了,准备安装了。
代码
为了让您使用我的代码,需要进行一些更改。
第一个是定义你的wifi网络名称和密码。
第二种是从Thingspeak.com获取API Key。我将在下面解释它。
如果你愿意,你也可以定义一个新的睡眠间隔。
Thingspeak.com
在您的电子邮件通过验证后,您可以进入频道并创建一个新频道。
添加想要上传的变量。在本项目中,设置为“温度”、“湿度”和“压力”。
向下滚动并按“保存频道”。
在此之后,您可以单击API密钥。
并检索API写键。然后将其添加到代码文件中。
如果一切正常,您的气象站可以开始向您的频道发送数据。
结论
一如既往,在我的项目中,我将为未来的改进留出空间,这并没有什么不同。
在开发过程中,我开始关注系统的能耗。我已经将ESP32和BME280置于睡眠状态,即使如此,我也有大约2mA的消耗!!由于BME280负责这一点,我可能需要一个开关在睡眠模式下完全关闭模块。
另一个有趣的功能是检索电池电压。经过一些调查和测试的一些内部功能ESP32没有工作。所以我可能会添加一个分压器并将其连接到模拟输入并直接读取电压。
本文编译自hackster.io