Βlynk.begin() messes up my readings (Json,Nodemcu,Blynk,MSP432)

I use MSP432 to send sensor values through serial to NodeMCU and then send them via wifi to Blynk.
the problem shows up when i uncomment this line:

Blynk.begin(auth, ssid, pass);

my sensor values that gets parsed by a Json object suddenly becomes 0.00;
here is the code:

#define BLYNK_TEMPLATE_ID           "TMPLvNuI6u_g"
#define BLYNK_DEVICE_NAME           "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "M_JWokpG5OMGsLitRvyH6TNzpfYGDsgc"
#define BLYNK_PRINT Serial

#include <SoftwareSerial.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Wire.h>
#include <ArduinoJson.h>


SoftwareSerial nodemcu(D7,D8);
BlynkTimer timer; //announcing the timer

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "TheVoid";
char pass[] = "000000gggggg";
float temp, temp0, hum, pt1, pt2, pt3, pt4;
long pres;
void datareceive()
{
    Serial.println("datareceive starting...");
    StaticJsonBuffer<1024> JsonBuffer;
    JsonObject& data = JsonBuffer.parseObject(nodemcu);
    
    if (data == JsonObject::invalid()) {
      Serial.println("Invalid Json Object");
      JsonBuffer.clear();
      return;
    }
     temp = data["temperature"];
     hum  = data["humidity"]   ;
     pres = data["pressure"]   ;
     pt1  = data["pt1"]        ;
     pt2  = data["pt2"]        ;
     pt3  = data["pt3"]        ;
     pt4  = data["pt4"]        ;
    Serial.println("datareceive succeed");

}
void datasend()
{
      Serial.println("datasend starting...");
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
    //Blynk.virtualWrite(V0, temp);
//    Blynk.virtualWrite(V1, hum);
//    Blynk.virtualWrite(V2, pres);
//    Blynk.virtualWrite(V3, pt1);
//    Blynk.virtualWrite(V4, pt2); 
//    Blynk.virtualWrite(V5, pt3); 
//    Blynk.virtualWrite(V6, pt4);
    Serial.println(temp);  
    Serial.println("datasend succeed");
    Serial.println("---------------------");
}
void setup(){

    Serial.begin(115200);
    nodemcu.begin(9600);   
    Blynk.begin(auth, ssid, pass);
    
    // You can also specify server:
    //Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
    //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

    // Setup a function to be called every second
    timer.setInterval(1000L, datareceive);
    timer.setInterval(1000L, datasend);
}

void loop(){

    
    Blynk.run();
    timer.run();

    
    }

thanks for any advice
Gio

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.