├── PPT FINAL[1].pptx ├── Abstract for our project named "ADVANCED SECURITY SYSTEM UTILIZING ESP32 CAMERA FOR SMART FEATURES" ├── Methodology for our project └── code for our project /PPT FINAL[1].pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HARIRAJAN16/ADVANCED-SECURITY-SYSTEM-UTILIZING-ESP32-CAMERA-FOR-SMART-FEATURES/HEAD/PPT FINAL[1].pptx -------------------------------------------------------------------------------- /Abstract for our project named "ADVANCED SECURITY SYSTEM UTILIZING ESP32 CAMERA FOR SMART FEATURES": -------------------------------------------------------------------------------- 1 | Abstract: 2 | This paper introduces an advanced smart security system designed for bike and home locks, utilizing the ESP32-CAM WiFi Bluetooth Development Board with OV2640 Camera Module. The system combines real-time video monitoring, motion detection, and face recognition to enhance traditional locking mechanisms with smart features. Leveraging the ESP32-CAM’s WiFi and Bluetooth connectivity, the solution enables remote access, real-time alerts, and secure unlocking via authorized facial identification or mobile app controls. The OV2640 camera module ensures high-quality image capture for reliable recognition, while the system’s compact and energy-efficient design makes it ideal for portable and stationary security applications. This IoT-enabled approach redefines lock systems, offering enhanced security, convenience, and scalability for personal and residential use. 3 | -------------------------------------------------------------------------------- /Methodology for our project: -------------------------------------------------------------------------------- 1 | The methodology for the advanced security system utilizing the ESP32-CAM integrates a cohesive approach to leveraging the specified components for creating a robust smart lock solution. The ESP32-CAM WiFi Bluetooth Development Board with OV2640 Camera Module serves as the central processing and surveillance unit, providing wireless connectivity for remote access and high-quality image capture. The system incorporates an FT232RL USB to TTL 3.3V 5V Serial Adapter Module, which facilitates seamless programming and debugging of the ESP32-CAM during development. 2 | To enhance the locking mechanism, a 12V Electronic Door Lock assembly solenoid is employed for secure physical locking and unlocking, featuring low power consumption for efficiency. A 5V Single Channel RELAY Module acts as an interface between the ESP32-CAM and the solenoid lock, ensuring safe control of high-power operations. The integration of 20cm Female to Female Jumper Cable Wires ensures easy and flexible connections between the components. 3 | Firmware development using Arduino IDE focuses on implementing core functionalities such as video streaming, motion detection, and face recognition. When an authorized face is detected or a mobile app command is received, the ESP32-CAM triggers the relay module to control the electronic lock. Real-time alerts and remote access are enabled via WiFi. The hardware is tested and mounted in durable enclosures suitable for both bike and home lock applications, ensuring portability and security. This integrated approach delivers a smart, energy-efficient, and scalable solution for modern security requirements. 4 | -------------------------------------------------------------------------------- /code for our project: -------------------------------------------------------------------------------- 1 | #include "esp_camera.h" 2 | #include 3 | 4 | // 5 | // Select camera model 6 | //#define CAMERA_MODEL_WROVER_KIT 7 | //#define CAMERA_MODEL_ESP_EYE 8 | //#define CAMERA_MODEL_M5STACK_PSRAM 9 | //#define CAMERA_MODEL_M5STACK_WIDE 10 | #define CAMERA_MODEL_AI_THINKER //Uncomment CAMERA_MODEL_AI_THINKER 11 | #include "camera_pins.h" 12 | const char* ssid = "Galaxy-M20"; 13 | const char* password = "ac312124"; 14 | #define LED_BUILTIN 4 15 | #define relay 4 16 | #define buzzer 2 17 | boolean matchFace = false; 18 | boolean activeRelay = false; 19 | long prevMillis = 0; 20 | int interval = 5000; 21 | void startCameraServer(); 22 | void setup() { 23 | Serial.begin(115200); 24 | Serial.setDebugOutput(true); 25 | Serial.println(); 26 | pinMode(relay, OUTPUT); 27 | pinMode(buzzer, OUTPUT); 28 | pinMode (LED_BUILTIN, OUTPUT); 29 | digitalWrite(LED_BUILTIN, LOW); 30 | digitalWrite(relay, LOW); 31 | digitalWrite(buzzer, LOW); 32 | camera_config_t config; 33 | config.ledc_channel = LEDC_CHANNEL_0; 34 | config.ledc_timer = LEDC_TIMER_0; 35 | config.pin_d0 = Y2_GPIO_NUM; 36 | config.pin_d1 = Y3_GPIO_NUM; 37 | config.pin_d2 = Y4_GPIO_NUM; 38 | config.pin_d3 = Y5_GPIO_NUM; 39 | config.pin_d4 = Y6_GPIO_NUM; 40 | config.pin_d5 = Y7_GPIO_NUM; 41 | config.pin_d6 = Y8_GPIO_NUM; 42 | config.pin_d7 = Y9_GPIO_NUM; 43 | config.pin_xclk = XCLK_GPIO_NUM; 44 | config.pin_pclk = PCLK_GPIO_NUM; 45 | config.pin_vsync = VSYNC_GPIO_NUM; 46 | config.pin_href = HREF_GPIO_NUM; 47 | config.pin_sscb_sda = SIOD_GPIO_NUM; 48 | config.pin_sscb_scl = SIOC_GPIO_NUM; 49 | config.pin_pwdn = PWDN_GPIO_NUM; 50 | config.pin_reset = RESET_GPIO_NUM; 51 | config.xclk_freq_hz = 20000000; 52 | config.pixel_format = PIXFORMAT_JPEG; 53 | //init with high specs to pre-allocate larger buffers 54 | if (psramFound()) { 55 | config.frame_size = FRAMESIZE_UXGA; 56 | config.jpeg_quality = 10; 57 | config.fb_count = 2; 58 | } else { 59 | config.frame_size = FRAMESIZE_SVGA; 60 | config.jpeg_quality = 12; 61 | config.fb_count = 1; 62 | } 63 | #if defined(CAMERA_MODEL_ESP_EYE) 64 | pinMode(13, INPUT_PULLUP); 65 | pinMode(14, INPUT_PULLUP); 66 | #endif 67 | // camera init 68 | esp_err_t err = esp_camera_init(&config); 69 | if (err != ESP_OK) { 70 | Serial.printf("Camera init failed with error 0x%x", err); 71 | return; 72 | } 73 | sensor_t * s = esp_camera_sensor_get(); 74 | //initial sensors are flipped vertically and colors are a bit saturated 75 | if (s->id.PID == OV3660_PID) { 76 | s->set_vflip(s, 1);//flip it back 77 | s->set_brightness(s, 1);//up the blightness just a bit 78 | s->set_saturation(s, -2);//lower the saturation 79 | } 80 | //drop down frame size for higher initial frame rate 81 | s->set_framesize(s, FRAMESIZE_QVGA); 82 | #if defined(CAMERA_MODEL_M5STACK_WIDE) 83 | s->set_vflip(s, 1); 84 | s->set_hmirror(s, 1); 85 | #endif 86 | WiFi.begin(ssid, password); 87 | while (WiFi.status() != WL_CONNECTED) { 88 | delay(500); 89 | Serial.print("."); 90 | } 91 | Serial.println(""); 92 | Serial.println("WiFi connected"); 93 | startCameraServer(); 94 | Serial.print("Camera Ready! Use 'http://"); 95 | Serial.print(WiFi.localIP()); 96 | Serial.println("' to connect"); 97 | } 98 | void loop() { 99 | if (matchFace == true && activeRelay == false) { 100 | activeRelay = true; 101 | digitalWrite (relay, HIGH); 102 | digitalWrite (buzzer, HIGH); 103 | delay(800); 104 | digitalWrite (buzzer, LOW); 105 | prevMillis = millis(); 106 | } 107 | if (activeRelay == true && millis() - prevMillis > interval) { 108 | activeRelay = false; 109 | matchFace = false; 110 | digitalWrite(relay, LOW); 111 | } 112 | } 113 | --------------------------------------------------------------------------------