Files
ESP32-CAM-ONVIF/ESP32CAM-ONVIF/camera_control.cpp
2025-06-03 18:43:58 +05:30

60 lines
1.5 KiB
C++

#include "camera_control.h"
#include <WiFi.h>
#include "esp_camera.h"
// ========== User Config ==========
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
// =================================
bool camera_init() {
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = 5;
config.pin_d1 = 18;
config.pin_d2 = 19;
config.pin_d3 = 21;
config.pin_d4 = 36;
config.pin_d5 = 39;
config.pin_d6 = 34;
config.pin_d7 = 35;
config.pin_xclk = 0;
config.pin_pclk = 22;
config.pin_vsync = 25;
config.pin_href = 23;
config.pin_sccb_sda = 26;
config.pin_sccb_scl = 27;
config.pin_pwdn = 32;
config.pin_reset = -1;
config.xclk_freq_hz = 20000000;
config.pixel_format = PIXFORMAT_JPEG;
config.frame_size = FRAMESIZE_VGA;
config.jpeg_quality = 12;
config.fb_count = 2;
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
Serial.printf("[ERROR] Camera init failed: 0x%x\n", err);
return false;
}
Serial.println("[INFO] Camera initialized.");
return true;
}
bool wifi_connect() {
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.print("[INFO] Connecting to WiFi");
for (int i = 0; i < 40 && WiFi.status() != WL_CONNECTED; i++) {
delay(250);
Serial.print(".");
}
if (WiFi.status() == WL_CONNECTED) {
Serial.println("\n[INFO] WiFi connected: " + WiFi.localIP().toString());
return true;
} else {
Serial.println("\n[ERROR] WiFi connect failed.");
return false;
}
}