|
|
|
//While Uploading Code on ESP32 Board 1, comment the lines number: 17,36 and Uncomment lines: 16,35 |
|
|
|
#include "esp_camera.h" |
|
#include <WiFi.h> |
|
#include <WiFiClient.h> |
|
#include <BlynkSimpleEsp32.h > |
|
|
|
// Select camera model |
|
#define CAMERA_MODEL_AI_THINKER // Has PSRAM |
|
|
|
#include "camera_pins.h" |
|
|
|
#define PHOTO 14 //ESP32 CAM 1 |
|
|
|
#define LED 4 |
|
#define buzzer 2 |
|
|
|
const char* ssid = "…….."; //wifi name |
|
const char* password = "……"; //password |
|
char auth[] = "OeEX1CmnGKDP-ddspBqy_3u-IbWZ5a2L"; //Auth Code sent by Blynk |
|
|
|
String local_IP; |
|
|
|
int count = 0; |
|
void startCameraServer(); |
|
|
|
void takePhoto() |
|
{ |
|
digitalWrite(LED, HIGH); |
|
delay(200); |
|
uint32_t randomNum = random(50000); |
|
Serial.println("http://"+local_IP+"/capture?_cb="+ (String)randomNum); |
|
Blynk.setProperty(V1, "urls", "http://"+local_IP+"/capture?_cb="+(String)randomNum); //ESP32 CAM 1 |
|
digitalWrite(LED, LOW); |
|
delay(1000); |
|
} |
|
|
|
|
|
void buzzerFunction(int toneCode) |
|
{ |
|
if(toneCode==1) |
|
{ |
|
digitalWrite(buzzer,HIGH); |
|
delay(50); |
|
digitalWrite(buzzer,LOW); |
|
delay(100); |
|
digitalWrite(buzzer,HIGH); |
|
delay(50); |
|
digitalWrite(buzzer,LOW); |
|
} |
|
else if(toneCode==2) |
|
{ |
|
digitalWrite(buzzer,HIGH); |
|
delay(200); |
|
digitalWrite(buzzer,LOW); |
|
delay(100); |
|
digitalWrite(buzzer,HIGH); |
|
delay(200); |
|
digitalWrite(buzzer,LOW); |
|
delay(100); |
|
digitalWrite(buzzer,HIGH); |
|
delay(200); |
|
digitalWrite(buzzer,LOW); |
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void setup() { |
|
Serial.begin(115200); |
|
pinMode(LED,OUTPUT); |
|
pinMode(buzzer,OUTPUT); |
|
Serial.setDebugOutput(true); |
|
Serial.println(); |
|
|
|
camera_config_t config; |
|
config.ledc_channel = LEDC_CHANNEL_0; |
|
config.ledc_timer = LEDC_TIMER_0; |
|
config.pin_d0 = Y2_GPIO_NUM; |
|
config.pin_d1 = Y3_GPIO_NUM; |
|
config.pin_d2 = Y4_GPIO_NUM; |
|
config.pin_d3 = Y5_GPIO_NUM; |
|
config.pin_d4 = Y6_GPIO_NUM; |
|
config.pin_d5 = Y7_GPIO_NUM; |
|
config.pin_d6 = Y8_GPIO_NUM; |
|
config.pin_d7 = Y9_GPIO_NUM; |
|
config.pin_xclk = XCLK_GPIO_NUM; |
|
config.pin_pclk = PCLK_GPIO_NUM; |
|
config.pin_vsync = VSYNC_GPIO_NUM; |
|
config.pin_href = HREF_GPIO_NUM; |
|
config.pin_sscb_sda = SIOD_GPIO_NUM; |
|
config.pin_sscb_scl = SIOC_GPIO_NUM; |
|
config.pin_pwdn = PWDN_GPIO_NUM; |
|
config.pin_reset = RESET_GPIO_NUM; |
|
config.xclk_freq_hz = 20000000; |
|
config.pixel_format = PIXFORMAT_JPEG; |
|
|
|
// if PSRAM IC present, init with UXGA resolution and higher JPEG quality |
|
// for larger pre-allocated frame buffer. |
|
if(psramFound()){ |
|
config.frame_size = FRAMESIZE_UXGA; |
|
config.jpeg_quality = 10; |
|
config.fb_count = 2; |
|
} else { |
|
config.frame_size = FRAMESIZE_SVGA; |
|
config.jpeg_quality = 12; |
|
config.fb_count = 1; |
|
} |
|
|
|
// 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 |
|
if (s->id.PID == OV3660_PID) { |
|
s->set_vflip(s, 1); // flip it back |
|
s->set_brightness(s, 1); // up the brightness just a bit |
|
s->set_saturation(s, –2); // lower the saturation |
|
} |
|
// drop down frame size for higher initial frame rate |
|
s->set_framesize(s, FRAMESIZE_QVGA); |
|
|
|
WiFi.begin(ssid, password); |
|
|
|
while (WiFi.status() != WL_CONNECTED) { |
|
delay(500); |
|
Serial.print("."); |
|
} |
|
Serial.println(""); |
|
Serial.println("WiFi connected"); |
|
|
|
startCameraServer(); |
|
|
|
Serial.print("Camera Ready! Use 'http://"); |
|
Serial.print(WiFi.localIP()); |
|
local_IP = WiFi.localIP().toString(); |
|
Serial.println("' to connect"); |
|
Blynk.begin(auth, ssid, password); |
|
buzzerFunction(1); |
|
|
|
|
|
} |
|
|
|
void loop() { |
|
// put your main code here, to run repeatedly: |
|
Blynk.run(); |
|
if(digitalRead(PHOTO) == HIGH){ |
|
takePhoto(); |
|
buzzerFunction(2); |
|
|
|
} |
|
|
|
} |
ıp adresimi alamadım seri port ekranı üzerinden kart bilgisini alabiliyorum blink üzerinden görrüntü var ama IP YOK?
muhtemelen arduino ya bağlamadan yapmaya çalışmışsın bu yüzdeb seri port ekranından ip adresi gelmiyordur kartı arduino’ya bağlayıp bir daha bakmanı öneririm
Hocam merhaba. Daha önce blynk uygulaması kullanarak akıllı kapı zili yapmıştınız. Şimdi blynk uygulaması güncellendiği için çok değişiklikler oldu. Acaba yeni blynk uygulaması kullanarak akıllı kapı zili yapa bilir misiniz? Ve ya bana bu konuda yardımcı olursanız sevinirim
Hocam iyi akşamlar, ESP 32 CAM ile proje yapıyorum ama verdiği IP adresine girdiğimde yüz tanıma yapmıyor. seri port ekranında
E (22188) ledc: ledc_set_duty(720): LEDC is not initialized hatası veriyor. Verdiği İP adresinde face detection yapamıyorum. Bu konuda yardımcı olabilir misiniz?