जवाबों:
आप सीरियल-पोर्ट का उपयोग करके सीरियल पोर्ट पर सेंसर डेटा लिख सकते हैं और एक छोटा प्रोसेसिंग प्रोग्राम लिख सकते हैं, जो सीरियल पोर्ट से डेटा को पढ़ता है और इसे एक फाइल पर लिखता है।
Arduino कोड सेटअप विधि में धारावाहिक परिवाद को जन्म देता है
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
}
फिर भी एक अन्य विकल्प एसडी कार्ड रीडर / लेखक का उपयोग करना है, और अपनी फाइल को एसडी कार्ड में लिखना है। जब आप डेटा एकत्र करते हैं, तो अपने वर्कस्टेशन कंप्यूटर के साथ एसडी कार्ड स्वैप करें। यह दृष्टिकोण आपको कंप्यूटर से डिस्कनेक्ट किए गए अपने प्रोजेक्ट को चलाने की अनुमति देगा, और बड़ी मात्रा में डेटा के गैर-वाष्पशील भंडारण के लिए प्रदान करेगा।
सबसे सरल तरीका सीरियल लाइब्रेरी और उस पर आउटपुट का उपयोग करना है। तब आप टर्मिनल प्रोग्राम का उपयोग करके आउटपुट को टेक्स्ट फ़ाइल में कैप्चर कर सकते हैं। हाइपरटर्मिनल विंडोज पर उपलब्ध है, लिनक्स पर टेराटर्म और ओएस एक्स पर जेड टर्म।
मेलानी
यदि आप अपने कंप्यूटर पर किसी फाइल पर सीधे सेंसर डेटा लिखना चाहते हैं, तो आउटपुट को कॉपी और पेस्ट करके सीरियल मॉनिटर विंडो बना सकते हैं, तो सीरियल पोर्ट से डेटा स्ट्रीम को सीधे पढ़ने की कोशिश करें (जो कि वैसे भी सीरियल मॉनिटर करता है, मैं संदिग्ध)। Mac / linux पर कुछ ऐसा करें:
cat /dev/cu.usbmodem1d11
भगवान जानते हैं कि विंडोज़ मशीनों पर क्या समान है।
cat
कमांड को किसी प्रकार की स्क्रिप्ट के साथ बदलना होगा ।
आप सीरियल पोर्ट को पढ़ने और परिणामों को टेक्स्ट फ़ाइल में लिखने के लिए एक पायथन स्क्रिप्ट बना सकते हैं:
##############
## 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);
मैंने पायथन स्क्रिप्ट का उपयोग करना आसान और सुरक्षित पाया। मैं आमतौर पर धारावाहिक पुस्तकालय के आधार पर इसका उपयोग करता हूं । टाइमस्टैम्प को जोड़ने के लिए डेटाइम मॉड्यूल का उपयोग करना बहुत आम है:
import serial
from datetime import datetime
sensor = "DH11"
serial_port = '/dev/ttyACM0'
baud_rate = 9600
path = "%s_LOG_%s.txt" % (str(datetime.now()), sensor)
ser = serial.Serial(serial_port, baud_rate)
with open(path, 'w+') as f:
while True:
line = ser.readline()
f.writelines([line.strip(), " t = %s \n " % (datetime.now())])
अगला कदम ईथरनेट ढाल या WIZ810MJ बोर्ड जैसे कुछ का उपयोग करना है और इंटरनेट आपके arduino को सक्षम करता है। फिर आप उस पर डेटा लिख सकते हैं और इसे भेजने के लिए वेब सर्वर को कह सकते हैं। मैं अपने विवि के तापमान की निगरानी में ऐसा करता हूं ।