IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Vítězslav Škrabal:22.7.2021 16:55
#include "esp_camera.h"

// Pin definition for CAMERA_MODEL_AI_THINKER
#define PWDN_GPIO_NUM     32
#define RESET_GPIO_NUM    -1
#define XCLK_GPIO_NUM      0
#define SIOD_GPIO_NUM     26
#define SIOC_GPIO_NUM     27

#define Y9_GPIO_NUM       35
#define Y8_GPIO_NUM       34
#define Y7_GPIO_NUM       39
#define Y6_GPIO_NUM       36
#define Y5_GPIO_NUM       21
#define Y4_GPIO_NUM       19
#define Y3_GPIO_NUM       18
#define Y2_GPIO_NUM        5
#define VSYNC_GPIO_NUM    25
#define HREF_GPIO_NUM     23
#define PCLK_GPIO_NUM     22

camera_config_t config;

void setup() {
  Serial.begin(115200);
  initCamera();
  takePhoto();
}

void loop() {
  //takePhoto();
  //delay(10000);
//}
}

void initCamera() {
  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(psramFound()){
    config.frame_size = FRAMESIZE_XGA;//FRAMESIZE_UXGA; // FRAMESIZE_ + QVGA|CIF|VGA|SVGA|XGA|SXGA|UXGA
    config.jpeg_quality = 10;
    config.fb_count = 2;
  } else {
    config.frame_size = FRAMESIZE_UXGA;
    config.jpeg_quality = 12;
    config.fb_count = 1;
  }
  // Init Camera
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }
}

void takePhoto() {
 byte dat=0;
  camera_fb_t * fb = NULL;
  // Take Picture with Camera
  fb = esp_camera_fb_get();
  Serial.print("Velikost obrazu: ");
  Serial.print(fb->len);
  Serial.print(" B,");
  Serial.print((fb->len)/1024);
  Serial.println(" KB");
//  dat = fb->buf,fb->len;
  Serial.write(fb->buf,fb->len);
  if(!fb) {
    Serial.println("Camera capture failed");

   while(fb->len){
//      dat=fb->buf,fb->len;
    //Serial.print(fb->buf,fb->len);
    }
    return;
  }
  /*
   * Free buffer cam
   */
  esp_camera_fb_return(fb);
}

Serial.write(fb->buf,fb->len);
jak to převést na hex a pak poslat po sériové lince ? díky

 
Odpovědět
22.7.2021 16:55
Avatar
Petan
Člen
Avatar
Petan:23.7.2021 9:32

neco takoveho

Serial.print("0x");
for(int i=0;i<fb->len;i++)
        Serial.print(fb->buf[i], HEX);
Serial.println("");
 
Nahoru Odpovědět
23.7.2021 9:32
Avatar
Odpovídá na Petan
Vítězslav Škrabal:23.7.2021 11:42

To by mohlo fungovat ale já teď nejsem na PC kde mám arduino IDE a a to je jen mé jen oťukování protože mám úmyslu udělat takový projekt který v modulu ESP32 CAM udělá snímek a pošle pomocí modulu SIM800L (GPRS) na můj FTP server ale narazil jsem na jednu věc mezi jinými mě tam schází druhý hardwarový sériový port a dělat to pomocí software knihovny ale tam je další problém v podobě časovačů který sdílí s jinými periférie možná mě posuneš na cestu se kterou to půjde díky

 
Nahoru Odpovědět
23.7.2021 11:42
Avatar
Petan
Člen
Avatar
Petan:23.7.2021 13:36

Nevim presne jak to zamyslis,ale na hw serial port pripojit SIM800L a nejake pomocne vypisy na display treba pres i2C

 
Nahoru Odpovědět
23.7.2021 13:36
Avatar
Odpovídá na Petan
Vítězslav Škrabal:23.7.2021 17:10

Pomohlo to je to přesně co jsem potřeboval ale ještě k tomu i2C tam by byla také potřeba knihovna a tam taky je potřeba SDA,SCL dva piny a tento display který mám hc160203c to stejně nepodporuje i2C nehledě k tomu že to potřebuje 5V logiku díky

 
Nahoru Odpovědět
23.7.2021 17:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.