用ESP32-CAM打造一个强大的智能监控系统

三奇 关注

收藏于 : 2024-04-10 23:04   被转藏 : 1   

功能概览

开源项目ESP32-CAM_MJPEG2SD提供了一款功能强大的ESP32相机应用程序,可以实现运动检测、定时拍摄、音频录制、遥控等多种功能。它可以将拍摄到的图像以AVI视频的形式存储到SD卡上,同时也可以将视频流实时传输到浏览器上进行观看。该项目支持多种扩展功能,如控制云台、接入各种传感器等,为用户提供了一个全面的智能监控系统解决方案。

主要功能

  1. 1.  运动检测录制 : 应用程序可以通过摄像头或PIR/雷达传感器检测运动,并自动开始录制AVI视频。

  2. 下图为运动检测示意图:

  3. 2.  定时录制 : 该应用程序还支持定时拍摄功能,可以定期拍摄照片并保存为AVI视频。

  4. 3.  音频录制 : 如果接入麦克风,在录制视频的同时还可以录制WAV格式的音频,并将其嵌入AVI文件中。

  5. 4.  云台控制 : 应用程序支持连接伺服电机,可以控制摄像头的平移和倾斜。还可以控制照明灯的开关。

  6. 5.  遥控功能 : 该应用程序支持通过浏览器远程控制安装了相机的设备,例如遥控车辆进行FPV。

  7. 6.  告警通知 : 支持通过即时通信软件接口或Email发送运动检测告警。

  8. 7.  多路流媒体 : 可以同时向浏览器和远程NVR系统传输视频流。

  9. 8.  文件管理 : 支持通过FTP、HTTPS、WebDAV等方式上传/下载录制的视频文件。也可以在浏览器中直接下载播放。

  10. 9.  MQTT控制 : 支持通过MQTT协议远程控制相机。

  11. 10.  扩展性 : 支持连接伺服电机、电机驱动、摇杆、各种传感器等外围设备。还提供机器学习接口。

硬件选择

该项目支持ESP32和ESP32-S3两种主控芯片,其中ESP32-S3性能更强,能够提供更好的功能和性能表现。

安装与配置

  1. 1. 从GitHub下载项目源码,并使用Arduino IDE进行编译和烧录。需要选择正确的开发板型号和分区方案。

  2. 2. 首次使用时,设备会进入AP模式,可以通过连接192.168.4.1进行WiFi等参数的设置。

  3. 3. 后续可以通过OTA方式升级应用程序或网页文件。也可以通过WebDAV客户端管理SD卡内容。

  4. 4. 可以在网页配置界面对各种参数进行调整,如分辨率、帧率、图像质量等。还可以配置外围设备和传感器。

性能数据

在使用Sandisk Class 2 4GB SDHC卡的情况下,ESP32-CAM_MJPEG2SD的录制性能如下:

分辨率 最大FPS 实际FPS 检测延迟(ms)
96x96 50 45 15
QQVGA 50 45 20
QCIF 50 45 30
HQVGA 50 45 40
240x240 50 45 55
QVGA 50 40 70
CIF 50 40 110
HVGA 50 40 130
VGA 25 20 80
SVGA 25 20 120
XGA 12.5 5 180
HD 12.5 5 220
SXGA 12.5 5 300
UXGA 12.5 5 450

而使用Freenove ESP32-S3 Cam板(ESP32-S3 N8R8模块)时,性能大约是ESP32的2倍,可以在最大OV2640帧率下录制包括音频在内的所有分辨率,仅UXGA分辨率受限于10FPS。

其他功能

  1. 1.  WebDAV服务 : 内置WebDAV服务器,可以通过Windows资源管理器等客户端直接访问SD卡内容。

  2. 2.  遥程控制 : 支持通过浏览器远程控制安装相机的设备,如遥控车辆。

  3. 3.  机器学习 : 支持集成基于Edge Impulse的机器学习模型,进一步识别感兴趣的目标。

  4. 4.  相机集群 : 支持同时访问多个ESP32-CAM_MJPEG2SD相机设备的web界面。

  5. 5.  NVR流媒体 : 支持向远程NVR系统单独传输视频、音频和字幕流。

总的来说,ESP32-CAM_MJPEG2SD是一款功能丰富、性能优秀的ESP32相机应用程序,为用户提供了一个全能的智能相机解决方案。无论是安防监控、野外观察还是FPV应用,该项目都能满足各种需求。对于有一定动手能力的用户而言,这无疑是一个非常值得尝试的优秀项目。

项目地址:https://github.com/s60sc/ESP32-CAM_MJPEG2SD

更多内容请关注:


 阅读文章全部内容  
点击查看
文章点评
相关文章
三奇 关注

文章收藏:2230

TA的最新收藏