Wie kann ich Daten, die von einem Sensor abgerufen wurden, in einer Textdatei auf dem Computer speichern?
34
Sie können die Sensordaten mit serial-lib auf die serielle Schnittstelle schreiben und ein kleines Verarbeitungsprogramm schreiben, das die Daten von der seriellen Schnittstelle liest und in eine Datei schreibt.
im arduino code initialisiere die serial lib in der setup methode
Serial.begin(9600);
und schreiben Sie Ihre Sensorwerte mit auf die serielle Schnittstelle
Serial.println(value);
in Ihrer Loop-Methode
Verwenden Sie auf der Verarbeitungsseite einen PrintWriter, um die von der seriellen Schnittstelle gelesenen Daten in eine Datei zu schreiben
import processing.serial.*;
Serial mySerial;
PrintWriter output;
void setup() {
mySerial = new Serial( this, Serial.list()[0], 9600 );
output = createWriter( "data.txt" );
}
void draw() {
if (mySerial.available() > 0 ) {
String value = mySerial.readString();
if ( value != null ) {
output.println( value );
}
}
}
void keyPressed() {
output.flush(); // Writes the remaining data to the file
output.close(); // Finishes the file
exit(); // Stops the program
}
Eine weitere Möglichkeit besteht darin, einen SD-Kartenleser / -schreiber zu verwenden und Ihre Datei auf eine SD-Karte zu schreiben. Wenn Sie mit dem Sammeln der Daten fertig sind, tauschen Sie die SD-Karten mit Ihrem Workstation-Computer aus. Mit diesem Ansatz können Sie Ihr Projekt unabhängig von einem Computer ausführen und große Datenmengen nichtflüchtig speichern.
quelle
Das Programm gobetwino protokolliert Sensorwerte von einem Arduino mit minimalem Aufwand in eine Textdatei oder eine Tabelle. Es kann auch Dinge auf dem Computer automatisieren, Zeitstempel hinzufügen (so dass Sie sie nicht in das Arduino programmieren müssen) usw.
quelle
Die einfachste Methode besteht darin, die serielle Bibliothek zu verwenden und an diese auszugeben. Anschließend können Sie die Ausgabe mit einem Terminalprogramm in eine Textdatei umwandeln. Hyperterminal ist unter Windows, Teraterm unter Linux und Z Term unter OS X verfügbar.
Melanie
quelle
Wenn Sie Sensordaten direkt in eine Datei auf Ihrem Computer schreiben möchten, ohne die Ausgabe aus dem Fenster des seriellen Monitors kopieren und einfügen zu müssen, versuchen Sie, den Datenstrom direkt von der seriellen Schnittstelle aus zu lesen (was der serielle Monitor sowieso tut) vermuten). Auf Mac / Linux machen Sie so etwas wie:
Gott weiß, wie das bei Windows-Computern aussieht.
quelle
cat
Befehl wahrscheinlich durch eine Art Skript ersetzen .Sie können ein Python-Skript erstellen, um die serielle Schnittstelle zu lesen und die Ergebnisse in eine Textdatei zu schreiben:
quelle
Ich fand es einfacher und sicherer, ein Python-Skript zu verwenden. Normalerweise benutze ich diese, die auf der seriellen Bibliothek basiert . Es ist sehr üblich, auch das datetime-Modul zu verwenden, um die Zeitstempel hinzuzufügen:
quelle
Der nächste Schritt besteht darin, entweder das Ethernet-Shield oder so etwas wie ein WIZ810MJ-Board zu verwenden und Ihr Arduino über das Internet zu aktivieren. Sie können dann Daten darauf schreiben und sie an einen Webserver senden, um sie zu sortieren. Das mache ich in meinem Vivarium-Temperaturmonitor .
quelle