这是一款基于ESP32-CAM模块的开源运动侦测摄像机项目,它能够以低廉的价格提供强大的监控功能,是DIY爱好者和智能家居搭建者的理想选择。本文将详细介绍该项目的特性、功能以及使用方法。
主要功能
• 运动侦测: 核心功能,通过比较连续图像的像素差异来检测运动。用户可自定义灵敏度,以减少误报。运动侦测算法基于图像分割,将图像分成多个块,比较每个块的平均亮度变化,从而提高准确性。
• 图像捕捉与存储: 可以捕捉静态图像,并存储在ESP32-CAM的内部闪存(SPIFFS)或外部SD卡中。用户可以根据需要调整图像分辨率和存储方式。
• 远程访问: 通过WiFi连接,用户可以使用浏览器访问摄像机,查看实时图像流、查看已保存的图像、配置参数、以及进行固件更新。
• 邮件/FTP发送报警图像: 当检测到运动时,可以配置摄像机将图像通过邮件或FTP发送到指定的服务器,及时获取报警信息。
• OTA (空中升级): 支持OTA功能,方便用户更新程序到最新版本,提升安全性。需设置密码进行保护。
• 自定义设置: 提供丰富的参数设置选项,例如运动检测灵敏度、图像质量、邮件/FTP服务器设置等,方便用户根据实际情况进行调整。
• Web界面: 友好的Web界面,方便用户进行配置和监控。提供多个URL接口,例如
/ping
、/log
、/reboot
、/images
、/stream
等,方便用户进行各种操作。• 图像遮罩功能: 允许用户在界面上选择图像的哪些区域用于运动检测,从而减少不必要的触发。
• 低光照性能提升: 项目建议通过更换镜头来提升低光照条件下的摄像机性能,并提供了相应的镜头适配器设计文件。
硬件需求
• ESP32-CAM模块(建议使用带有PSRAM的版本)
• (可选)Micro SD卡,用于扩展存储空间
• (可选)外部WiFi天线,提高WiFi信号稳定性
• 5V电源,至少500mA,并建议加入滤波电容以保证供电稳定性
软件需求
• Arduino IDE
• ESP32开发板支持包
• 必要的Arduino库文件(ESP32_mail_client, ESP_wifimanager, Time)
安装与配置
1. 安装Arduino IDE和ESP32开发板支持包。
2. 下载CameraWifiMotion项目代码。
3. 安装必要的Arduino库文件。
4. 将代码上传到ESP32-CAM模块。
5. 通过浏览器访问摄像机的IP地址(第一次运行会创建一个热点),配置WiFi连接参数和其他设置。
使用技巧与注意事项
• 电源稳定性非常重要,否则可能会导致摄像机不稳定甚至损坏。
• WiFi信号强度受周围环境影响较大,建议使用外部天线。
• 运动检测灵敏度需要根据实际情况进行调整,避免误报。
• 使用邮件或FTP功能需要配置相应的账户信息。
总结
CameraWifiMotion是一个功能强大的开源ESP32-CAM运动侦测摄像机项目,它易于使用,并提供了丰富的功能和自定义选项。虽然项目本身的代码编写略显简陋,但是其功能性已经很强大,对于有动手能力的爱好者来说,它是一个不错的选择,可以根据自身需求进行改进和扩展。
项目地址:https://github.com/alanesq/CameraWifiMotion