ESP32-CAM_MJPEG2SD:功能丰富的开源网络摄像头项目
ESP32-CAM_MJPEG2SD是GitHub用户s60sc开发的一个基于ESP32/ESP32S3开发板的开源网络摄像头项目。该项目利用ESP32-CAM或ESP32S3-CAM等摄像头模块,实现了丰富的网络摄像头功能,包括:
- 运动检测录像并保存为AVI格式视频文件
- 网页直播视频流
- 音频录制(ESP32S3)
- 远程FTP/HTTPS上传录像文件
- Telegram机器人报警通知
- MQTT控制
- WebDAV访问SD卡文件
- 多摄像头集中管理
- 遥控车载摄像头
- 机器学习目标检测
等等。这些功能使其成为DIY安防摄像头、野生动物监测、FPV遥控等应用的理想选择。
主要特性
- 运动检测录像
ESP32-CAM_MJPEG2SD可以利用摄像头模块自带的运动检测功能,或外接PIR传感器来触发录像。录像以MJPEG格式保存为AVI文件,可以在普通媒体播放器中回放。录像文件按日期时间命名并保存在SD卡中。
- 网页直播
通过内置的Web服务器,可以在浏览器中实时查看摄像头画面。Web界面还提供了录像回放、参数设置等功能。
- 音频录制
在ESP32S3上支持连接I2S或PDM麦克风进行音频录制,将音频保存在AVI文件中。
- 远程访问
支持通过FTP/HTTPS上传录像文件到远程服务器。也可以通过WebDAV协议直接访问SD卡内容。
- 报警通知
可以配置Telegram机器人,在检测到运动时发送报警消息和截图。
- MQTT控制
支持通过MQTT协议远程控制摄像头,如开始/停止录像等。
- 多摄像头管理
Camera Hub功能可以在一个界面中管理多个ESP32-CAM_MJPEG2SD设备。
- 遥控车载
支持将摄像头安装在遥控车上,实现FPV遥控功能。
- 机器学习
可以集成Edge Impulse的机器学习模型,实现目标检测等高级功能。
硬件要求
ESP32-CAM_MJPEG2SD支持以下硬件:
- ESP32-CAM开发板
- ESP32S3-CAM开发板(推荐,性能更好)
- OV2640/OV5640摄像头模块
- Micro SD卡(建议4GB以上)
- 可选:麦克风模块、PIR传感器等
ESP32S3由于内置更大的PSRAM,性能更好,可以支持更高的帧率和分辨率。
安装使用
- 从GitHub下载项目源码
- 在Arduino IDE中打开,选择正确的开发板
- 修改WiFi等配置参数
- 编译上传到开发板
- 首次运行时会自动创建AP热点,连接后配置WiFi
- 之后可通过Web界面进行各项设置
整个过程比较简单,适合有一定Arduino开发经验的爱好者使用。
应用场景
ESP32-CAM_MJPEG2SD项目的应用场景非常广泛,例如:
- DIY家庭安防摄像头
- 野生动物监测摄像头
- 婴儿/宠物监视器
- 远程环境监控
- FPV遥控车载摄像头
- 延时摄影
- 3D扫描摄影(光度测量)
总之,这是一个功能丰富、易于定制的开源网络摄像头解决方案,为DIY爱好者提供了极大的发挥空间。如果你有兴趣尝试自己动手制作一个智能网络摄像头,ESP32-CAM_MJPEG2SD绝对是一个值得尝试的优秀项目。
总结
ESP32-CAM_MJPEG2SD充分发挥了ESP32/ESP32S3强大的处理能力和丰富的外设接口,实现了专业级网络摄像头的众多功能。它不仅可以满足普通用户的家庭安防需求,还为开发者提供了一个理想的物联网摄像头开发平台。随着项目的不断更新和社区的贡献,相信未来会有更多有趣的功能加入其中。无论你是IoT开发者还是DIY爱好者,都可以在这个项目中找到适合自己的应用方向。