Z.B. So:
char input[20];
int index = 0;
unsigned long time = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
//schauen ob Daten vorliegen (start)
if(Serial.available()>0) {
//Zähl-index auf Null setzen
index = 0;
char c = ' ';
//solange von der seriellen schnittstelle lesen bis entweder ein Newline kommt, 20 zeichen gelesen wurden
while( c != '\n' && index < 20) {
c = Serial.read();
if(c == '\n') {
input[index] = 0; // Nullterminierung
} else {
input[index] = c; //Zeichen speichern
}
index++; // Index um 1 erhöhen
}
time = long(input); // Umwandeln in eine Zahl
// Zusätzlich enthält der C-String input nun den Timestamp als Zeichenfolge.
}
}
Wenn Du im seriellen Monitor einen Unix Timestamp eingibst und mit "Enter" abschickst, sollte der Sketch diesen als long int Zahl (time) und als C-String (input) erkennen.
Dieses einfach Beispiel fängt natürlich keine Fehler wie falsche Zeichen o.ä. ab. Aber es geht ja ums Prinzip.