If you’re using this esp_camera.h and the code you posted in post#4 then you appear to be re-declaring your camera pin variables with null values.
Pete.
If you’re using this esp_camera.h and the code you posted in post#4 then you appear to be re-declaring your camera pin variables with null values.
Pete.
Sorry Pete I feel I’m not understanding what you are saying there.
I have a functional, working code in Blynk1.0 that I most recently posted replying to Madhukesh, I’ve posted a couple revisions of it in this discussion but that is the cleanest and most readable version, all work fine.
However, just adding the the include for the esp_camera.h causes all those errors. I don’t understand what you mean by re-declaring with null values, all pins appear to be declared towards the appropriate AI-thinker ESP-32 CAM pins unless I don’t understand what you are saying? Also, as mentioned, this all works perfectly fine with Blynk1.0.
Just want to make sure I’ve summarized my issues:
#include "esp_camera.h"
to a sketch with Blynk Edgent generates multiple compile errors (shown in my post aboves).
#include "esp_camera.h"
causes it to fail to connect to the Blynk.Cloud. The code will compile, the device will connect to wifi and internet but will fail on attempting to connect to the Blynk Cloud.
No values in these lines of code above, but I see now that you’ve changed the variable names in post #4. What is the purpose of these variables in esp-camera.h and what is the camera library expecting to see?
Pete.
Ok, I understand now.
To be honest, unsure of the purpose of the variables in esp-camera.h, it is provided by Espressif and has functoned without issue for me in multiple projects up to this point. I assume it is setting up the pin definition structure for the OV2640 camera connector but leaving the actual pins null to be declared in the main code as there are multiple ESP32 camera variants, using different pin configurations. I set it to the pins for my ESP32 in the main code, like I have for multiple other projects I have in use, including one functioning in Blynk1.0 .
That is why I included the Espressif git link for their esp_camera.h header/driver file. It is provided directly by the maker of the chipset and has never given an issue in multiple different previous projects. There are only issues when anything involving Blynk2.0 are involved. I did not generate, alter or create this file at all, I add it into my own project for utilizing an OV2640 camera on an ESP32 chipset, as provided by the makers of the ESP32 chip (Espressif)
I submitted an issue report to the Blynk github. After substantial testing with multiple different sketches and figuring out different ways to repeat this issue I am pretty confident this is a library conflict issue between “new” Blynk and Espressif’s esp_camera.h
These lines of code in settings.h are are only processed if you don’t un-comment a board type in the main .ino tab of the sketch.
I believe that the ESP32 CAM board is a Wrover board, so your main tab should have a line that says…
#define USE_WROVER_BOARD
which you seem to have deleted from the original example sketch.
Pete.
Hey Pete,
Just tried uncommenting the
#define USE_WROVER_BOARD
No change in errors unfortunately.
I’d suggest that you zip up all of the files in your project and append them to your GitHub issue, otherwise it’s going to be almost impossible for anyone to reproduce the error, or to analyse the cause of the errors.
Pete.
Oooh, I didn’t even realize that was an option! I will add that to my issue for sure (GitHub, Git in general is new and very confusing to me so there are a lot of things that I don’t know I don’t know haha).
That said, it should be very easy to recreate this issue. All you need to do is add a single line to the Blynk Edgent example for ESP32 boards.
I’ve re-created an identical issue now using multiple different computers so its not a file location or machine error.
I’ll still try and add the needed files but all they really are is the Blynk Edgent example with this line added:
#include "esp_camera.h"
The error for my pre-existing program will certainly benefit from the complete files however so I am definitely going to see if I can figure out that upload.
Thanks again for all your help here, this community is super helpful and responsive!
Me once more, I solved my issue, it isn’t Edgent itself, my mistake, it is the included indicator.h file that causes the conflict.
I removed the
#include indicator.h
in the
BlynkEdgent.h
tab and all defines for it in
settings.h
// #define LEDC_CHANNEL_1 1
// #define LEDC_CHANNEL_2 2
// #define LEDC_CHANNEL_3 3
// #define LEDC_TIMER_BITS 10
// #define LEDC_BASE_FREQ 12000
and it successfully compiled. I don’t have access to my field test board until tomorrow but I’m fairly confident in a successful load. Hopefully I can connect to the cloud as well.
Thanks everyone for their help.
EDIT:
I somehow forgot to mention that I removed the entire
indicator.h
file as well.
Suspected that ! But I was not so sure. Glad you solved the problem.
You absolutely called it!
Thanks to all here for the help, between you and Pete I think you were both on the right path off the hop!
Thanks again guys.
Edit: I also closed the issue on Github with the same details.