# ESP32CAM-实时监控按键拍照上传服务器 **Repository Path**: YOUNGQI-LYQ/ESP32CAM--Real-time-monitoring-button-photo-upload-server ## Basic Information - **Project Name**: ESP32CAM-实时监控按键拍照上传服务器 - **Description**: 本项目使用ESP32CAM并基于网上开源项目实现,实时监控以及按键拍照上传服务器的功能 硬件:esp32cam+ov2640 可用于DIY远程监控等项目 - **Primary Language**: C/C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2024-09-08 - **Last Updated**: 2025-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: ESP32, ESP32CAM, 实时图传, 物联网, ov2640 ## README # ESP32CAM-实时监控按键拍照上传服务器 ### 介绍 本项目使用ESP32CAM并基于网上开源项目实现,实时监控以及按键拍照上传服务器的功能 ### 文件说明 `ESP32-CAM` 文件夹中为esp32cam的硬件源代码,其中一个为库文件需与项目.ino文件搭配使用。 项目部分代码使用网上的开源代码,借鉴部分开源项目的实现思路后实现本项目 `server.py`文件为项目的服务器端的运行脚本文件,在Linux云服务器上搭建`Flask`服务后放入指定文件夹下运行即可。 ### 环境配置 ESP32开发环境保持为`Arduino IDE 1.8.10`,并且搭配`乐鑫ESP32的1.0.6`设备库进行运行本项目。 服务器推荐使用云服务器,放行Python文件中的指定端口(示例为1080端口)。 # 使用教程 ## 硬件端 点击项目`.ino`文件后点击`编译`-`上传`显示上传成功即可,接线只需要将`io16`口连接`GND`作为开关动作触发拍照上传即可,详细信息查看终端输出和串口信息提示。 ## 服务器端 ### 1. 设置服务器环境 首先,确保你的阿里云服务器已经配置好 Python 环境,并且可以访问互联网。 #### 1.1 更新系统和安装必要的工具 ``` sudo apt-get update sudo apt-get install python3-pip ``` #### 1.2 安装 Flask ``` pip3 install flask ``` ### 2. 创建 Flask 应用程序 在服务器上创建一个 Flask 应用来接收和保存上传的图片: #### 2.1 创建项目文件夹 ``` mkdir esp32cam_server cd esp32cam_server ``` #### 2.2 创建 Flask 脚本 创建一个名为 `server.py` 的文件,并将代码粘贴进去,或者上传到该位置即可 ### 3. 运行 Flask 服务器 确保 `server.py` 文件具有可执行权限,然后运行 Flask 服务器: ``` python3 server.py ``` 这将启动一个在 `0.0.0.0:1080` 上运行的 HTTP 服务器,能够接收图片并将其保存到 `uploads` 目录中。 ### 4. 配置阿里云安全组规则 你需要在阿里云控制台中确保服务器的安全组规则允许端口 1080 的入站访问: 1. 登录到阿里云控制台。 2. 找到你的 ECS 实例,点击管理。 3. 在左侧菜单中,选择“安全组”。 4. 点击“配置规则”,然后添加一条规则,允许端口 `1080` 的 TCP 入站访问(允许所有 IP 或者限制为你的 ESP32-CAM 的 IP)。 ### 5. 测试上传功能 在 ESP32-CAM 中,将 `SERVER_IP` 替换为你的阿里云服务器的公网 IP 地址。 运行代码后,ESP32-CAM 按下开关时应能拍照并将图片上传到阿里云服务器上。上传成功的图片会保存在服务器的 `uploads` 目录中。 ### 6. 检查上传的图片 你可以通过 SSH 登录到服务器,并查看 `uploads` 目录中的图片: ``` cd esp32cam_server/uploads ls ```