Jak mogę zapisać dane pobrane z czujnika do pliku tekstowego na komputerze?
34
możesz zapisać dane czujnika do portu szeregowego za pomocą serial-lib i napisać mały program przetwarzający, który odczytuje dane z portu szeregowego i zapisuje je w pliku.
w kodzie arduino zainicjuj lib seryjny w metodzie instalacji
Serial.begin(9600);
i zapisz wartości czujnika do interfejsu szeregowego za pomocą
Serial.println(value);
w metodzie pętli
po stronie przetwarzania użyj PrintWriter, aby zapisać dane odczytane z portu szeregowego do pliku
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
}
Jeszcze inną opcją jest użycie czytnika / zapisu kart SD i zapisanie pliku na karcie SD. Po zakończeniu zbierania danych wymień karty SD na komputerze stacji roboczej. Takie podejście pozwoli Ci uruchomić projekt odłączony od komputera i zapewni nieulotne przechowywanie dużej ilości danych.
źródło
Program gobetwino przy minimalnym wysiłku rejestruje wartości czujników z Arduino do pliku tekstowego lub arkusza kalkulacyjnego. Może również automatyzować rzeczy na komputerze, dodawać znaczniki czasu (więc nie trzeba ich programować w Arduino) itp.
źródło
Najprostszą metodą jest użycie biblioteki Serial i wyprowadzenie do niej. Następnie można przechwycić dane wyjściowe do pliku tekstowego za pomocą programu terminalowego. Hyperterminal jest dostępny na Windows, Teraterm na Linux i Z Term na OS X.
Melanie
źródło
Jeśli chcesz zapisać dane czujnika bezpośrednio do pliku na komputerze bez konieczności kopiowania i wklejania danych wyjściowych z okna monitora szeregowego, spróbuj odczytać strumień danych bezpośrednio z portu szeregowego (co zresztą robi monitor szeregowy, I posądzać). Na Mac / Linux zrób coś takiego:
Bóg wie, co jest odpowiednikiem maszyn z systemem Windows.
źródło
cat
polecenie jakimś skryptem.Możesz utworzyć skrypt Pythona do odczytu portu szeregowego i zapisania wyników w pliku tekstowym:
źródło
Łatwiej i bezpieczniej jest używać skryptu Python. Zwykle używam tego opartego na bibliotece szeregowej . Bardzo często używa się również modułu datetime do dodawania znaczników czasu:
źródło
Następnym krokiem jest użycie albo osłony ethernetowej, albo czegoś w rodzaju płyty WIZ810MJ i Internetu, aby włączyć arduino. Następnie możesz zapisać na nim dane i wysłać je, aby powiedział serwer sieciowy, aby je zestawił. Robię to w monitorze temperatury w warium .
źródło