मैं एक परियोजना पर काम कर रहा हूं जिसमें मुझे रास्पबेरी पीआई में संसाधित करने के लिए एक समय में कुछ 25 वर्ण डेटा प्राप्त करना होगा। यहाँ उदाहरण कोड है कि कुछ डेटा मैं Arduino से प्राप्त करना चाहते हैं उत्पन्न करता है:पार्सियल के साथ Arduino से रास्पबेरी पाई के लिए सीरियल प्राप्त कुछ समय के बाद
char i =0;
char a =0;
char b=0;
void setup(){
Serial.begin(9600);
for(i=0;i<25;i++){
Serial.print('l');}
Serial.print('\n');
delay(2000);
}
void loop(){
for(i=0;i<25;i++){
for(a=0;a<i;a++){
if((a==9)||(a==19)||(a==24))
Serial.print('l');
else
Serial.print('d');
}
for(b=0;b<25-i;b++){
Serial.print('l');
}
delay(2000);
}
}
यह इस तरह एक लाइन भेजता है 'llllddddllldddd ...' यह लाइन 25 वर्ण लंबाई है। अब, मैं इसे रास्पबेरी पी के साथ प्राप्त करना चाहता हूं। यहाँ कोड मैं काम करने के लिए कोशिश कर रहा हूँ है:
ser = serial.Serial('/dev/AMA0',9600,timeout=1)
ser.open()
try:
serial_data = ser.readline()
print serial_data
except serial.serialutil.SerialException:
pass
इस कोड की तरह के लिए 5 सेकंड के बहुत सही ढंग से डेटा प्राप्त, और फिर अचानक प्राप्त करना बंद कर देता।
इसके अलावा, जब मैं निम्नलिखित का प्रयास करता हूं, तो मुझे आउटपुट, या इनपुट/आउटपुट त्रुटियां नहीं मिलतीं।
serial_data = ser.readline()
print serial_data
EDIT1: ठीक है, मैं अब अपवाद टिप्पणी की।
raise SerialException('device reporst rediness to read but returned no data (device disconnected?)')
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected?)
PySerial के माध्यम से रास्पबेरी में arduino से 25 चरित्र डेटा प्राप्त करने के लिए सही तरीका क्या है: यह निम्न त्रुटि देता है? किसी भी मदद की सराहना की जाएगी।
वास्तव में मैंने पहले इसका उपयोग किया था। रास्पबेरी पक्ष पर कुछ भी नहीं बदलता है। अजीब बात यह है कि मुझे डेटा प्राप्त होता है जैसा कि मैं 5 सेकंड के लिए चाहता हूं। फिर, अचानक डेटा प्राप्त होने से रोकता है, भले ही मैंने सुनिश्चित किया कि Arduino संचार जारी है। – mozcelikors
@mozcelikors हो सकता है कि आप अपने 'टाइमआउट' को 2 से बड़ा करने की कोशिश कर सकें क्योंकि आप अपने Arduino में लंबे समय तक देरी करते हैं? यह आपके पाइथन कोड (केवल डीबगिंग के लिए) में अपने 'को छोड़कर' प्रिंट प्रिंट स्टेटमेंट या कुछ जोड़ने के लायक हो सकता है, शायद सीरियल अंततः अपवाद को हिट करता है। मुझे हाल ही में एक Arduino परियोजना के साथ यह मुद्दा था। –
कुछ भी नहीं है अपने अजगर कोड एक पाश में – mozcelikors