2009-11-02 11 views
7

क्या Google Gears, Google Gelocation API या किसी अन्य वेब स्थान API (जैसे Fire Eagle) से ऐसे डेटा प्रारूप में यह संभव है कि यह किसी अन्य डिवाइस पर जीपीएस डिवाइस के रूप में दिखाई दे?अनुकरण जीपीएस या एक धारावाहिक डिवाइस

सुपर उपयोगकर्ता पर वाईफाई स्थान खोज के बारे में मेरे प्रश्न में these answers पढ़ने के लिए मुझे यह हुआ कि अगर मैं एक जीपीएस इकाई का अनुकरण कर सकता हूं, तो इनमें से कई वेब सेवाएं 'गरीब-मानव' जीपीएस के रूप में कार्य कर सकती हैं अन्यथा कम उपयोगी सॉफ़्टवेयर जिसके लिए इसकी आवश्यकता है।

GPSD एक विकल्प है?

पसंदीदा ओएसएक्स & पायथन, लेकिन मुझे किसी भी कार्यान्वयन में दिलचस्पी होगी।

+0

मेरे सवाल का सटीक पायथन समाधान के अभाव में, मैं गूगल कोड, जहां मैं मुझे लगता है जानकारी/कोड को कॉपी जाएगा पर निम्नलिखित परियोजना शुरू कर दिया है/ –

+0

gpsd एक नए स्थान पर ले जाया गया है: https://savannah.nongnu.org/projects/gpsd –

उत्तर

4

एक पाइथन मेललिस्ट पर very similar thread है जो विंडोज virtual COM ports का उल्लेख करता है और यूनिक्स की छद्म-टीटी क्षमताओं पर चर्चा करता है। यदि आप जिस ऐप का उपयोग करना चाहते हैं, उसे एक विशिष्ट टीटीआई डिवाइस फ़ाइल में टाइप करने दें, तो यह सबसे आसान मार्ग हो सकता है। (लेखकों से पूछने के लिए कि आप क्या करने का प्रयास कर रहे हैं, या खुद को $20 bluetooth GPS mouse खरीदना चाहते हैं।)

क्या आप ओएस एक्स का उपयोग कर रहे हैं?

Google कोड पर macosxvirtualserialport प्रोजेक्ट है जो socat नामक उपयोगिता की कुछ विशेषताओं के आसपास एक ग्राफिकल रैपर प्रदान करता है। यदि आप छद्म-टीटी मार्ग में संभावित देखते हैं तो मैं सोशल पर एक नज़र डालने की सलाह दूंगा। मेरा मानना ​​है कि आप पाइथन प्रोग्राम से एक छद्म-टीटीआई में एक पाइप को जोड़ने के लिए सोकाट का उपयोग कर सकते हैं।

अधिकांश मूल मैक ऐप्स KOSOSERialBSDRS232Type वाले डिवाइस के लिए IOServiceMatching से पूछताछ करेंगे, और मुझे संदेह है कि एक छद्म-टीटी आईओकिट सेवा के रूप में दिखाई देगा।

इस मामले में, जब तक कि आप ऐसी कोई परियोजना नहीं ढूंढ पाते जो पहले से ही ऐसी चीज लागू कर चुकी है, तो आपको इस How to create virtual COM port धागे में वर्णित ड्राइवर को लागू करने की आवश्यकता होगी। यदि आप डिवाइस ड्राइवर बनाने की परेशानी पर जा रहे हैं, तो आप IOServiceMatching क्वेरी की वजह से IOKit पर इसका आधार बनाना चाहेंगे। आप Apple16X50Serial परियोजना Apple's open source code list के शीर्ष पर है कि पोस्ट में उल्लेख किया पा सकते हैं (main page के पास जाकर एक पुराने ओएस रिलीज लेने अगर आप कुछ पूर्व 10.6 लक्षित करना चाहते हैं)।

यदि आपका ऐप रीयलटाइम डेटा (उदाहरण के लिए पाइथन मेलिंगलिस्ट थ्रेड can log current positions में उल्लिखित रूटबड्डी ऐप) के साथ सबसे उपयोगी है तो आप अपने वेब स्रोतों से अपडेट प्राप्त करना चाहते हैं (उम्मीद है कि वे लंबे मतदान का समर्थन करते हैं) और उन्हें मूल रूप से परिवर्तित करें NMEA आरएमसी वाक्य। आप इसे अपने ड्राइवर कोड के अंदर से नहीं करना चाहते हैं। इसके बजाय, अपने काम को कर्नेल-भूमि और उपयोगकर्ता-भूमि टुकड़ों में विभाजित करें जो संवाद कर सकते हैं, और जितना संभव हो सके कर्नेल भाग में कोड डाल सकते हैं।

आप क्षुधा जाने दोनों पढ़ सकते हैं और इन वेब सेवाओं के बारे में चाहते हैं, अपने सबसे अच्छे शर्त शायद एक गार्मिन डिवाइस अनुकरण करने के लिए किया जाएगा। गार्मिन अधिक या कम से प्रलेखित IntfSpec.pdf फ़ाइल में उनके प्रोटोकॉल उनके Device Interface SDK के साथ शामिल है। दोबारा, आप उपयोगकर्ता-स्पेस कोड में उतना ही विभाजित करना चाहते हैं जितना आप कर सकते हैं।

मैं एक परियोजना या उपयोगिता को खोजने में असमर्थ था जो आईओकिट-आधारित वर्चुअल सीरियल इंटरफ़ेस के कर्नेल पक्ष को लागू करता है, लेकिन मुझे आश्चर्य होगा कि वहां कोई छुपा नहीं रहा था। दुर्भाग्य से, जवाब मुझे लगता है कि प्रश्न करने के लिए मिला से अधिकांश के साथ डेवलपर व्यस्त writing a kext प्राप्त करने के लिए कहा जा रहा है, इस तरह थे। http://code.google.com/p/python-virtualgps:

+0

कुछ वास्तव में उपयोगी सामान, धन्यवाद। मैं वास्तव में ओएसएक्स का उपयोग कर रहा हूं (मूल प्रश्न में अतिरिक्त विवरण)। –

+0

एक $ 20 जीपीएस माउस एक अच्छा बिंदु है (और एक महान 'गरीब-मानव जीपीएस!), लेकिन मेरा समग्र उद्देश्य गैर-जीपीएस वेब एपीआई से वर्चुअल जीपीएस' डेटा स्ट्रीम 'प्रदान करना है। –

+0

एक तरफ के रूप में, मुझे वास्तव में एहसास नहीं हुआ कि जीपीएस डोंगल कितने सस्ते हैं: http://www.amazon.co.uk/s/ref=nb_ss_0_6?url=search-alias%3Daps&field-keywords=gps+receiver –

2

मैं बिल्कुल यकीन है कि पूरा करने के लिए कैसे आप क्या कह रहे हैं नहीं कर रहा हूँ, लेकिन मैं आपको कैसे शुरू कर सकते हैं यह किया जाना है के रूप में कुछ अंतर्दृष्टि उधार देने के लिए सक्षम हो सकता है। तो यहां जाता है:

एक जीपीएस डिवाइस अधिकांश सिस्टम तक दिखाता है क्योंकि एक सीरियल डिवाइस से अधिक कुछ नहीं - a.k.a. एक COM पोर्ट यदि आप Windows,/dev/ttySx से निपट रहे हैं, तो आप * nix में हैं। परिभाषा के अनुसार, एक सीरियल पोर्ट का विशिष्ट कर्तव्य एक बस में डेटा को स्ट्रीम करना है, एक समय में एक ब्लॉक। तो, यह तर्कसंगत रूप से पालन करेगा कि यदि आप किसी जीपीएस डिवाइस की उपस्थिति का अनुकरण करना चाहते हैं, तो आपको उस डेटा को इकट्ठा करना चाहिए जिसे आप उपभोग कर रहे हैं और इसे एक स्ट्रीम में डाल दें जो किसी भी तरह से सक्रिय सीरियल पोर्ट की तरह कार्य करता है।

वहाँ रहे हैं, तथापि, कुछ जटिलताओं आप पर विचार करना चाहते हो सकता है:

  • अधिकांश जीपीएस डिवाइस सिर्फ स्थान डेटा बाहर न भेजें; उपग्रह स्थानों, फिक्स गुणवत्ता, असर, और इसी तरह की जानकारी भी है। फिर फिर, किसी भी व्यक्ति ने यह नियम नहीं बनाया है कि में यह डेटा उपलब्ध कराने के लिए है। इसके लिए शायद अधिक है, लेकिन मैं स्वीकार करूंगा कि मुझे इस क्षेत्र में और अधिक शोध करने की आवश्यकता है।
  • मुझे यकीन नहीं है कि Google अक्षांश, आदि से निपटने के दौरान आप डेटा कितनी तेजी से प्राप्त कर सकते हैं, लेकिन प्राप्त करने में देरी से निश्चित रूप से आपके "सीरियल पोर्ट" डेटा स्ट्रीम में दिखाई देने वाले विराम होंगे। फिर, ऐसा लगता है कि यह एक जटिलता जितना बड़ा नहीं हो सकता है, क्योंकि जीपीएस डिवाइस बस में डेटा को "फट" करने के लिए जाने जाते हैं, लेकिन मैं निश्चित रूप से उस पर नजर रखूंगा। आप यह सुनिश्चित करना चाहते हैं कि डेटा की अधिशेष हमेशा कम हो, न कि कमी।

जिस तरह से आपको मान्य जीपीएस वाक्यों में प्राप्त निर्देशांक को भी बदलना होगा, साथ ही साथ। आप उन लोगों के लिए विनिर्देश पा सकते हैं, लेकिन मैं निश्चित रूप से एनएमईए मानक के साथ दोस्त बनाउंगा - भले ही यह एक दोषपूर्ण मानक है, फिर भी यह हर कोई किसी भी तरह से सहमत होने लगता है।

आशा है कि इससे आपको कम से कम थोड़ा सा मदद मिलेगी। क्या अब आपकी समस्या के लिए विशिष्ट विवरण हैं जो आपको लगता है कि इस सवाल का जवाब देने में उपयोगी हो सकता है?

+0

यह भी ध्यान रखें: मैं gpsd साथ भी परिचित नहीं हूँ, लेकिन हाँ, यह करता है, तो मैंने आप के लिए एक विकल्प हो सकता आपने अपने प्रश्न में जो उल्लेख किया है, उसे सही ढंग से समझा। –

+1

वहां कुछ अच्छी जानकारी है - क्या कोई मौजूदा पुस्तकालय/उत्पाद हैं जो धारावाहिक बंदरगाहों का अनुकरण कर सकते हैं? –

+0

कुछ और विवरण जोड़ा गया। मेरा लक्ष्य मूल प्रश्न है। –

0

मैंने इसमें बहुत कुछ नहीं देखा है, लेकिन क्या आपने Skyhook's SDK का उपयोग करने पर विचार किया है? यह आपको कुछ चीज़ों के साथ प्रदान कर सकता है जो आप खोज रहे हैं। यह हर प्रमुख डेस्कटॉप और मोबाइल ओएस के लिए उपलब्ध है।

+0

स्काईकूक में 'वर्चुअल' जीपीएस (पंजीकरण के बाद डाउनलोड करने योग्य) है, फ्रांसन जीपीएस गेट के समान है, लेकिन यह विंडोज/मोबाइल केवल –

1

Franson GPS Gate पर एक नज़र डालें जो आपको अन्य चीजों के साथ Google धरती से कनेक्ट करने की अनुमति देता है (जैसे जीपीएस अनुकरण करना और इसी तरह)। क्या खिड़कियां केवल तभी हैं लेकिन मुझे लगता है कि आप इससे कुछ उपयोगी विचार प्राप्त कर सकते हैं।

+0

है, यह वही चीज है जो मैं ढूंढ रहा हूं, लेकिन आदर्श रूप से स्रोत कोड जो पूरा करता है यह। अच्छी चीजें हालांकि :) –

संबंधित मुद्दे