वर्चुअल सीरियल पोर्ट बनाना


11

मैं अपने मैक पर वर्चुअल सीरियल पोर्ट की एक जोड़ी बनाने की कोशिश कर रहा हूं। यह एक पीसी पर कई शेयरवेयर प्रोग्राम के साथ करना काफी आसान है। मुझे लगा कि एक लाइन में ऐसा करने के लिए कुछ uber-शक्तिशाली शेल कमांड होंगे, लेकिन मुझे यह नहीं मिल रहा है।

मैं NMEA डेटा को एक पोर्ट में भेजना चाहता हूं, और Google धरती को दूसरे से डेटा पढ़ना है।

कोई सुझाव?

संपादित करें

MrDaniel की /dev/ptypxटिप्पणी दिलचस्प लग रही थी - मैं इसे /dev/ttypxटर्मिनल में ठीक से बाहर खींच सकता हूं ।
लेकिन लगता है कि Google धरती cu पढ़ रही है। डिवाइस का नाम के बजाय / ttypx deveices ..

विशेष रूप से (पुराना प्रो):

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

  • यु एस बी:
  • /dev/cu.Bluetooth-PDA-Sync
  • /dev/cu.Bluetooth-Modem
  • /dev/cu.iPhone-WirelessAP

यहां तक ​​कि हमारे ttypx सीरियल पोर्ट ऑपरेटिंग ओके के साथ, यह इसके लिए नहीं दिखता है।
मैं उस उपकरण से Google धरती में डेटा प्राप्त करना चाहूंगा।


1
+1, जैसा कि मैं डिवाइस विकास के लिए भी करना चाहूंगा। ServerFault, SuperUser या StackOverflow भी हो सकता है।
मैक्स राइड

क्या आपने इसके बजाय Google अक्षांश का उपयोग करने पर विचार किया है? यदि यह स्वीकार्य नहीं है, तो कृपया Google धरती क्या कर रही है, इसके बारे में अधिक जानकारी प्रदान करें।
ओल्ड प्रो

क्या आप NMEA पोर्ट के माध्यम से प्रदान की गई नकली स्थिति के माध्यम से Google धरती को नियंत्रित करने में सफल रहे हैं? मुझे इसमें रुचि होगी कि यह कैसे काम करता है।
मैक्स एन

1
@MaxN - नहींं। मैंने
हार मान ली

यह करीब है (AppleScript): laclefyoshi.blogspot.com/2011/01/…
मैक्स एन

जवाबों:


9

Google के पास Arduino डेवलपर्स के लिए एक अत्यंत उपयोगी उपकरण है और यह परीक्षण उद्देश्यों के लिए ओएस एक्स पर सीरियल पोर्ट को बहुत अच्छी तरह से अनुकरण करता है। यह केवल 10.6 तक काम करता है

https://github.com/clokey/PublicCode/tree/master/MacOSXVirtualSerialPort

( http://code.google.com/p/macosxvirtualserialport/ से पहले उपलब्ध )

यह आपकी मदद कर सकता है?


2
मेरे इसे हटाने और इसे संपादित करने के लिए क्षमा करें - मुझे आपके द्वारा Google के भयानक वर्चुअल सीरियल पोर्ट सॉफ़्टवेयर को प्रकाश में लाने का श्रेय मिला है। आप इसे फिर से हटा सकते हैं और यदि आपकी प्राथमिकता है तो मैं इसे अकेला छोड़ दूंगा।
bmike

2
Macosxvirtualserialport के लिए वह कोड.google.com साइट अब 404 त्रुटि देता है।
hotpaw2

1
Google प्रोजेक्ट Github पर अभी उपलब्ध नहीं है: github.com/clokey/PublicCode/tree/master/… यह केवल 10.7 तक काम करता है, हालांकि
Max N

5

मुझे लगता है कि आप जो खोज रहे हैं वह एक छद्म टर्मिनल है जैसा कि टेक्स्ट-टर्मिनल-एचओटीटीओ में नोट किया गया है , ऐसा लगता है कि मैक ओएस एक्स में बनाया गया है /devऔर ऐसा लगता है कि यह वही कर सकता है जो आप करना चाहते हैं जैसे कि दो प्रोग्राम एक साथ "के माध्यम से बात कर रहे हैं" आभासी "सीरियल पोर्ट।

छद्म टर्मिनलों / देव / ptyp3 और / dev / ttyp3 जैसे उपकरणों के जोड़े हैं। इन दोनों में से कोई भी भौतिक उपकरण सीधे तौर पर संबद्ध नहीं है, सीरियल पोर्ट कनेक्टर भी नहीं है। लेकिन अगर कोई प्रोग्राम ttyp3 का व्यवहार करता है जैसे कि यह एक सीरियल पोर्ट था, तो उस पोर्ट को जो पढ़ा और लिखा जाता है वह ptyp3 के दूसरे सदस्य को दिखाई देता है जिसे दूसरा प्रोग्राम पढ़ने और लिखने के लिए उपयोग करता है। इस प्रकार दो कार्यक्रम इस विधि के माध्यम से एक दूसरे से बात करते हैं और ttyp3 पर एक कार्यक्रम सोचता है कि यह एक सीरियल पोर्ट से बात कर रहा है। यह इन दो टिट्स के बीच एक "पाइप" जैसा कुछ है।

Additonally, स्क्रीन प्रोग्राम मेरे द्वारा आपके लिए उपयोगी है।


1

यहाँ आपके प्रश्न के कई कोण हैं:

  • क्या आप केवल NMEA ट्रैक्स इत्यादि को किसी ऐसी चीज़ में बदलना चाहते हैं जिसे Google धरती पढ़ सके (और प्रदर्शित कर सके)? GPSBabel इस तरह की चीजों के लिए पसंद का उपकरण है।
  • क्या आप अपने जीपीएस को संलग्न करना चाहते हैं और सीरियल पोर्ट के माध्यम से इसकी सामग्री को पढ़ना चाहते हैं? Mac में सीरियल पोर्ट नहीं हैं, USB के माध्यम से सीरियल डिवाइस को कनेक्ट करने के लिए आपको कीस्पैन USA-19HS जैसी किसी चीज की आवश्यकता होगी ।
  • क्या आप आभासी धारावाहिक उपकरणों को जिज्ञासा से बाहर निकालना चाहते हैं? यह निश्चित रूप से संभव है, लेकिन मेरे ज्ञान से परे है ...

1
विकल्प 3. मेरे पास NMEA डेटा (रियलटाइम में) है, और इसे रियलटाइम में प्रदर्शित करना चाहते हैं। Google धरती एक सीरियल पोर्ट से पढ़ता है, इसलिए मुझे केवल यह पता लगाने की आवश्यकता है कि बंदरगाहों को कैसे स्थापित किया जाए, और उनमें से एक में पाइप करें।
डिफेनेस्ट्रेशनडाय नोव

NMEA डेटा कहाँ से आ रहा है? GPSBabel एक वास्तविक समय कनवर्टर के रूप में कार्य करने के लिए, को देखने में सक्षम है gpsbabel.org/htmldoc-1.4.2/tracking.html
nohillside

यह एक iPhone से प्रवाहित होता है। मुझे किसी भी चीज़ (विशेषकर kml) में रूपांतरण की आवश्यकता नहीं है, मुझे केवल nmea डेटा को फेंकने के लिए एक आभासी सीरियल पोर्ट की आवश्यकता है, और इसे Google धरती द्वारा दूसरे छोर को चूसना है।
डिफेनेस्ट्रेशनडाय

हर बार जब मैं अपने कीस्पैन का उपयोग करने के लिए मिलता हूं तो मैं सिर्फ कानों से कान तक मुस्कुराता हूं। इतना नया है और एक साथ काम कर रहे वर्ष ;-) - विशेष रूप से अपने नए 11 इंच एयर पर
bmike

0

यह स्पष्ट नहीं है कि आप सीरियल पोर्ट डिटेक्शन में निर्मित नकली कर सकते हैं, लेकिन मैं एक नामित पाइप (mkfifo) के साथ शुरू करूँगा /dev/cu.fake.ttypxऔर कुछ डेटा तैयार करने के लिए तैयार रहना होगा जब आप रियलटाइम को सक्षम करते हैं।

Google धरती की मेरी प्रति क्रम में प्रत्येक संभावित स्रोत को प्रदूषित करती प्रतीत होती है और जब तक मेरे पास कोई NMEA डेटा उपलब्ध नहीं है तब तक स्कैन करने के अलावा कुछ भी नहीं करता है।

आपको निश्चित रूप से एक छोटी सी [शेल | पेरल | पाइथन] स्क्रिप्ट की आवश्यकता होगी, जिसे पढ़ने के लिए /dev/ttypxऔर अपनी "नकली" फिफो फाइल में लिखना होगा।


-1

एक विंडोज़ टूल है जिसे GooPs http://goopstechnologies.com/?page_id=12 कहा जाता है जो कुछ इसी तरह के कार्यों को संभालता है।

आप एक स्थान-चिह्न भी बना सकते हैं जो एक फ़ाइल से निर्देशांक पढ़ता है और हर सेकंड ताज़ा करता है।

/programming/7249565/how-to-properly-update-google-earth-kml-using-networklinkcontrol-and-the-java-ap


यह प्रश्न में वर्णित समस्या को कैसे हल करता है?
nohillside

-1

मैंने OSX C प्रोग्राम में वर्चुअल कम पोर्ट बनाने के लिए एक पॉज़िक्स स्यूडोटर्मिनल का उपयोग किया है। आप posix_openpt () लाइब्रेरी फ़ंक्शन खोज सकते हैं।

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