Nodemcu bekommt falsche Messwerte von den Arduino

Hallo zusammen,

ich messe mit den Arduino mega und verpacke die Messwerte mit Json6 zu einen Paket, was dann zum Nodemcu über Serial Communication weitergeleitet wird.

Auf der Seite von den Arduino, stimmen alle Messwerte nur auf der Seite von den Nodemcu, sind die Werte nicht mehr gleich.

Wenn der Arduino 25°C misst, bekommt der Nodemcu ein Wert von 84°C übermittelt.

Nodemcu:


 StaticJsonDocument<1024> jsonDoc;

 auto error = deserializeJson(jsonDoc, serial);

 if (error) {
    Serial.println(F("Keine Werte von den Arduino bekommen!"));
    return;
}

  Serial.print("Temperatur:  ");
  temperature = data["Temperatur"];
  Serial.println(temperature);
  Serial.print("pH:  ");
  ph = data["pH"];
  Serial.println(ph);
  Serial.print("TDS:  ");
  tds = data["TDS"];
  Serial.println(tds);
  Serial.print("TDS EC:  ");
  Serial.println("-----------------------------------------");

Arduino:

 StaticJsonDocument<1024> json;
  
  json["Temperatur"] = TemperatureValue;
  json["pH"] = phValue;
  json["TDS"] = TDSValue;

  
   Serial.println("TDS "+ String(TDSValue));
   Serial.println("pH " + String(phValue));
   serializeJson(json,s);

  delay(1000);```

Warum?

Was auch immer Du da machst, musst Du von beiden Seiten ein Codebeispiel bringen, was Dein Problem darstellt.
Das was Du da oben zu stehen hast, ist nicht mal ansatzweise irgendwas, wo man hinsieht.

Das halte ich für eine unbewiesene Behauptung.
Warum?
Wenn Du nicht einmal

Serial.println("Temp "+ String(TemperatureValue));

hinbekommst, kannst Du nicht feststellen, was Du übergibst.

Lese hier.

Hallo my_xy_projekt,
natürlich habe ich überprüft, ob der Nodemcu die richtige Temperatur misst, nur habe ich wohl vorhin Serial.println(Temperatur) entfernt.

Folgende Werte gibt mir der Nodemcu aus:

Temperatur:  84.00
pH:  112.00
TDS:  84.00

und das gibt mir der Arduino aus:

Temp C: 19.50
TDS 444.47
pH 8.00

Ja.
Und nu?
Temperatur: Stimmt nicht.
TDS: Stimmt nicht.
pH: Stimmt nicht.

Wenn Du nicht mit Code kommst:

Hier ist dann Ende!

Hallo my_xy_projekt,

ich habe doch den Code gepostet, der wichtig ist, fürs senden und empfangen.

Warum du das machst hast du bisher nicht beantwortet.
Übertrage die Daten einfach direkt seriell und gut ist.
Das ist einfach und funktioniert.

Nein!
Verstümmelt hast du das Programm.
Nicht mutwillig sondern vorsätzlich.

Siehe:

Wer ist data?

Klare Sache:
Wenn du untestbaren Code postest, dann kann auch keiner eine Diagnose machen.

öffne zwei neue Sketche und kopiere deine Code-Schnippsel in die zwei Sketche.
Ergänze alles was es braucht dass beide Sketche kompilieren.
Schreibe dazu welche Lib in welcher Version du verwendest.
Wenn die Übertragung dann immer noch nicht funktioniert:

  1. poste beide Testsketche.
  2. Zeichne ein Schaltplan was du wie verkabelt hast,
  3. mach Fotos von deinem Aufbau aus dem wir deine Verkabelung erkennen
  4. ergänze die Seriellen Ausgaben von beiden Sketchen

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