मैं ubuntu 14.04 पर ArduinoStudio सीरियल मॉनिटर को डेटा प्राप्त करने के लिए प्रतीत नहीं कर सकता [बंद]


11

मैं Arduino स्टार्टर किट का उपयोग कर रहा हूं, इसलिए मेरे पास एक Uno R3 है और उदाहरणों के माध्यम से मैं Arduino Studio में अपने नियंत्रक से तापमान डेटा पढ़ने की कोशिश कर रहा हूं।

संक्षेप में मेरी समस्या को कम किया जा सकता है

void setup() {
    Serial.begin(9600);
}

void loop() {
    Serial.print("stuff");
}

जो मुझे सीरियल मॉनीटर पर "सामान" छापने की उम्मीद होगी।

(व्यवहार में, मैं इस सटीक कोड को चला रहा हूं, लेकिन सभी तापमान-रीडिंग मेरी समस्या के लिए अप्रासंगिक हैं, मैं बस इसका उल्लेख कर रहा हूं क्योंकि मैं यह देख सकता हूं कि जब तापमान बढ़ जाता है तो mye एलईड लाइट अप करता है ताकि मुझे पता चले कि कोड अपलोड हो गया है और डुओ पर चल रहा है)।

मैं स्टूडियो कंसोल में कोई त्रुटि नहीं देख रहा हूं, और अगर मैं कनेक्ट करता हूं gtktermया screenमैं डेटा को भेजा जा रहा देख सकता हूं, तो समस्या AndroidStudio सीरियल मॉनीटर में स्वयं को अलग-थलग लगती है।

मैं Ubuntu 14.04 चला रहा हूं और मैं USB के माध्यम से जुड़ा हुआ हूं /dev/ttyACM3

मैंने दौड़ने की कोशिश की

stty -F / dev / ttyACM3 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts

जैसा कि यहाँ सुझाया गया है और मैंने बॉड 115200 के साथ भी प्रयास किया, इस बात का ध्यान रखते हुए कि मैं अपने setupकार्य में मूल्य को बदल सकूँ ।

मैं भी भागा

chmod a + rw / dev / ttyACM3

लेकिन मैं अभी भी कोई त्रुटि या आउटपुट नहीं देख रहा हूं। मैं इस समस्या को डीबग करने के लिए कैसे आगे बढ़ूं?

रनिंग ls -l /dev/ttyACM*देता है

crw-rw ---- 1 रूट डायलआउट 166, 0 फेब। 20 14:22 / देव / ttyACM0

crw-rw ---- 1 रूट डायलआउट 166, 1 फेब। 20 14:22 / देव / ttyACM1

crw-rw ---- 1 रूट डायलआउट 166, 2 फेब। 20 14:22 / देव / ttyACM2

crw-rw-rw- 1 रूट डायलआउट 166, 3 फेब। 20 14:30 / देव / ttyACM3


1
GtkTerm या PuTTY का परीक्षण करें।
मिकेल पटेल

@MikaelPatel धन्यवाद, कि मुझे कम से कम समस्या को अलग करने में मदद करनी चाहिए :)
ivarni

1
"Ls -l / dev / ttyACM *" का आउटपुट क्या है?
अवमंदर

2
एकल उद्धरणों के बजाय स्ट्रिंग "सामान" को दोहरे उद्धरणों में डालने का प्रयास करें।
अवामेंडर

1
मैं इस पुराने अनसुलझे प्रश्न को बंद करने के लिए मतदान कर रहा हूं क्योंकि पूछने वाला टिप्पणी में कहता है कि "मेरे पास या तो स्वयं arduino नहीं है या कंप्यूटर मैं किसी भी अधिक का उपयोग कर रहा था" जिसका अर्थ है कि इस मुद्दे को कभी भी हल करना असंभव होगा।
क्रिस स्ट्रैटन

जवाबों:


0

डिफ़ॉल्ट रूप से, डिवाइस पर कुछ गैर मानक में नाम बदलने के लिए विशिष्ट udv बाइंडिंग नियमों के बिना एक लिनक्स सिस्टम पर, FTDI ड्राइवर को सीरियल पोर्ट को / dev / ttyUSB * पर सीरियल पोर्ट में मैप करना चाहिए और न कि / dev / ttbACS * पर। मुझे संदेह है कि आप सिर्फ गलत जगह देख रहे थे। मुझे लगता है कि यह सीरियल डोंगल के लिए किसी भी USB के लिए / dev / ttyUSB * को डिफॉल्ट करता है:

usb-serial.c:   usb_serial_tty_driver->name = "ttyUSB";

यह सुनिश्चित करने के लिए कि आप Arduino में प्लगिंग करने के लिए सही डिवाइस फ़ाइल रन "sudo dmesg -C" priot में देख रहे हैं, और बाद में सिर्फ 'sudo dmesg' देखने के लिए जहां सीरियल कन्वर्टर के लिए तेह usb संलग्न था। आपको एक देखना चाहिए इस तरह से संदेश: ch341-uart कनवर्टर अब ttyUSB0 से जुड़ा हुआ है, जहां ch341-uart को आपके arduino द्वारा प्रतिस्थापित किया गया है (सबसे अधिक संभावना FT232'ish)
18

यह शायद लागू नहीं है। The post एक यूनो R3 का उपयोग करने का दावा करता है, जिसमें कोई FTDI नहीं है, बल्कि एक ATmega16u2 में एक कस्टम USB सीरियल कार्यान्वयन है, जो ttyACM डिवाइस के रूप में मैप करेगा कि ttyUSB एक - जो केवल अन्य USB सीरियल समाधानों का उपयोग करके बोर्डों पर होता है, पुराने Arduinos और मिश्रित क्लोन और कंपेटिबल्स की तरह।
क्रिस स्ट्रैटन

ठीक है, लेकिन अभी भी dmesg चीज कर रहा है आपको बताएगा कि कौन सा सही उपकरण है जो linux arduino को असाइन कर रहा है .... यह ch340 या FT * नहीं दिखाएगा .... लेकिन यह अभी भी रिपोर्ट करेगा कि असाइन किए गए वर्ण विशेष फ़ाइल क्या है / देव में।
louigi600
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.