Ir ao conteúdo

Posts recomendados

Postado

Boa tarde a todos, como estão?

Estou usando um ESP32 WROVER

Só preciso colocar na rede e tirar uma foto (boa qualidade)
Na descrição diz que o cartão tem 4mb de memória flash, mas quando vou gravar aparece o seguinte Flash: [======] 64,5% (usei 845098 bytes de 1310720 bytes) ou seja, tem apenas 1,3 mb

Uma foto em alta resolução precisa de 1mb, mas como não tem memória dá erro.

Siga meu programa

#include <WiFi.h>
#include <ESP_WiFiManager.h>
#include <esp_camera.h>
#include <WiFiServer.h>

const char* ssid = "ESP_Laser";
const char* password = "Laser123";

WiFiServer server(80);

void setup() {
  Serial.begin(115200);
  delay(10);

  ESP_WiFiManager WiFiManager;
  WiFiManager.setConfigPortalTimeout(240);

  if (!WiFiManager.autoConnect(ssid, password)) {
    Serial.println("Falha na conexao. Resetar e tentar novamente...");
    delay(3000);
    ESP.restart();
    delay(5000);
  }

  Serial.println("Conectado na rede WiFi.");
  Serial.print("Endereco IP: ");
  Serial.println(WiFi.localIP());

  camera_config_t config;

  config.pin_pwdn = -1;
  config.pin_reset = -1;  
  config.pin_xclk = 21;
  config.pin_sscb_sda = 26;
  config.pin_sscb_scl = 27;

  config.pin_d7 = 35;
  config.pin_d6 = 34;
  config.pin_d5 = 39;
  config.pin_d4 = 36;
  config.pin_d3 = 19;
  config.pin_d2 = 18;
  config.pin_d1 = 5;
  config.pin_d0 = 4;
  
  config.pin_vsync = 25;
  config.pin_href = 23;
  config.pin_pclk = 22;

  config.xclk_freq_hz = 20000000;
  config.ledc_timer = LEDC_TIMER_0;
  config.ledc_channel = LEDC_CHANNEL_0;
  
  config.pixel_format = PIXFORMAT_JPEG;
  config.frame_size = FRAMESIZE_UXGA;

  config.jpeg_quality = 10;
  config.fb_count = 2;

  esp_err_t cameraInitError = esp_camera_init(&config);
  if (cameraInitError != ESP_OK) {
    Serial.printf("Falha na inicialização da câmera! (erro 0x%x)\n", cameraInitError);
    return;
  }

  server.begin();
  Serial.println("Servidor iniciado.");

}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  Serial.println("Novo cliente conectado.");

  camera_fb_t* fb = esp_camera_fb_get();
  if (!fb) {
    client.println("HTTP/1.1 500 Internal Server Error");
    client.println("Content-type:text/html");
    client.println();
    client.println("<html><body><h1>Erro ao capturar imagem</h1></body></html>");
    delay(1);
    client.stop();
    return;
  }

  client.println("HTTP/1.1 200 OK");
  client.println("Content-type:image/jpeg");
  client.println("Connection: close");
  client.println();
  client.write(fb->buf, fb->len);
  esp_camera_fb_return(fb);

  delay(1);
  client.stop();
}

 

  • Membro VIP
Postado

Não entendo muito disso (de fato nada) mas o formato jpeg usa ser compactado. Talvez seu sistema o descompacte pra colocar na memória por isso não cabe. Um .jpg duns 50K já nos (me) dá uma boa resolução no meu . de vista.

E de fato alguns produtos podem tem menos memória do que consta no d.s. P.ex. tive em minhas mãos um cartão sd de 1TB que de fato tinha 2GB. Enganava o sistema mostrando 1TB

[Re]consulte o datasheet e confira se ele possui mesmo 4MB

ESP32-WROVER-IB-16mb-ESP32-WROVER-IB-N16

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!