/*
* Arduino als Empfänger für Daten an der seriellen Schnittstelle
* Dateneingang über Pin RX
*
* RX mit TX am anderen Board verbinden
* GND mit GND am anderen Board verbinden
*/
String data;
int index = 0;
void setup()
{
Serial.begin(38400);
/*while (!Serial)
{
// wait for serial to connect
}*/
Serial.println("Setup done.");
}
void loop()
{
if (Serial.available())
{
double temp;
double hum;
int count;
// von der seriellen Schnittstelle einlesen
data = Serial.readString();
data.trim();
// Nachricht am Semikolon aufteilen
String first = data.substring(0, data.indexOf(";"));
String remaining = data.substring(data.indexOf(";") + 1, data.length());
String second = remaining.substring(0, remaining.indexOf(";"));
String third = remaining.substring(remaining.indexOf(";") + 1, remaining.length());
// Nachricht nach Temperatur und Luftfeuchte auswerten
if (first.substring(0, 2) == "t:")
{
temp = first.substring(first.indexOf(":") + 1, first.length()).toDouble();
}
if (second.substring(0, 2) == "h:")
{
hum = second.substring(second.indexOf(":") + 1, second.length()).toDouble();
}
if (third.substring(0, 2) == "c:")
{
count = third.substring(third.indexOf(":") + 1, third.length()).toDouble();
}
// Ausgabe
Serial.print("Temperatur: ");
Serial.print(temp);
Serial.print(", Luftfeuchte: ");
Serial.print(hum);
Serial.print(", Zähler: ");
Serial.println(count);
}
}