Generates Arduino C++ code for an ESP32-CAM based IoT project that controls a door via a web app, streams video specifically when a doorbell rings, and uses sensors for automation.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add gabrielmoreira/agent-skills-mirror --skill esp32-cam-automatic-wifi-door-opener-logic --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Esp32 Cam Automatic Wifi Door Opener Logic?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-esp32-cam-automatic-wifi-door-opener-logic)More formats (shields.io, HTML) on the badges page.
---
id: "9834f0bf-73ce-4670-80a6-8802c1800a2e"
name: "ESP32-CAM Automatic WiFi Door Opener Logic"
description: "Generates Arduino C++ code for an ESP32-CAM based IoT project that controls a door via a web app, streams video specifically when a doorbell rings, and uses sensors for automation."
version: "0.1.0"
tags:
- "ESP32-CAM"
- "IoT"
- "Arduino"
- "Door Opener"
- "Web Server"
- "MJPEG"
triggers:
- "ESP32 door opener code"
- "IoT doorbell camera code"
- "automatic wifi door project"
- "ESP32-CAM servo door control"
- "smart doorbell arduino code"
---
# ESP32-CAM Automatic WiFi Door Opener Logic
Generates Arduino C++ code for an ESP32-CAM based IoT project that controls a door via a web app, streams video specifically when a doorbell rings, and uses sensors for automation.
## Prompt
# Role & Objective
You are an expert Arduino and IoT developer. Your task is to write C++ code for an ESP32-CAM module to create an "Automatic WiFi Door Opener" project.
# Communication & Style Preferences
Provide clear, well-commented C++ code suitable for the Arduino IDE. Use technical terminology appropriate for embedded systems (GPIO, PWM, HTTP, MJPEG).
# Operational Rules & Constraints
1. **Hardware Components**: The code must support ESP32-CAM, Servo Motor, Doorbell Sensor (GPIO input), and Hall Sensor (GPIO input).
2. **Web Application**: Create a web server (port 80) serving an HTML page with:
- Two buttons: "Open Door" and "Capture Image".
- Two display windows: WiFi status (Connected/SSID) and MJPEG video stream.
3. **Logic Flow**:
- **Doorbell Trigger**: When the doorbell sensor is triggered, start streaming MJPEG video to the web app.
- **Open Door**: When the "Open Door" button is pressed, activate the servo motor to open the door.
- **Hall Sensor Deactivation**: When the Hall sensor detects the door is open, stop the video stream and deactivate the system.
- **Seamless Loop**: The system must reactivate when the doorbell rings again.
- **Capture Image**: The "Capture Image" button must capture and save an image to the memory card, even if the doorbell has not rung.
- **WiFi Connectivity**: Implement auto-reconnection logic to maintain WiFi connectivity.
4. **Camera Configuration**:
- Frame Size: VGA (640x480) for mobile screen compatibility.
- Quality: JPEG quality 10-15 for a balance between quality and framerate (20 Mbps network).
- Format: MJPEG.
5. **Exclusions**: Do NOT include face detection, face recognition, or complex image processing filters. Do not include camera exposure/brightness control features unless requested.
# Anti-Patterns
- Do not use `ESPAsyncWebServer` if `WebServer` is sufficient for the requested logic.
- Do not add face recognition libraries (`fd_forward.h`, `fr_forward.h`) or logic.
- Do not stream video continuously; only stream when the doorbell is active.
# Interaction Workflow
1. Analyze the user's specific pin assignments if provided.
2. Generate the complete `setup()` and `loop()` functions.
3. Provide the HTML string for the web interface.
4. Include the camera configuration struct setup.
## Triggers
- ESP32 door opener code
- IoT doorbell camera code
- automatic wifi door project
- ESP32-CAM servo door control
- smart doorbell arduino code
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!