我有一些位置數據不斷進來,我正在將它打印到串行。如何將數據寫入Arduino上的文本文件
說我有字符串「5」,並希望將其打印到文本文件「myTextFile」,我需要做什麼來實現這一目標?要清楚,文本文件將保存在我的電腦上,而不是保存在Arduino上的SD卡上。
另外,在我開始保存之前,他們是在程序中創建文本文件的一種方式嗎?
我有一些位置數據不斷進來,我正在將它打印到串行。如何將數據寫入Arduino上的文本文件
說我有字符串「5」,並希望將其打印到文本文件「myTextFile」,我需要做什麼來實現這一目標?要清楚,文本文件將保存在我的電腦上,而不是保存在Arduino上的SD卡上。
另外,在我開始保存之前,他們是在程序中創建文本文件的一種方式嗎?
u必須使用串行LIB此
Serial.begin(9600);
寫您的傳感器值,以在處理側使用你的循環方法
使用
Serial.println(value);
串行接口PrintWriter將從串口讀取的數據寫入文件
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
}
這是我之後的答案,但它很不清楚。任何人都可以澄清如何設置和解釋這些功能發生了什麼? – Steve
您可以創建一個python腳本來讀取串口並將結果寫入到一個文本文件:
##############
## Script listens to serial port and writes contents into a file
##############
## requires pySerial to be installed
import serial
serial_port '/dev/ttyACM0';
baud_rate = 9600; #In arduino, Serial.begin(baud_rate)
write_to_file_path = "output.txt";
output_file = open(write_to_file_path, "w+");
ser = serial.Serial(serial_port, baud_rate)
while True:
line = ser.readline();
line = line.decode("utf-8") #ser.readline returns a binary, convert to string
print(line);
output_file.write(line);
所以,你必須連接到Arduino一些SD卡,你想創建並寫入文件到呢? – KIIV
我想將文件寫入到arduino連接的計算機上。現在要更清楚地說明問題,謝謝。 –
您可以使用Putty連接Arduino並將其配置爲寫入輸出。否則,您的計算機端軟件是必需的。 – KIIV