Hello, I’m using an Arduino Mega with an ESP8266. It has 2 boards of 16 relays connected
I’m getting Buffer Overflow when I want to start my app on the phone (when I play the push button)
I have several Timers which I use my Virtual Pins for. Also buttons to turn my lights on and off.
I tried an empty code with only my auth, wifi, ssid and the common blynk stuff, but it keeps happening…
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
// Your WiFi credentials + Auth Token in the Blynk App.
char auth[] = "auth";
char ssid[] = "Netwerk ssid";
char pass[] = "password";
// Hardware Serial on Mega, Leonardo, Micro...
#define EspSerial Serial3
// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600
ESP8266 wifi
(&EspSerial);
BlynkTimer timer;
int ReCnctFlag; // Reconnection Flag
int ReCnctCount = 0; // Reconnection counter
//Boven alles neer
BLYNK_WRITE(V1) { // V1 is the virtual pin that toggles this operation
if (param.asInt()==1) {
digitalWrite(24, LOW);
digitalWrite(28, LOW);
digitalWrite(32, LOW);
digitalWrite(36, LOW);
digitalWrite(40, LOW);
digitalWrite(44, LOW);
digitalWrite(48, LOW);
delay(500);
digitalWrite(24, HIGH);
digitalWrite(28, HIGH);
digitalWrite(32, HIGH);
digitalWrite(36, HIGH);
digitalWrite(40, HIGH);
digitalWrite(44, HIGH);
digitalWrite(48, HIGH);}}
//Boven alles hoog
BLYNK_WRITE(V2) { // V2 is the virtual pin that toggles this operation
if (param.asInt()==1) {
digitalWrite(22, LOW);
digitalWrite(26, LOW);
digitalWrite(30, LOW);
digitalWrite(34, LOW);
digitalWrite(38, LOW);
digitalWrite(42, LOW);
digitalWrite(46, LOW);
delay(500);
digitalWrite(22, HIGH);
digitalWrite(26, HIGH);
digitalWrite(30, HIGH);
digitalWrite(34, HIGH);
digitalWrite(38, HIGH);
digitalWrite(42, HIGH);
digitalWrite(46, HIGH);}}
//Beneden alles neer
BLYNK_WRITE(V3) { // V3 is the virtual pin that toggles this operation
if (param.asInt()==1) {
digitalWrite(33, LOW);
digitalWrite(37, LOW);
digitalWrite(41, LOW);
digitalWrite(45, LOW);
delay(500);
digitalWrite(33, HIGH);
digitalWrite(37, HIGH);
digitalWrite(41, HIGH);
digitalWrite(45, HIGH); }}
//Beneden alles hoog
BLYNK_WRITE(V4) { // V1 is the virtual pin that toggles this operation
if (param.asInt()==1) {
digitalWrite(31, LOW);
digitalWrite(35, LOW);
digitalWrite(39, LOW);
digitalWrite(43, LOW);
delay(500);
digitalWrite(31, HIGH);
digitalWrite(35, HIGH);
digitalWrite(39, HIGH);
digitalWrite(43, HIGH);}}
//LED BUITEN
BLYNK_WRITE(V5) { // V1 is the virtual pin that toggles this operation
if (param.asInt()==1) {
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);}}
//kleine rolluik beneden
BLYNK_WRITE(V6) { // V1 is the virtual pin that toggles this operation
if (param.asInt()==1) {
digitalWrite(41, LOW);
digitalWrite(45, LOW);
delay(500);
digitalWrite(41, HIGH);
digitalWrite(45, HIGH);}}
//grote rolluik beneden
BLYNK_WRITE(V7) { // V1 is the virtual pin that toggles this operation
if (param.asInt()==1) {
digitalWrite(33, LOW);
digitalWrite(37 , LOW);
delay(500);
digitalWrite(33, HIGH);
digitalWrite(37, HIGH);}}
void setup()
{
// Debug console + Set ESP8266 baud rate
Serial.begin(9600);
EspSerial.begin(ESP8266_BAUD);
delay(10);
Blynk.begin(auth, wifi, ssid, pass);
pinMode(0,OUTPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
pinMode(14,OUTPUT);
pinMode(15,OUTPUT);
pinMode(16,OUTPUT);
pinMode(17,OUTPUT);
pinMode(18,OUTPUT);
pinMode(19,OUTPUT);
pinMode(20,OUTPUT);
pinMode(21,OUTPUT);
pinMode(22,OUTPUT); //badkamer omhoog
pinMode(23,OUTPUT);
pinMode(24,OUTPUT); //badkamer omlaag
pinMode(25,OUTPUT);
pinMode(26,OUTPUT); //hal omhoog
pinMode(27,OUTPUT);
pinMode(28,OUTPUT); //hal omlaag
pinMode(29,OUTPUT);
pinMode(30,OUTPUT); //kinder voor omhoog
pinMode(31,OUTPUT); //keuken omhoog
pinMode(32,OUTPUT); //kinder voor omlaag
pinMode(33,OUTPUT); //keuken omlaag
pinMode(34,OUTPUT); //kinder zij omhoog
pinMode(35,OUTPUT); //tafel omhoog
pinMode(36,OUTPUT); //kinder zij omlaag
pinMode(37,OUTPUT); //tafel omlaag
pinMode(38,OUTPUT); //slaap zij omhoog
pinMode(39,OUTPUT); //voorkant omhoog
pinMode(40,OUTPUT); //slaap zij omlaag
pinMode(41,OUTPUT); //voorkant omlaag
pinMode(42,OUTPUT); //slaap achter omhoog
pinMode(43,OUTPUT); //zijkant omhoog
pinMode(44,OUTPUT); //slaap achter omlaag
pinMode(45,OUTPUT); //zijkant omlaag
pinMode(46,OUTPUT); //bureau omhoog
pinMode(47,OUTPUT);
pinMode(48,OUTPUT); //bureau omlaag
pinMode(49,OUTPUT);
pinMode(50,OUTPUT);
pinMode(51,OUTPUT);
pinMode(52,OUTPUT);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
digitalWrite(14, HIGH);
digitalWrite(15, HIGH);
digitalWrite(16, HIGH);
digitalWrite(17, HIGH);
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
digitalWrite(20, HIGH);
digitalWrite(21, HIGH);
digitalWrite(22, HIGH);
digitalWrite(23, HIGH);
digitalWrite(24, HIGH);
digitalWrite(25, HIGH);
digitalWrite(26, HIGH);
digitalWrite(27, HIGH);
digitalWrite(28, HIGH);
digitalWrite(29, HIGH);
digitalWrite(30, HIGH);
digitalWrite(31, HIGH);
digitalWrite(32, HIGH);
digitalWrite(33, HIGH);
digitalWrite(34, HIGH);
digitalWrite(35, HIGH);
digitalWrite(36, HIGH);
digitalWrite(37, HIGH);
digitalWrite(38, HIGH);
digitalWrite(39, HIGH);
digitalWrite(40, HIGH);
digitalWrite(41, HIGH);
digitalWrite(42, HIGH);
digitalWrite(43, HIGH);
digitalWrite(44, HIGH);
digitalWrite(45, HIGH);
digitalWrite(46, HIGH);
digitalWrite(47, HIGH);
digitalWrite(48, HIGH);
digitalWrite(49, HIGH);
digitalWrite(50, HIGH);
digitalWrite(51, HIGH);
digitalWrite(52, HIGH);
}
void UpTime() {
Blynk.virtualWrite(V0, millis() / 1000); // Send UpTime seconds to App
Serial.print("UpTime: ");
Serial.println(millis() / 1000); // Send UpTime seconds to Serial
}
void loop() {
timer.run();
if (Blynk.connected()) { // If connected run as normal
Blynk.run();
} else if (ReCnctFlag == 0) { // If NOT connected and not already trying to reconnect, set timer to try to reconnect in 30 seconds
ReCnctFlag = 1; // Set reconnection Flag
Serial.println("Starting reconnection timer in 30 seconds...");
timer.setTimeout(30000L, []() { // Lambda Reconnection Timer Function
ReCnctFlag = 0; // Reset reconnection Flag
ReCnctCount++; // Increment reconnection Counter
Serial.print("Attempting reconnection #");
Serial.println(ReCnctCount);
Blynk.connect(); // Try to reconnect to the server
}); // END Timer Function
}
}