/********************************************************************** Filename : Camera Web Server Description : The camera images captured by the ESP32S3 are displayed on the web page. Auther : www.freenove.com Modification: 2022/10/31 **********************************************************************/ #include"esp_camera.h" #include<WiFi.h>
// =================== // Select camera model // =================== //#define CAMERA_MODEL_WROVER_KIT // Has PSRAM //#define CAMERA_MODEL_ESP_EYE // Has PSRAM #define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM //#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM //#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM //#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM //#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM //#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM //#define CAMERA_MODEL_AI_THINKER // Has PSRAM //#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM // ** Espressif Internal Boards ** //#define CAMERA_MODEL_ESP32_CAM_BOARD //#define CAMERA_MODEL_ESP32S2_CAM_BOARD //#define CAMERA_MODEL_ESP32S3_CAM_LCD
int camerasw_status;//摄像头开关按键检测状态 int motorsw_status;//舵机开关按键检测状态 int doorbeesw_status;//门铃按键检测状态 int beep_status;//蜂鸣器状态 int duoji_status;//舵机状态 int people_status;//是否有人状态 Servo servo; //配置舵机函数 voidservo_init(void) { servo.setPeriodHertz(50); servo.attach(duoji,500,2500); servo.write(90); delay(500); Serial.println("舵机 初始化成功"); }
// if PSRAM IC present, init with UXGA resolution and higher JPEG quality // for larger pre-allocated frame buffer. if(psramFound()){ Serial.print("found psrame"); config.jpeg_quality = 10; config.fb_count = 2; config.grab_mode = CAMERA_GRAB_LATEST; } else { // Limit the frame size when PSRAM is not available config.frame_size = FRAMESIZE_SVGA; config.fb_location = CAMERA_FB_IN_DRAM; Serial.print("not found psrame"); }
// camera init esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { Serial.printf("Camera init failed with error 0x%x", err); return; }
sensor_t * s = esp_camera_sensor_get(); // initial sensors are flipped vertically and colors are a bit saturated s->set_vflip(s, 1); // flip it back s->set_brightness(s, 1); // up the brightness just a bit s->set_saturation(s, 0); // lower the saturation