سؤال

هل من الممكن الحصول على بيانات الموقع من جوجل التروس, Google Gelocation API. أو أي api موقع الويب الآخر (مثل نسر النار) في هذا التنسيق الذي يبدو أنه برنامج آخر كجهاز GPS؟

لقد حدث لي القراءة هذه الإجابات على سؤالي بخصوص العثور على موقع WiFi، على مستخدم Super، أنه إذا استطعت محاكاة وحدة GPS، فقد تعمل العديد من خدمات الويب هذه كعولود GPS "الفقراء" لتحديد البرامج الأقل مفيدة.

يكون GPSD خيار؟

ويفضل OSX & Python، لكنني سأكون مهتما بأي تنفيذ.

هل كانت مفيدة؟

المحلول

هناك موضوع مشابه جدا في قائمة بريد Python البريدية التي تذكر Windows منافذ COM الافتراضية ويناقش قدرات UNIX الزائفة TTY. إذا كان التطبيق (التطبيقات) الذي تريد استخدامه، فدعك تكتب في ملف جهاز ذو TTY محددة، فقد يكون هذا هو أسهل طريق. (اختصار مطالبة المؤلفين بتقديم واجهة برمجة تطبيقات إضافية لما تحاول القيام به، أو شراء نفسك 20 دولار بلوتوث GPS الماوس.)

هل تستخدم OS X؟

هناك مشروع macosxvirtualserialport. على Google Code يوفر غلاف رسومي حول بعض ميزات مفيد سيارات. وبعد أود أن أوصي بإلقاء نظرة على SOCAT إذا رأيت إمكانات في طريق الزائفة TTY. أعتقد أنك يمكن أن تستخدم SOCAT لربط الأنابيب من برنامج ثعبان إلى ذوي الدقة.

ستكون معظم تطبيقات Mac الأصلية تسليم IOServicematching لجهاز مع KioserialBSDRS232TYPE، وأشك في أن Tty Pseudo-Stty سيظهر كخدمة Iokit.

في هذه الحالة، ما لم تتمكن من العثور على مشروع قام بالفعل بهذا الشيء، ستحتاج إلى تطبيق برنامج تشغيل كما هو موضح في هذا كيفية إنشاء منفذ COM الظاهري مسلك. إذا كنت ذاهبا إلى مشكلة إنشاء برنامج تشغيل جهاز، فأنت تريد أن تقوم بتسهيل Iokit بسبب هذا الاستعلام المحتمل IOServicematching. يمكنك العثور على مشروع Apple16x50serial المذكور في هذا المنشور في الجزء العلوي من قائمة رمز المصدر المفتوح آبل (انتقل إلى الصفحة الرئيسية واختر إصدار نظام التشغيل الأقدم إذا كنت ترغب في استهداف شيء ما قبل 10.6).

إذا كان تطبيقك مفيدا للغاية مع بيانات حقيقية (مثل تطبيق Routebuddy المذكور في موضوع Python البريدي يمكن تسجيل المواقف الحالية) ثم سترغب في جلب تحديثات من مصادر الويب الخاصة بك (نأمل أن يدعمون الاقتراع الطويل) وتحويلها إلى الأساسي NMEA. جمل RMC. أنت لا تريد القيام بذلك من داخل رمز السائق الخاص بك. بدلا من ذلك، قم بتقسيم عملك إلى أقراص نواة أرض وأراد المستخدم التي يمكن أن تتواصل، ووضع القليل من التعليمات البرمجية قدر الإمكان في جزء kernel.

إذا كنت ترغب في ترك التطبيقات على حد سواء القراءة والكتابة إلى خدمات الويب هذه، فمن المحتمل أن يكون أفضل رهان محاكاة جهاز Garmin. يحتوي Garmin على موثق بروتوكولها أكثر أو أقل في ملف INTFSPEC.PDF المضمن واجهة الجهاز SDK.. وبعد مرة أخرى، تريد تقسيم أكبر قدر ممكن في رمز مساحة المستخدم.

لم أتمكن من العثور على مشروع أو أداة مساعدة تقوم بتنفيذ جانب النواة من الواجهة المسلسل الافتراضية المستندة إلى Iokit، لكنني سأفاجأت إذا لم يكن هناك شخص يختبئ في مكان هناك. لسوء الحظ، كانت معظم الإجابات التي وجدتها لهذا السؤال مثل هذا، مع قيل للمطور للحصول على مشغول كتابة كواليس.

نصائح أخرى

أنا لست متأكدا تماما من كيفية إنجاز ما تسأله، لكنني قد أكون قادرا على إقراض بعض البصيرة فيما يتعلق بكيفية يبدأ للحصول عليه القيام به. حتى هنا يذهب:

يظهر جهاز GPS حتى معظم الأنظمة لأنه لا شيء أكثر من جهاز تسلسلي - و AKA منفذ COM إذا كنت تتعامل مع Windows و / Dev / Ttysx إذا كنت في * Nix. بحكم التعريف، فإن الواجب المحدد للميناء التسلسلي هو دفق البيانات عبر الحافلة، كتلة واحدة في وقت واحد. لذلك، سيتبع ذلك منطقيا أنه إذا كنت ترغب في محاكاة وجود جهاز GPS، يجب عليك جمع البيانات التي تستهلكها ووضعها في دفق يعمل بطريقة أو بأخرى مثل منفذ تسلسلي نشط.

ومع ذلك، هناك بعض المضاعفات التي قد ترغب في النظر فيها:

  • معظم أجهزة GPS لا ترسل بيانات الموقع فقط؛ هناك أيضا معلومات حول مواقع الأقمار الصناعية، وإصلاح الجودة، والحامل، وهلم جرا. ثم مرة أخرى، لم يصدر أحد أي قواعد قائلا لك يملك لجعل كل تلك البيانات المتاحة. ربما يكون هناك المزيد مع هذا، لكنني سأعترف بأنني بحاجة إلى القيام بمزيد من البحث في هذا المجال بنفسي.
  • لست متأكدا مدى سرعة استلام البيانات عند التعامل مع Google Latitude، وما إلى ذلك، ولكن أي تأخير في تلقي ستؤدي بالتأكيد إلى توقف مرئي في مجرى بيانات "المنفذ التسلسلي". مرة أخرى، قد لا يكون هذا كبيرا مضاعفا كما يبدو، لأن أجهزة GPS معروفة ببيانات "انفجار" عبر الحافلة على أي حال، لكنني بالتأكيد مراقبة ذلك. تريد التأكد من وجود فائض دائما من البيانات، وليس النقص.

على طول الطريقة التي سيتعين عليها أيضا تحويل الإحداثيات التي تتلقاها في جمل GPS صالحة، كذلك. يمكنك العثور على مواصفات لأولئك، لكنني بالتأكيد أود أن تكسب أصدقاء مع معيار NMEA - على الرغم من أنها معيار معيب، فهذا هو الشخص الذي يبدو أن الجميع يوافقون على أي حال.

آمل أن يكون هذا ساعدك، على الأقل قليلا. هل هناك تفاصيل خاصة بمشكلتك التي تعتقد أنها قد تكون مفيدة في الإجابة على هذا السؤال؟

إلقاء نظرة بوابة فرانسون GPS. والتي تتيح لك الاتصال بجوجل الأرض بين أشياء أخرى (مثل محاكاة GPS وهلم جرا). هل ويندوز فقط على الرغم من ذلك ولكن أعتقد أنك يمكن أن تحصل على بعض الأفكار المفيدة منه.

أنا لم تنظر إلى ذلك كثيرا، لكن هل فكرت في استخدام Skyhook's SDK.ب قد يوفر لك بعض ما تبحث عنه. إنه متاح لكل سطح مكتب رئيسي ونظام التشغيل المحمول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top