linux - लिनक्स के लिए नल मॉडेम इम्यूलेटर(कॉम-कॉमॉम)



macos serial-port (1)

मेरे पास एक ऐसा प्रोजेक्ट है जिसमें कॉम पोर्ट (विंडो में) का उपयोग कर सीरियल संचार का परीक्षण करने के लिए कुछ एकांत परीक्षण शामिल हैं। मैं bounded बंदरगाहों का एक आभासी जोड़ी बनाने और परीक्षणों को निष्पादित करने के लिए com0com का उपयोग करता हूं।

हालांकि मुझे नहीं पता है कि लिनक्स में मैकोस में ऐसा कैसे करना है मैंने इस विषय को पढ़ा है: क्या कोई प्रोग्राम लिनक्स में कॉम कॉम कॉम है? जहां उत्तर सपाट का उपयोग करने का सुझाव देते हैं मैंने उस दृष्टिकोण की कोशिश की है लेकिन यह काम नहीं कर रहा है, मेरा आवेदन उन पोर्टों का पता नहीं लगाता है जो मैंने सिर्फ सॉकेट में परिभाषित किया है।

socat PTY,link=/dev/COM98 PTY,link=/dev/COM99

मेरा सिद्धांत यह है कि सॉकेट वर्चुअल पोर्ट नहीं बना सकता है, यह केवल मौजूदा बंदरगाहों को बाँध सकता है

कैसे मैं इस मुद्दे को हल कर सकता हूँ?

धन्यवाद!

संपादित करें:

पिछले समाज कमांड चलाने के बाद मुझे यही मिलता है यदि आप बारीकी से देखते हैं, तो आप देखेंगे कि COM98 और COM99 पोर्ट / dev / में हैं हालांकि अगर मैं / dev / COM98 को लिखता हूं और सीएम 99 का पालन करने के लिए पूंछ-एफ का उपयोग करता हूं तो मुझे इसका कोई आउटपुट नहीं मिल रहा है।

EDIT2:

ठीक है, अगर मैं पूंछ के बजाय बिल्ली का उपयोग करता हूं तो मैं आउटपुट देख सकता हूँ (क्यों?!)

'

'

'

EDIT3:

समाधान: इसके बजाय पोर्ट COMxx लेकिन ttySxx का नाम न दें!

उदाहरण:

socat PTY,link=/dev/ttyS98 PTY,link=/dev/ttyS99

कारण क्यों: कुछ सीरियल-कॉम लाइब्रेरी अन्य नामकरण का समर्थन नहीं कर सकते हैं, जैसे कि RXTX 2.XX और पिछले संस्करण।


socat -d -d pty,raw,echo=0 pty,raw,echo=0

सिर्फ ठीक और प्रिंट काम करता है:

2014/05/26 13:29:15 socat[27177] N PTY is /dev/pts/32
2014/05/26 13:29:15 socat[27177] N PTY is /dev/pts/33
2014/05/26 13:29:15 socat[27177] N starting data transfer loop with FDs [3,3] and [5,5]

मुझे लगता है कि आपको / dev / pts / 32 पर लिखने में सक्षम होना चाहिए और / dev / pts / 33 से पढ़ें

इसके अलावा / dev / COM9 {8 9} क्या आप उपयोग कर सकते हैं एक चरित्र डिवाइस है?

ls -l /dev/COM989 

उस मोड को प्रिंट करना चाहिए जो सी से शुरू होता है अगर यह मामला है





com0com