14650| 10
|
[项目] ESP32太阳能气象站 |
我的第一个物联网项目想法是建立一个气象站,并将数据发送到data.sparkfun.com。 需要稍微调整的一点是,我原先想在Sparkfun上开设账户,但由于该平台不愿意新增连接,所以我选用了另一个物联网数据收集平台thingspeak.com。 继续…… 该系统将放在我的阳台上,用于检测温度、湿度和气压。 请前往DFRobot产品资料库页面了解更多关于此微控制器的信息以及如何使用Arduino软件 (IDE) 上传代码。 所有物理参数均由BME280传感器提供。请前往产品资料库页面了解更多信息。 为完全实现“无线”运作,系统所需电力将由两块6V太阳能电池板提供,其可产生功率为2W的电流。电池为并联连接。所产生的电能将储存于一个容量为+/- 1000mAh的3.7V聚合物锂电池 (Polymer Lithium Ion Battery) 中。 DFRobot的太阳能锂电池充电器 (Solar Lipo Charger) 模块将用于电量管理。 第1步:组件 第2步:组装 FireBeetle ESP32物联网微处理器由3.7V电池提供电力,该电池通过电池输入口与太阳能锂电池充电器相连接。太阳能电池连接到PWR In端口。 FireBeetle ESP32物联网微处理器的Vcc和GND端口则与太阳能锂电池充电器的Vout端口相连接。 BME280的电力来自于 FireBeetle ESP32物联网微处理器的3.3V端口。通过I2C总线(数据线SDA/时钟线SCL)进行数据传输。 为将所有组件固定于盒子之中,我使用了一块万能电路板和若干排针、电线。 至于太阳能电池,我只是用热胶将其粘于盒子的顶盖上。由于盒子本身有孔,因此无需额外打孔 :) 第3步:代码 在使用我的代码之前,需要做一些改动。 首先,规定你的wifi网络名称和密码。然后,从Thingspeak.com获取一个API密钥。我会在下文进行解释。此外,如果你愿意的话,可以规定一个新的睡眠间隔。 Thingspeak.com 前往www.thingspeak.com进行注册。 验证完电子邮件后,你可以前往通道 (Channels) 页面创建一个新的通道。添加你想要上传的变量。本项目上传的是温度、湿度和气压数据。 向下滚动并点击“保存通道 (Save Channel)”。之后,点击API密钥 (API Keys) ,获取API写入密钥。然后将其添加到你的代码文件中。 若各步操作无误,那么你的气象站就可以开始向你的通道发送数据了。 第4步:小结 一直以来,我都会为我的项目预留改进空间,这次也不例外。 在开发过程中,我开始注意到系统的能耗问题。即使在ESP32和BME280处于休眠状态的情况下,系统能耗也达到将近2mA!!!由于BME280能耗最大,因此我可能需要一个可以在休眠模式下完全关闭这个模块的开关。 另一个引起我注意的地方是电池电压读取问题。经过对ESP32部分内部功能的调查与测试,我发现这些功能都不适用。因此,我可能会添加一个分压器,并将其连接到模拟输入 (Analog Input) ,直接读取电压信息。如果你有更好的解决方案,请与我分享。 如果你发现任何错误或有任何建议、改进及疑问,请告诉我。 “不要厌烦,动起手来” 注:本项目制作人为Tiobel,他是一位才华横溢、勤勉努力的创客。 了解更多ESP32/ESP8266教程、项目,请点击 : ESP32教程 汇总贴 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed