Implementing Blynk in Multiple Files with ESP32

Hello,

I’m working on a project using an ESP32 and programming with Visual Studio Code. My current challenge involves effectively integrating Blynk across multiple files, particularly header (.h) and source (.cpp) files. I’m curious whether it’s feasible to make the Blynk object global to facilitate its use in various files of my project.

Could anyone offer suggestions or proven methods for handling this integration? Any guidance on code structuring or examples of similar projects would be greatly appreciated.

Thank you in advance for your assistance.

I’m not a VSC user, I prefer the Arduino IDE, but obviously the two development environments produce the same end result.
Yes, it’s quite easy to use Blynk in a situation where you split your codebase into separate files (these are shown as separate tabs in the Arduino IDE, but they are effectively separate .h and .cpp files that live in the same folder and are combined together to produce the final binary file.

When people post sketches to the forum it’s easier to do this as one large sketch, rather than a series of files that need to be re-assembled into the various files, so you don’t see very many examples posted here.
If you take a look at the Blynk Edgent example you’ll see one way that this can be done, although the way that Blynk.run has been moved out of the main .cpp file and into one of the other files, and placed inside an object called BlynkEdgent probably isn’t the approach that you’d normally take.

It’s difficult to be more specific unless you provide more detail on your project and details of the problems you are experiencing.

Pete.

I’m currently working with the BlynkSimpleEsp32_SSL.h library in my ESP32 project using Visual Studio Code. The edgen example doesn’t quite match what I have in mind. I am specifically looking for a way to use the ‘extern’ command or a similar approach to make Blynk global, allowing its use across various .h and .cpp files in my project.

Does anyone have insights or experience in implementing Blynk globally in this manner? Any advice on the correct implementation or examples of projects where this has been successfully done would be highly beneficial.

Looking forward to your suggestions.

Best regards,