Device unreachable since platform update?

Hi
My remote Arduino WiFi rev.2 has been working perfectly for months but it is now unreachable for a ~week. I have tried to restart it (it is powered through a commercial wifi Main switch) but it hasn’t helped. Is it just a coincidence or may have it to do with the recent platform update?
BR

1 Like

More information required.

Pete.

Hi Pete,
What additional information do you need?
I have an Arduino WiFi rev.2 connected to the WiFi on a remote location. The device’s power supply can be switched on/off remotely through a WiFi main switch (commercial product). The Arduino is still controlled by the legacy Blynk App (Ver.2.27.29) and looks offline. Of course, it could be due to an HW failure but the remote site is 400Km away and I cannot go there and check it easily. It has worked perfectly until last week.
Other remote devices connected to the same network and power supply are still reachable.

thank you for your support

The code and the Blynk library version used to compile the code would be a good start.

Pete.

OK, I’ll provide you them later, I haven’t them here on this PC.
As I said, the system has been working perfectly until last week and nothing has been changed. A colleague will give a look at the remote site tomorrow to verify if the hardware is still powered.
BR

While you’re at it, you should seriously think about switching to the new version of Blynk, as the existing cloud servers may be switch off as early as 6 months from now.

Pete.

Hi Pete.
In The case the existing cloud servers switched off, what is the solution for running projects on the old platform. Is there any solution to make them work without re-flash?
thanks

No, you could set up a local server, but that would require the code to be re-flashed anyway.
But, your project would still be life-limited by the ability to access and run the app, and it will presumably reach a point where it doesn’t work on the latest Android or iOS operating systems.

I’d think about an ESP8266 or ESP32 and setting-up an HTTP OTA system that allows you to force the device to ‘phone home’ every night to check for and download new firmware updates.
The new Blynk also includes Blynk.Air for OTA updates, but obviously device needs to be connected to connected to te Blynk server for that to work.

Pete.

1 Like

Dear Pete
The code is very simple and uses the Blynk Library 0.6.1 and WiFiNINA 1.8.7 :

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial

#include <SPI.h>
#include <WiFiNINA.h>
#include <BlynkSimpleWiFiNINA.h>

#define RELAY_1 4
#define RELAY_2 7
#define RELAY_3 8
#define RELAY_4 12
#define LED 13
#define FINECORSA 5

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxxxxxxxxxxxxxxxx";

// Your WiFi credentials.
// Set password to "" for open networks.

char ssid[] = "xxxxxxxxxxxxxxxxxx";
char pass[] = "xxxxxxxxxxxxxxxxxx";

int analogPin = A3; // Analog Pin for TEmp Sensor

BlynkTimer timer; // Create a Timer object called "timer"! 

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  
  timer.setInterval(2000L, sendState);  //set interval to send state of finecorsa

 // pinMode(LED, OUTPUT);    // sets the digital pin 13 as output
  pinMode(RELAY_1, OUTPUT);
  pinMode(RELAY_2, OUTPUT);
  pinMode(RELAY_3, OUTPUT);
  pinMode(RELAY_4, OUTPUT);
  pinMode(FINECORSA, INPUT);
  
}

BLYNK_WRITE(V4) //Button Widget is writing to pin V4 (RELAY 4)
{
  int pinDataV4 = param.asInt();
  Serial.print("V4 Button value is: ");
  Serial.println(pinDataV4);

   if(pinDataV4 == 1) {
    digitalWrite(RELAY_1, HIGH);
    }
   else {
    digitalWrite(RELAY_1, LOW);
    }
}

BLYNK_WRITE(V7) //Button Widget is writing to pin V7 (RELAY 7)
{
  int pinDataV7 = param.asInt(); 
  Serial.print("V7 Button value is: ");
  Serial.println(pinDataV7);

  if(pinDataV7 == 1) {
    digitalWrite(RELAY_2, HIGH);
    }
   else {
    digitalWrite(RELAY_2, LOW);
    }
}

BLYNK_WRITE(V8) //Button Widget is writing to pin V8 (RELAY 8)
{
  int pinDataV8 = param.asInt(); 
  Serial.print("V8 Button value is: ");
  Serial.println(pinDataV8);

  if(pinDataV8 == 1) {
    digitalWrite(RELAY_3, HIGH);
    }
   else {
    digitalWrite(RELAY_3, LOW);
    }
}

BLYNK_WRITE(V12) //Button Widget is writing to pin V12 (RELAY 12)
{
  int pinDataV12 = param.asInt(); 
  Serial.print("V12 Button value is: ");
  Serial.println(pinDataV12);

  if(pinDataV12 == 1) {
    digitalWrite(RELAY_4, HIGH);
    }
   else {
    digitalWrite(RELAY_4, LOW);
    }
}

BLYNK_READ(V3) // Widget in the app READs Virtal Pin V3 (LM35 Temp Sens) with the certain frequency
{
  
  // Get a reading from the temperature sensor:
  int reading = analogRead(analogPin);  

  // Convert the reading into voltage:
  float voltage = reading * (5000 / 1024.0);

  // Convert the voltage into the temperature in degree Celsius:
  float temperature = voltage / 10;

  
  Serial.println(temperature);          // debug value
  // This command writes val to Virtual Pin V3
  Blynk.virtualWrite(3, temperature);
}

void sendState() //send state of finecorsa switch to V5 (LED)
{
  int stato_finecorsa = digitalRead(FINECORSA);
  
  if (stato_finecorsa == 0) {
   Blynk.virtualWrite(V5, 0); //LED OFF
  }
  else {
    Blynk.virtualWrite(V5, 255); //LED ON
  }
  
  Serial.print("FINECORSA = ");
  Serial.println(stato_finecorsa);
}
  

void loop()
{
  Blynk.run();
  timer.run();
 
}

@IZ4AFL please edit your post, using the pencil icon at the bottom, and add triple backticks at the beginning and end of your code so that it displays correctly.
Triple backticks look like this:
```

Pete.

Hello. We had made no changes to the Legacy Blynk 1.0. Literally nothing was changed. Even no server restarts.

1 Like

Thank you for the feedback. It must then be an HW issue…