ESP32 CAM problémy pokračují :(

Odpovědět
Uživatelský avatar
visk52
Příspěvky: 146
Registrován: 29 led 2020, 15:51
Reputation: 0

ESP32 CAM problémy pokračují :(

Příspěvek od visk52 » 02 srp 2021, 19:25

Zdravím
Zase si nevím rady proč se toto děje ? :shock: nemá to něco společného že to na něm vyvíjím a testuji program to znamená že často to nahrávám nepořídit nový modul ? aby nedopadl jak tento díky

Kód: Vybrat vše

[E][camera.c:250] camera_fb_init(): Allocating 234 KB frame buffer Failed
[E][camera.c:1161] camera_init(): Failed to allocate frame buffer
E (1999) gpio: gpio_isr_handler_remove(396): GPIO isr service is not installed, call gpio_install_isr_service() first
[E][camera.c:1270] esp_camera_init(): Camera init failed with error 0x101
Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC      : 0x400d147b  PS      : 0x00060330  A0      : 0x800d1ab4  A1      : 0x3ffb1f60  
A2      : 0x3ffc0800  A3      : 0x00000000  A4      : 0x0800001c  A5      : 0x00000003  
A6      : 0x00000001  A7      : 0x00000000  A8      : 0x800d1477  A9      : 0x3ffb1f40  
A10     : 0x3ffc0800  A11     : 0x3f400f1b  A12     : 0x0000000a  A13     : 0x3ffc0b84  
A14     : 0x3ffb1efc  A15     : 0x3ffb1efc  SAR     : 0x00000004  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000004  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xfffffffb  

Backtrace: 0x400d147b:0x3ffb1f60 0x400d1ab1:0x3ffb1f80 0x400d2e93:0x3ffb1fb0 0x4008ce05:0x3ffb1fd0


martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: ESP32 CAM problémy pokračují :(

Příspěvek od martinius96 » 02 srp 2021, 20:09

No bez kódu sa dá zase len hádať.
Skrátka nemáš v RAM dostatok miesta na buffer, lebo tam môžeš mať X kB stringov, funkcií...
Tak skús zredukovať Stringy, uložiť ich napr. do PROGMEM, zníž kvalitu obrazu.

Snažíš sa o alokovanie 234 kB RAM, ak máš iba internú RAM (500kB), tak je to skoro polovica celej pamäte.

Uživatelský avatar
visk52
Příspěvky: 146
Registrován: 29 led 2020, 15:51
Reputation: 0

Re: ESP32 CAM problémy pokračují :(

Příspěvek od visk52 » 02 srp 2021, 20:19

Kód: Vybrat vše

#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(9600);
  initCamera();
  takePhoto();
  ATInternet();
}

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");
  //Serial.print("0x");
  /*for(int i=0;i<fb->len;i++)
     Serial.print(fb->buf[i], HEX);*/
Serial.println("");
//  dat = HEX(fb->buf);
  //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); 
}
void ATInternet(){
  String mesage="";
  delay(10000);
  Serial.print("AT+SAPBR=3,1,\"Contype\",\"GPRS\"\r");
  Serial.flush();
  delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
  Serial.print("AT+SAPBR=3,1,\"APN\",\"internet\"\r");
  Serial.flush();
  delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
 Serial.print("AT+SAPBR=1,1\r"); 
 Serial.flush();
 delay(1000);
 while(Serial.available()){
    mesage=mesage+Serial.read();
  }
 Serial.print("AT+SAPBR=2,1\r"); 
 Serial.flush();
 delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
Serial.print("AT+FTPCID=1\r");
Serial.flush();
 delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
  //String server="";
  Serial.print("AT+FTPSERV=\"\"\r");
  Serial.flush();
 delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
//String user="jotidom";
Serial.print("AT+FTPUN=\"\"\r");
Serial.flush();
  delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
  //String pasw="endora49";
Serial.print("AT+FTPPW=\"\"\r");
Serial.flush();
delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
 //String PATH="";
Serial.print("AT+FTPPUTPATH=\"/\"\r");
Serial.flush(); 
delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
  //String soubor="ESP32.txt";
Serial.print("AT+FTPPUTNAME=\"ESP32.txt\"\r");
Serial.flush();
delay(1000);
  while(Serial.available()){
    mesage=mesage+Serial.read();
  }
  Serial.print("AT+FTPPUT=1\r");
Serial.flush();
delay(3000);
 while(Serial.available()){
    mesage=mesage+Serial.read();
  }
  Serial.print("AT+FTPPUT=2,1024\r");
Serial.flush();
delay(3000); 
 while(Serial.available()){
    mesage=mesage+Serial.read();
  } 
  Serial.print( " Web Web, na kterém se uživatel bez registrace - IP adresa, cookies, datum a čas návštěvy, stránky na webu navštívené, identifikace zařízení, typ prohlížeče, jeho verze a nastavení, rozlišení obrazovky, operační systém V červnu roku 1963 ukázala Valentina Těreškovovová (84) celému světu, že žena je schopna stejně věhlasných činů jako muži, když během třídenní výpravy do kosmu osmačtyřicetkrát obletěla zeměkouli. Legendou zůstala dodnes, přestože už dávno vyšly najevo nelichotivé okolnosti jejího letu, který málem skončil tragédií.Po přelomové cestě Jurije Gagarina do vesmíru nebyl důvod pochybovat o tom, že by stejnou misi teoreticky zvládla i žena, pokud by k tomu byla náležitě vyškolena. Emancipace v poválečném světě nabrala na síle a Sovětský svaz uctíval řadu hrdinek, které se za války osvědčily jako neohrožené pilotky. Žena v kokpitu už zkrátka nebyla tabu. Sovětům ale nestačila teorie. O nezdolné síle a schopnostech svých žen chtěli podat živý důkaz. A navíc se jim líbila myšlenka, že by k prvnímu muži ve vesmíru historie připsala i první ženu - a opět se zkratkou SSSR v závorkách.");
  // put your setup code here, to run once:
delay(3000);
Serial.print("AT+FTPPUT=2,0\r");
Serial.flush(); 
}
to mě dělají i jiné projekty díky

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů