एक RS232 सीरियल पोर्ट फकिंग


84

मैं एक ऐसी परियोजना विकसित कर रहा हूं जिसमें कई हार्डवेयर सेंसर हैं जो RS232 सीरियल पोर्ट के माध्यम से तैनाती मशीन से जुड़ते हैं।

लेकिन ... मैं एक भौतिक RS232 सीरियल पोर्ट के बिना एक मशीन पर विकसित कर रहा हूं, लेकिन मैं नकली सीरियल पोर्ट बनाना चाहूंगा जिसे मैं हार्डवेयर सेंसर से इनपुट फ़ेकिंग के उद्देश्य से और आउटपुट डेटा से कनेक्ट कर सकता हूं।

क्या किसी को नकली सीरियल पोर्ट बनाने और विंडोज एक्सपी पर नियंत्रण करने के तरीके के बारे में पता है?


2
क्या आपने सीरियल पोर्ट के साथ वर्चुअल मशीन स्थापित करने की कोशिश की है?
रेस्टुटा

4
मैंने कोशिश नहीं की है। लगता है जैसे यह एक टिप्पणी के बजाय एक पूर्ण जवाब होने की जरूरत है :)
BefittingTheorem

1
मैं विंडोज 7 64-बिट पर com0com और कॉम पोर्ट सीरियल एमुलेटर का उपयोग करने में सक्षम था, बिना समस्या के, शानदार काम किया।
JWiley

जो लोग यहाँ अंत के लिए मैं com0com के लिए एक संक्षिप्त अनुदेश लिखा है यहाँ
Foad

जवाबों:


69

यदि आप विंडोज के लिए विकसित कर रहे हैं, तो com0com प्रोजेक्ट हो सकता है, जिसे आप ढूंढ रहे हैं।

यह वर्चुअल COM पोर्ट के जोड़े प्रदान करता है जो एक नलमोडेम कंसेटेशन के माध्यम से जुड़े होते हैं। फिर आप अपने पसंदीदा टर्मिनल एप्लिकेशन का उपयोग कर सकते हैं या जो भी आप एक COM पोर्ट पर डेटा भेजना चाहते हैं और दूसरे से प्राप्त कर सकते हैं।

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

जैसा कि थॉमस ने बताया कि प्रोजेक्ट में एक हस्ताक्षरित ड्राइवर की कमी है, जो विशेष रूप से कुछ विंडोज संस्करण (जैसे विंडोज 7 x64) पर समस्याग्रस्त है।

वहाँ अनौपचारिक com0com संस्करणों के एक जोड़े के आसपास है कि एक हस्ताक्षरित ड्राइवर होते हैं। हाल ही के एक वचन (3.0.0.0) को यहाँ से डाउनलोड किया जा सकता है


4
हालांकि com0comप्रोजेक्ट एक उत्कृष्ट ओपन सोर्स प्रोजेक्ट है, क्योंकि इसे डिजिटल हस्ताक्षर के बिना डिवाइस ड्राइवर को स्थापित करना चाहिए, कुछ विंडोज़ सिस्टम डिजिटल हस्ताक्षरित ड्राइवर की जाँच करते हुए इसके वर्चुअल सीरियल पोर्ट के साथ काम नहीं करेंगे। बस लोग जानना चाहते हैं।
ताई-सुंग शिन

5
@Thomas: नेट की खोज से पता चलता है कि ड्राइवर के कुछ अनौपचारिक हस्ताक्षरित संस्करण हैं। हाल ही के एक संस्करण (3.0.0.0) को यहां से डाउनलोड किया जा सकता है
फ्रैंक बोलैक

बहुत धन्यवाद, आप एक बीयर के लायक हैं!
पेल एले

हालांकि यह वास्तव में कैसे किया जाता है? विंडोज़ मूल बातें क्या हैं?
नचट

@ प्रत्येक चालक कुछ अमूर्त बनाता है यहां तक ​​कि वास्तविक सीरियल पोर्ट "कनेक्टेट" भी है। इसका मतलब यह है कि यदि आप ड्राइवर लिखते हैं तो आप देखेंगे कि आपको वास्तविक चीज़ के साथ संवाद करने की ज़रूरत नहीं है। जैसा कि आप चाहते हैं कि आप ट्रिमिशन बफर का उपयोग कर सकते हैं। इस आभासी मामले में, वास्तविक चीज़ को स्ट्रीम भेजने के बजाय आप डेटा को दूसरे "पोर्ट" पर भेजें। वह पोर्ट पहली जोड़ी के साथ है। पूरी बात डेटा स्ट्रीम मिररिंग की तरह लगती है। मुझे उम्मीद है कि अब यह स्पष्ट है।
श्री वि.वि.

63

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन इस मामले में किसी और को इस सवाल पर होता है, एक अच्छा विकल्प आभासी सीरियल पोर्ट एम्यूलेटर (VSPE) से है Eterlogic यह कर्नेल मोड आभासी अच्छी तरह पेश आना उपकरणों, यानी कनेक्टर्स, मानचित्रकारों, splitters आदि बनाने के लिए एक एपीआई प्रदान करता है ।
हालांकि , विज्ञापित क्षमताओं में से कुछ वास्तव में थे नहीं क्षमताओं सब पर

EDIT
एक बेहतर विकल्प , एलीटीमा । यह उत्पाद पूरी तरह से बेक किया हुआ है। अच्छा डेवलपर तकनीकी समर्थन। उत्पाद ने यह सब करने का दावा किया। उत्पाद विकल्पों में डेस्कटॉप एप्लिकेशन और साथ ही एपीआई के साथ सॉफ्टवेयर डेवलपमेंट किट दोनों शामिल हैं।

इन उत्पादों में से कोई भी खुला स्रोत नहीं है, या मुफ्त है। हालांकि, जैसा कि यहां अन्य पदों ने बताया है, अन्य विकल्प भी हैं। यहाँ विभिन्न सीरियल उपयोगिताओं की एक सूची दी गई है:

com0com (वर्तमान)
com0com - हस्ताक्षरित चालक (पुराने संस्करण) के साथ,
फिर भी Com0com के लिए एक और स्थान है हस्ताक्षरित चालक (पीट का ब्लॉग) के साथ
सामरिक सॉफ्टवेयर
दीमक
COM पोर्ट सीरियल एम्यूलेटर
Kermit (अप्रचलित, लेकिन अभी भी डाउनलोड करने योग्य) -
HWVSP3
HHD सॉफ्टवेयर (मुक्त संस्करण)


35

मैं com0com का उपयोग करता हूं - हस्ताक्षरित चालक के साथ , विंडोज़ 7 x64 पर COM3 और COM4 को एक जोड़ी के रूप में अनुकरण करने के लिए।

तो मैं COM Dataport एमुलेटर COM4 से प्राप्त करने के लिए उपयोग करें ।

फिर मैं एप्लिकेशन इम डेवलपमेंट (c #) के साथ COM3 को खोलता हूं और COM3 को डेटा भेजता हूं।

COM3 द्वारा भेजे गए डेटा को COM4 द्वारा प्राप्त किया गया है और इसे 'COM डाटापोर्ट एमुलेटर' द्वारा दिखाया गया है, जो एक प्रतिक्रिया भी भेज सकता है (स्वचालित नहीं)।

तो इस 2 महान कार्यक्रमों के साथ मैं सीरियल RS-232 कॉम्यूनिकेशन का अनुकरण करने में कामयाब रहा।

आशा है कि इससे सहायता मिलेगी।

दोनों कार्यक्रम निशुल्क हैं !!!!!


1
बहुत खुबस। इससे मुझे मदद मिली, यह सुनिश्चित है। क्या आप किसी ऐसे तरीके के बारे में जानते हैं जिसे मैं अपने डेटा के लिए COM पोर्ट डेटा एमुलेटर प्रतीक्षा कर सकता हूं, फिर उसे वापस भेजें?
बंगगो

4

हमेशा हार्डवेयर मार्ग होता है। धारावाहिक कन्वर्टर्स के लिए दो यूएसबी खरीद, और उन्हें एक पूर्ण मॉडेम के माध्यम से कनेक्ट करें।

प्रो युक्तियाँ: 1) विंडोज हर डिवाइस के सोने या रिबूट के बाद एडेप्टर में नए COM पोर्ट असाइन कर सकता है। 2) USB से सीरियल के लिए चिप्स में बाजार के नेता प्रोलिफिक और FTDI हैं। दोनों कंपनियां नॉकऑफ से जूझ रही हैं, और भविष्य के आधिकारिक विंडोज ड्राइवरों में अवरुद्ध हो सकती हैं। हालांकि, लिनक्स ड्राइवर क्लोन के साथ ठीक काम करते हैं।


3
ध्यान दें कि USB सीरियल एडेप्टर में पारंपरिक UART से अलग समय / गुस्ताख़ व्यवहार होता है। हालांकि, किसी के साथ परीक्षण एक बुरा विचार नहीं है अगर किसी एक का कभी भी उपयोग किया जा रहा है। जब वे पहले लोकप्रिय हो जाते हैं, तो खराब डिज़ाइन या कार्यान्वित किए गए प्रोटोकॉल कभी-कभी टूट जाते हैं या एक के साथ उपयोग किए जाने पर क्रॉल में धीमा हो जाते हैं। आज यह संभावना कम है कि विकास में यूएसबी-संलग्न-यूएआरटी के साथ प्रयास किए बिना कुछ बाहर निकल जाए; वास्तव में एक पीसी पर एक पारंपरिक UART पर कोशिश की जा रही है जो अब संभावना नहीं है।
क्रिस स्ट्रैटन

3

एक अन्य विकल्प, भले ही ओपी ने इसके लिए नहीं पूछा:

इसमें USB से सीरियल एडाप्टर्स मौजूद हैं। एडेप्टर के प्रकार के आधार पर, आपको एक नलमोडेम केबल की भी आवश्यकता हो सकती है।

वे लिनक्स के तहत उपयोग करने के लिए बेहद आसान हैं, खिड़कियों के नीचे काम करते हैं, अगर आपको काम करने वाले ड्राइवर स्थापित हैं, तो भी।

इस तरह से आप सीधे सेंसर के साथ काम कर सकते हैं, और आपको डेटा का प्रयास और अनुकरण करने की आवश्यकता नहीं है। इस तरह से आप शायद एनीमिक सिस्टम बनाने से भी बच सकते हैं। (आपके उत्सर्जित डेटा इनपुट के कारण सभी मामलों को कवर नहीं किया जा सकता है, जिससे आप भंगुर प्रणाली की ओर अग्रसर होंगे।)

वास्तविक सामान के साथ काम करने के लिए इसका अक्सर बेहतर होता है।


क्या एक सॉफ्टवेयर usb-to-serial एडाप्टर के लिए एक नाम होना संभव है? :) धन्यवाद
एल्क जूल

1
screen /dev/ttyUSB0 9600या उपयोग करें minicomयदि आपको ऐसे हार्डवेयर के लिए सॉफ़्टवेयर की आवश्यकता है।
साजास

1

मैं अपने modbus आवेदन डिबग काम के लिए eltima वर्चुअल सीरियल पोर्ट का इस्तेमाल किया। हार्डवेयर कनेक्ट किए बिना सीरियल पोर्ट प्रोग्राम की जांच करने के लिए विकास के स्तर पर यह वास्तव में बहुत अच्छा अनुप्रयोग है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.