If my tests would work, I would upgrade to commercial license, but need to try first and ensure its not a waste of efforts.
I know its not easy to meet every board and code base there, but simple hello world apps should be easy.
I am using a Basic ESP8266 Wemos D1 Mini with 4MB ram, works with every past wifi project, I was thinking of try blink instead of coding my own data logger, website makes it sound easy. Not for this geek, cannot not find fixes in any google search, you wizards only support ESP32 and tried the ESP32_Blinking_LED_Edgent_PlatformIO example which does not even include ESP8266 Boards in the PlatformIO.ini file.
Here is the platformIO.ini file that works on all other libraries except blynk.
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = arduino
monitor_speed = 115200
lib_deps = blynkkk/Blynk@^1.3.2
build_flags =
-Wfatal-errors
-DCORE_DEBUG_LEVEL=0
-DBLYNK_USE_LITTLEFS
-I include
board_build.filesystem = littlefs
Here is the simple code provided by your website.
// *** MAIN SETTINGS ***
// Replace this block with correct template settings.
// You can find it for every template here:
//
// https://blynk.cloud/dashboard/templates
#define BLYNK_TEMPLATE_ID "xxx"
#define BLYNK_TEMPLATE_NAME "xxx"
#define USE_WEMOS_D1_MINI
#define BLYNK_FIRMWARE_VERSION "0.1.0"
#define BLYNK_PRINT Serial
//#define BLYNK_DEBUG
#define APP_DEBUG
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define APP_DEBUG
#include <BlynkEdgent.h>
#define LED_PIN 2 // Use pin 2 for LED (change it, if your board uses another pin)
// V0 is a datastream used to transfer and store LED switch state.
// Evey time you use the LED switch in the app, this function
// will listen and update the state on device
BLYNK_WRITE(V0)
{
// Local variable `value` stores the incoming LED switch state (1 or 0)
// Based on this value, the physical LED on the board will be on or off:
int value = param.asInt();
if (value == 1) {
digitalWrite(LED_PIN, HIGH);
Serial.print("value =");
Serial.println(value);
} else {
digitalWrite(LED_PIN, LOW);
Serial.print("value = ");
Serial.println(value);
}
}
void setup()
{
pinMode(LED_PIN, OUTPUT);
// Debug console. Make sure you have the same baud rate selected in your serial monitor
Serial.begin(115200);
delay(100);
//Blynk.begin(auth, "Work Shop 2G","tlp951753);
BlynkEdgent.begin();
}
void loop() {
BlynkEdgent.run();
delay(10);
}
I had to make changes to the setting.h file to prevent board errors.
Here is the change I made.
/*
* Board configuration (see examples below).
*/
#if defined(USE_NODE_MCU_BOARD) || defined(USE_WEMOS_D1_MINI)
#define BOARD_BUTTON_PIN 0
#define BOARD_BUTTON_ACTIVE_LOW true
#define BOARD_LED_PIN 2
#define BOARD_LED_INVERSE true
#define BOARD_LED_BRIGHTNESS 255
And lastly here is the error I cannot get rid of short of changing Blynk class which I do not want to do.
Processing d1_mini (platform: espressif8266; board: d1_mini; framework: arduino)
*In file included from include/BlynkEdgent.h:9,*
* from src\main.cpp:23:*
*.pio\libdeps\d1_mini\Blynk\src/BlynkSimpleEsp8266_SSL.h:105:7: error: 'BlynkWifi' is not a template*
* 105 | class BlynkWifi*
* | ^~~~~~~~~*
*compilation terminated due to -Wfatal-errors.*
**** [.pio\build\d1_mini\src\main.cpp.o] Error 1*
============================================================================ [FAILED] Took 3.53 seconds ============================================================================
* The terminal process "C:\Users\gnfon\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.