设为首页收藏本站

ESP32太阳能气象站

Ash 发表于 2017-11-2 14:44:12 | 显示全部楼层 |阅读模式 [复制链接]
0 696

备注:此项目制作人为Tiobel,他是一位才华横溢、勤勉努力的制作者。点击这里查看原项目
来自DFRobot英文网站,转载需私信授权。

截图201709141748579324.png

我的第一个物联网项目想法是建立一个气象站,并将数据发送到data.sparkfun.com。
需要矫正是,我原想在Sparkfun上注册账户,但他们不愿新增连接,所以我选用了另一个物联网数据收集平台thingspeak.com。
然后……
我想将这个系统将放置在阳台上,以检测外部温度、湿度和气压。
更多关于此微控制器的信息以及如何使用Arduino IDE软件上传代码的信息,敬请访问DFRobot产品资料库页面。
所有物理参数均由BME280传感器提供。更多信息,敬请访问产品资料库页面。
为完全实现“无线”运作,系统采用并联连接的两块放电功率分别为1W,电压为6V太阳能电池板供电。太阳能电池板所产生的电能储存在一个容量为+/- 1000mAh的3.7V聚合物锂离子电池中。
DFRobot的太阳能锂聚合物电池充电器模块将负责能量管理。

步骤1:组件

截图201709141749188861.png

截图201709141749296288.png

此项目所需组件:

  • 1x – DFRobot FireBeetle系列ESP32物联网开发板  DFR0478
  • 1x - DFRobot Gravity - I2C BME280 SEN0236
  • 1x - DFRobot 3.7V聚合物锂离子电池 FIT0120
  • 1x – DFRobot太阳能锂聚合物电池充电器 DFR0264
  • 2x - 6V/1W太阳能电池板
  • 1x – 万能电路板
  • 1x – 排母
  • 1x – 外壳/盒子
  • 电线
  • 螺丝

还需准备以下工具:

  • 热胶枪
  • 烙铁
  • 钻孔机

步骤2:组装

截图201709141749425491.png

截图201709141749504203.png

截图201709141750006362.png

截图201709141750314183.png

截图201709141750404979.png

截图201709141750491925.png

FireBeetle系列ESP32物联网微处理器由3.7V电池供电,该电池通过电池输入口与太阳能锂聚合物电池充电器相连接。太阳能电池连接到PWR In端口。FireBeetle系列ESP32物联网微处理器的Vcc和GND端口则与太阳能锂聚合物电池充电器的Vout端口相连接。
BME280的电力来自于FireBeetle ESP32物联网微处理器的3.3V端口。通过I2C总线(双向数据线SDA/时钟线SCL)进行数据传输。
为将所有组件固定于盒子之中,我使用了一块万能电路板和若干排针、电线。
至于太阳能电池,我用热胶将其粘于盒子的顶盖上。由于盒子本身有孔,因此无需额外打孔。

步骤3:代码

截图201709141751023671.png

截图201709141751272374.png

截图201709141751377071.png

截图201709141751478071.png

截图201709141751571446.png

在使用我的代码之前,需要做一些改动。
首先,确定你的wifi网络名称和密码。然后,从Thingspeak.com获取一个API密钥。我会在下文进行解释。此外,如果你愿意的话,可以定义一个新的睡眠间隔时间。
Thingspeak.com
如果你没有Thingspeak账户,请登录http://www.thingspeak.com进行注册。
验证电子邮件后,你可转到通道 (Channels) 页面创建一个新的通道。添加你想要上传的变量。在此项目中,我们要上传的是温度、湿度和气压数据。
向下滚动并点击“保存通道 (Save Channel) ”。之后,点击API密钥 (API Keys) ,获取API写入密钥。然后将其添加到代码文件中。
若上述步操作无误,则你的气象站就可以开始向通道发送数据了。

步骤4:总结

截图201709141752222780.png

我在项目中总会为今后的改进预留一些空间,这次也不例外。

在开发过程中,我开始注意到系统的能耗问题。即使在ESP32和BME280处于休眠状态时,系统能耗也接近2mA!!!由于BME280能耗最大,因此可增加一个可在休眠模式下完全关闭这个模块的开关。

另一个我比较关注的地方是电池电压。经过调查与测试,ESP32的一些内部功能完全失效。因此,我可能会添加一个分压器,并将其连接到模拟输入,以直接读取电压信息。如果你有更好的解决方案,请与我分享。

如果你发现任何错误或有任何意见、建议及疑问,请告诉我。

"Do not get bored, do something"
备注:此项目制作人为Tiobel,他是一位才华横溢、勤勉努力的制作者。点击这里查看原项目
来自DFRobot英文网站,转载需私信授权。






您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则 允许回帖同步到新浪微博  

  • 管理员
  • 9951
  • 311
  • 活跃会员

    活跃会员

  • 特邀作者

    特邀作者

  • 版主限定

    版主限定

推荐阅读

精华导读




公司简介| 联系我们| 小黑屋| 加入我们| 微博| 优酷| 英文网站| DF创客社区 ( 沪ICP备09038501号-4  
友情链接| 硬创邦| 花生壳社区| 模友之吧| 电子发烧友社区| 创客星球| 云汉电子社区| 电子工程网| 与非网| Arduino中文社区| 南极熊3D打印网| OneNET|

上海智位机器人有限公司  沪ICP备09038501号-4   

Powered by Discuz! X3.1

Licensed Comsenz Inc.

返回顶部 返回列表