打造一款基于ESP32-CAM的超低功耗无线摄像机

文摘   科技   2024-11-14 00:02   湖南  

项目概述

这是一个基于ESP32-CAM模块的太阳能供电无线摄像头DIY项目。该项目采用商用现成组件设计了一个相对坚固防尘防水的实验平台,适合户外使用。

这种摄像机非常适合用于野生动物自动拍摄、安防等。使用ESP32-CAM平台可以极大的降低硬件成本。

主要特点如下:

  • • 采用ESP32-CAM模块作为核心控制单元

  • • 通过一系列低功耗修改,将ESP32-CAM开发板的深度睡眠电流降至0.8mA

  • • 利用太阳能电池板和BQ25504电源管理芯片进行能量收集和电池充电

  • • 可在有限的太阳能条件下,每天至少拍摄并上传一张照片

  • • 提供了基本的固件和服务器端软件,作为开发的起点


关键组件

  1. 1. ESP32-CAM模块: 基于ESP32-S芯片的低功耗摄像头模块,集成OV2640图像传感器和Micro SD卡槽。

  2. 2. BQ25504电源管理芯片: 一款高效的太阳能能量收集及电池充电管理芯片,可从低至130mV的太阳能电池输出进行充电。

  3. 3. 太阳能电池板: 项目中使用了多种尺寸的太阳能电池板,包括39.5x39.5mm、30x25mm和53x18mm,根据实际安装空间选择合适的尺寸。

  4. 4. 3.2V LiFePO4电池: 作为能量储存元件,可与BQ25504模块配合使用。

  5. 5. 防水外壳: 采用常见的运动相机防水外壳,既能防水防尘,又提供安装支架。

  6. 6. PCB主板: 专门设计的PCB主板,可放置ESP32-CAM模块和其他电子元件,并集成编程、调试接口。

  7. 材料清单见文末链接,也可以通过点击“阅读原文”获取。

降低功耗

原厂的ESP32-CAM模块并非专为低功耗设计,未经修改时的深度睡眠电流高达2.8mA,远不能满足太阳能供电的要求。经过以下几项修改后,可将深度睡眠电流降至0.8mA:

  1. 1. 移除5V转3.3V稳压器,改为直接从3.2V LiFePO4电池供电

  2. 2. 切断为相机供电的3.3V线路,改由MOSFET开关控制2.8V和1.2V两路电压

  3. 3. 移除板载LED,将GPIO33引脚接至5V供电,用于外接调试LED

这些修改大幅降低了功耗,满足了短期太阳能供电的需求。

能量收集与消耗预算

为了最大化有限的太阳能输出,项目采用了BQ25504能量收集模块。该模块可从低至130mV的太阳能电池输出进行充电,即使在遮阳情况下也能维持一定的充电电流。

根据测试数据,一块40x40mm的太阳能电池在阳光充足时可输出约65mA@2V,功率约0.13W。而ESP32在发送数据时功耗约0.66W,两者存在较大差距,无法连续工作。

为此,需要采用间歇工作的方式:ESP32在深度睡眠模式下仅耗0.003W,12小时白天积累的能量完全可以维持这种低功耗运行。计算表明,每天只需平均4626勒克斯的日照强度,就能支撑每天拍摄并上传1张照片的需求。

如果使用较小的30x25mm太阳能电池板,则所需日照强度需增加4倍,达到每天约18500勒克斯。这种情况下,只有在阳光充足的环境下才能正常工作。

固件和软件

项目提供了基础的固件和服务器端软件,供开发者进一步完善:

  • • 固件负责拍摄照片、存储SD卡、通过HTTP POST上传到服务器,然后进入深度睡眠

  • • 服务器端使用Golang编写,接收HTTP POST请求并保存照片到本地


此外,还可以进一步完善的功能包括:

  • • Wi-Fi凭证无需重新烧录即可设置

  • • 与服务器通信时增加认证机制

  • • 支持远程配置拍摄间隔、图像参数等

  • • 基于RTC的定时拍摄功能

  • • 优化天线布局以改善Wi-Fi连接

总结

由于使用了低成本的ESP32-CAM模块,图像质量有一定局限性,需根据实际环境调整参数。但整体而言,该项目在有限的太阳能条件下,能够实现每天至少拍摄并上传一张照片的功能,是一个不错的DIY实践平台。如果感兴趣可进一步丰富这个项目的功能,例如加入PIR传感器实现运动检测,或者与其他IoT设备进行集成,开发出更加智能和实用的太阳能供电监控系统。总之,这个项目为ESP32低功耗应用提供了一个很好的起点和参考。

ESP32代码:https://github.com/galopago/esp32cam-upload

服务器代码:https://github.com/galopago/golang-upload-server


DIY太阳系
专注分享嵌入式系统、电子产品diy,iot、机器人等相关知识!
 最新文章