BLYNK
BLYNK.IO       📲 GETTING STARTED       📗 DOCS       ❓HELP CENTER       👉 SKETCH BUILDER

Edgent_ESP32 example error

Hi. I just updated my esp32 board in arduino and now in the console.h file in the Edgent_ESP32 example I get this error. I’m including the console.h code for quick reference. How can I fix this. The error is:

In file included from /home/pi/Arduino/Edgent_ESP32/BlynkEdgent.h:25,
from /home/pi/Arduino/Edgent_ESP32/Edgent_ESP32.ino:19:
/home/pi/Arduino/Edgent_ESP32/Console.h: In lambda function:
/home/pi/Arduino/Edgent_ESP32/Console.h:30:9: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
);
^
/home/pi/Arduino/Edgent_ESP32/Console.h: In lambda function:
/home/pi/Arduino/Edgent_ESP32/Console.h:45:9: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
);

#include <Blynk/BlynkConsole.h>

BlynkConsole    edgentConsole;

void console_init()
{
 edgentConsole.init(BLYNK_PRINT);

 edgentConsole.print("\n>");

 edgentConsole.addCommand("reboot", []() {
   edgentConsole.print(R"json({"status":"OK","msg":"resetting device"})json" "\n");
   delay(100);
   restartMCU();
 });

 edgentConsole.addCommand("config", []() {
   edgentConsole.print(R"json({"status":"OK","msg":"entering configuration mode"})json" "\n");
   BlynkState::set(MODE_WAIT_CONFIG);
 });

 edgentConsole.addCommand("devinfo", []() {
   edgentConsole.printf(
       R"json({"board":"%s","tmpl_id":"%s","fw_type":"%s","fw_ver":"%s"})json" "\n",
       BLYNK_DEVICE_NAME,
       BLYNK_TEMPLATE_ID,
       BLYNK_FIRMWARE_TYPE,
       BLYNK_FIRMWARE_VERSION
       );
 });

 edgentConsole.addCommand("netinfo", []() {
   char ssidBuff[64];
   getWiFiName(ssidBuff, sizeof(ssidBuff));

   byte mac[6] = { 0, };
   WiFi.macAddress(mac);

   edgentConsole.printf(
       R"json({"ssid":"%s","bssid":"%02x:%02x:%02x:%02x:%02x:%02x","rssi":%d})json" "\n",
       ssidBuff,
       mac[5], mac[4], mac[3], mac[2], mac[1], mac[0],
       WiFi.RSSI()
       );
 });

}

BLYNK_WRITE(InternalPinDBG) {
 String cmd = String(param.asStr()) + "\n";
 edgentConsole.runCommand((char*)cmd.c_str());
}

These are warnings, not errors. They won’t affect the operation of the sketch.

Pete.

I don’t know what to tell you except it isn’t working. Edgent wasn’t working with my esp32 so I updated Arduino and the Blynk library and now I get this. I’m not liking Blynk right now.

What EXACTLY does that mean?

Pete.

It means that this is as far as I get and I have no idea why. I have the template and device info in the code

Maybe I’m using the wrong board configuration. Which one would I use for the huzzah32? Here is the schematic.

Alright, I updated my libraries again. I thought I was up to date, but still I don’t know how.to configure the board properly in settings.h

Sorry. I know that it doesn’t work, means nothing. What would cause edgent to get through all of the steps of finding and connecting the WiFi, connecting to the server, but stopping at “Waiting for device online”?

I’m not familiar with the board you are using.
I’d suggest that you look at the board types in the Settings.h file and see if there are any settings that conflict with your board, for whatever board type you’ve un-commented in the .ino file (or for the default settings if you haven’t un-commented a board type).

Pete.

Did you already try without Edgent to see if device gets connected? For that load “normal” esp32 example file and put the 2 device id and template name lines from the web console at the top of the code.
Also fill in your ssid and password for WiFi.

Actually, I did use a normal sketch, but not with the new Blynk app. So far, I just got the legacy app to work, but I really wanted to have the web dashboard, so I decided to try to migrate the project to the new app

You can use the new app and the web dashboard without using the Edgent examples.

Pete.

That’s fine, I can try that, but I’m sending this device to my partner for demonstration and I have no idea what the WiFi credentials will be where he is doing the demo. How do I set it up to be able to access other wifi networks? Also, what would cause the new app.to get all the way to “waiting for device online” and time out there?

A few issues here…

If it’s a corporate or educational network then the Blynk data packets may be blocked anyway.
One option could be to use a hotspot on a phone, where you specify the SSID and password, but once again, some mobile ISPs block Blynk data in this scenario.

Assuming that the data isn’t blocked then you could use WiFiManager.

I have no idea, but the starting point is to ensure that your device can connect with a non-Edgent sketch.

Pete.

Ok. I’m going to try a different sketch, but I was wondering if this screenshot of the serial monitor helps fill in any blanks.

You should probably provide information about the app operating system and version, and send do About —> Send Logs to send the mobile device logs to the developer.

Pete.

Oh. Alright. Sorry. Anyway, I tried a regular wifi sketch and boom, it’s up and running on the new app. Not sure what the issue is with edgent.