| GPSMON(1) | GPSD Documentation | GPSMON(1) |
نام (NAME)
gpsmon - پایشگر بیدرنگ بستههای GPS و ابزار کنترل
خلاصه دستور (SYNOPSIS)
gpsmon [OPTIONS} [server[:port[:device]]]
gpsmon -h
gpsmon -V
توضیحات (DESCRIPTION)
gpsmon پایشگری است که بستههای دریافتی از یک GPS را بررسی میکند و آنها را همراه با اطلاعات عیبیابی نمایش میدهد. این برنامه از دستورهایی برای تنظیم پارامترهای مختلف GPS پشتیبانی میکند؛ برخی از این دستورها مستقل از نوع دستگاه هستند و برخی دیگر بسته به نوع چیپست GPS تفاوت دارند. هنگامی که به یک دستگاه ناشناخته متصل شود، بدون بروز خطا تنها به تخلیهٔ (dump) خام بستهها میپردازد.
gpsmon با یک کلاینت ناوبری تفاوت دارد، زیرا دادهها را بیشتر بهصورت خام از GPS استخراج کرده و تنها در حدی که برای تطبیق با خروجی مورد انتظار نیاز است پردازش میکند. این ابزار برای رمزگشایی بستهها از gpsd استفاده نمیکند. انواع دادههای خام بسیاری وجود دارند که برای gpsd شناختهشدهاند اما gpsmon آنها را نمیشناسد. بهویژه، این ابزار هیچ درونیابی یا مدلسازیای برای تخمین نرخ صعود/فرود (climb/sink) یا برآورد خطا انجام نمیدهد؛ همچنین دادههای ارتفاع را در صورت پایین بودن کیفیت موقعیتیابی (fix) دور نمیاندازد.
برای کاربران عادیِ gpsd، کلاینتهای سادهتری مانند cgps و xgps که دادههای ناوبری را به شکلی یکسان برای تمام گیرندههای GNSS پشتیبانیشده توسط gpsd نمایش میدهند، انتخاب مناسبتری خواهند بود.
برخلاف gpsd، ابزار gpsmon هیچگاه رشتههای کنترلی یا کاوشگر به دستگاه ارسال نمیکند، مگر اینکه شما صریحاً به آن دستور دهید. بنابراین، با اینکه بهطور خودکار با بستههای باینری همگام میشود، دستگاهی را که از پروتکل توسعهیافتهٔ NMEA استفاده میکند، بهجز یک دستگاه NMEA استاندارد و ساده تشخیص نخواهد داد. برای حل این مشکل از گزینهٔ -t یا کلید t استفاده کنید.
ابزار gpsmon برای اجرا در شبیهساز پایانه با حداقل اندازهٔ ۲۵×۸۰ طراحی شده است؛ استفاده از رابط متنیِ غیرگرافیکی برای سازگاری با محیطهای محدود و اتصالات مبتنی بر telnet یا ssh انتخاب شده است. اگر برنامه در پنجرهای بزرگتر اجرا شود، اندازهٔ پنجرهٔ ثبت وقایع بسته (packet-log) برای پوشش فضای موجود افزایش مییابد.
پس از راهاندازی (بدون گزینهٔ -a یا --nocurses)، بخش بالایی صفحه محتوای بستههای کاربردی و مهم را نمایش میدهد. مقدار فیلد «PPS»، در صورت خالی نبودن، اختلاف زمانی (دلتا) میان آخرین لبهٔ ثانیهٔ 1PPS و ساعت سیستم در همان لحظه است.
نیمهٔ پایینی صفحه یک خروجی هگزادسیمال متحرک (scrolling hex dump) از تمام بستههای ارسالی GPS است. اگر نوع بسته متنی باشد، نویسههای خط پایانی CR/LF حذف میشوند. خطوطی که با «>>>» آغاز میشوند، نشاندهندهٔ بستههای کنترلی ارسالشده به GPS هستند. خطوطی که عبارت «PPS» میان خطتیرهها را نشان میدهند، نشانگر رویداد 1PPS و آغاز یک چرخهٔ گزارشدهی جدید هستند.
برخلاف gpsd، برنامهٔ gpsmon هنگام اجرا در حالت مستقیم (direct mode) کاوش خودکارِ نوع دستگاه را انجام نمیدهد. بنابراین، اگر آن را به یک GPS با حالت باینری ذاتی که در حال حاضر NMEA ارسال میکند متصل کنید، نوع واقعی دستگاه شناسایی نخواهد شد مگر اینکه دستگاه یک جملهٔ راهانداز (trigger sentence) معتبرِ NMEA ارسال کند. در این شرایط، گزینهٔ -t یا --type میتواند به شما کمک کند.
اجرای gpsmon نیازی به مجوزهای ریشه (root) ندارد، مگر احتمالاً برای دسترسی مستقیم به درگاه سریال. اجرای آن با دسترسی root نیز مشکلی ایجاد نخواهد کرد.
گزینهها (OPTIONS)
-?، -h، --help
-a، --nocurses
-d LVL، --debug LVL
-l FILE، --logfile FILE
-L، --list
-n، --nmea
-t TYPE، --type TYPE
این برنامه میتواند در یکی از دو حالت اجرا شود: به عنوان یک کلاینت برای دیمن gpsd (و سوکت کنترلی مرتبط با آن)، یا با اتصال مستقیم به یک دستگاه سریال مشخصشده.
به طور پیشفرض، کلاینتها دادهها را از دیمن محلی gpsd که روی localhost و با پورت پیشفرض ۲۹۴۷ GPSD اجرا میشود جمعآوری میکنند. آرگومان اختیاری برای هر کلاینت میتواند این رفتار را لغو کند: [server[:port[:device]]]
برای توضیحات بیشتر و مثالها، بخش ARGUMENTS را در صفحه راهنمای gps(1) ببینید.
اگر در عوض، آرگومان شامل اسلش باشد اما دونقطه نداشته باشد، به عنوان یک دستگاه سریال برای اتصال مستقیم در نظر گرفته میشود. در حالت اتصال مستقیم (direct-connect)، gpsmon به دنبال یک نرخ باود (baud rate) صحیح گشته و به صورت خودکار روی آن قفل میشود.
دستورات (COMMANDS)
دستورات مستقل از دستگاه زیر در حین اجرای gpsmon در دسترس هستند:
i
توجه داشته باشید که فعال کردن کاوش ممکن است دستگاه را به حالت دیگری تغییر دهد؛ به ویژه، یک تراشه SiRF را به حالت باینری میبرد، درست مانند زمانی که از دستور "n" استفاده کرده باشید. این امر ناشی از محدودیتی در سفتافزار SiRF است که نمیتوانیم آن را برطرف کنیم.
این دستور پس از اولین بار استفاده، معمولاً کار خاصی انجام نخواهد داد، چرا که نوع دستگاه از قبل شناسایی شده است.
c
l
n
پس از آنکه با این دستور یک GPS دارای دو پروتکل را به حالت NMEA تغییر دادید، اطلاعات مربوط به نوع اصلی و قابلیتهای کنترلی آن حفظ میشود. به همین دلیل است که نوع دستگاه فهرستشده قبل از اعلان (prompt) تغییر نمیکند.
q
s
نکته
از این
دستور با
احتیاط
استفاده
کنید. در
GPSهای USB و Bluetooth نیز
ممکن
است تنظیم
حالت سریال
با شکست
مواجه شود؛
یا به این
دلیل که
تراشه مبدل
سریال از
حالتهای
غیر از 8N1
پشتیبانی
نمیکند،
یا به این
دلیل که
سفتافزار
دستگاه
هنگام
تغییر
سرعت،
تراشه مبدل
سریال را به
درستی با UART
روی چیپست
GPS همگام
نمیکند.
این
خرابیها
میتواند
باعث قفل
شدن (hang)
دستگاه شما
شود و
احتمالاً
به قطع و وصل
جریان برق GPS
یا (در موارد
حاد) قطع
فیزیکی
باتری
پشتیبان NVRAM
نیاز داشته
باشد.
t
x
X
Ctrl-S
Ctrl-Q
(این نکات نه تنها برای دستگاههای عمومی NMEA، بلکه برای تمام دستگاههای توسعهیافته NMEA که gpsmon در حال حاضر از آنها پشتیبانی میکند، صدق میکند.)
همه فیلدها دادههای خام GPS هستند به جز (الف) پنجره «Cooked PVT» در نزدیکی بالای صفحه که برای بازبینی ارائه شده است و (ب) فیلد «PPS offset».
هیچ دستور مختص دستگاهی وجود ندارد. این که کدام دستورات عمومی در دسترس هستند ممکن است بسته به نوع دستگاه متفاوت باشد: برای اطلاعات بیشتر خروجی gpsmon -l را بررسی کنید.
پشتیبانی از SiRF (SiRF support)
بیشتر اطلاعات بهصورت خام از GPS دریافت میشوند. فیلدهای زیرخطدار با تبدیل از مختصات ECEF یا اعمال جهش ثانیه (leap-second) و اختلاف منطقه زمانی محلی بهدست میآیند. 1PPS طبق معمول میزان تاخیر ساعت است.
دستورات زیر تنها برای GPSهای SiRF پشتیبانی میشوند:
A
M
حالت ناوبری غیراستا (Non-static) برای استفاده با نرمافزارهای ناوبری جادهای طراحی شده است که معمولاً موقعیت گزارششده را به نزدیکترین جاده درون شعاع عدم قطعیت متصل (snap) میکنند. احتمالاً مایل خواهید بود ناوبری ایستا را برای استفاده عابران پیاده خاموش کنید، چرا که به احتمال زیاد سرعت را صفر گزارش کرده و موقعیت را با پرشهای بزرگ تغییر میدهد.
P
برای تفسیر آنچه میبینید، به نسخهای از راهنمای مرجع پروتکل دودویی SiRF (SiRF Binary Protocol Reference Manual) نیاز خواهید داشت.
پشتیبانی از u-blox (u-blox support)
بیشتر اطلاعات بهصورت خام از GPS دریافت میشوند. فیلدهای زیرخطدار با تبدیل از مختصات ECEF بهدست میآیند. 1PPS طبق معمول میزان تاخیر ساعت است. هیچ دستور ویژهای مختص این نوع وجود ندارد.
اشکالات و محدودیتها (BUGS AND LIMITATIONS)
فیلد PPS Offset هنگام اجرا در حالت کلاینت هرگز بهروزرسانی نخواهد شد، حتی اگر بتوانید رویدادهای PPS را در پنجره بستهها مشاهده کنید. این محدودیت ممکن است در نسخههای بعدی برطرف شود.
مقادیر بازگشتی (RETURN VALUES)
0
1
همچنین ببینید (SEE ALSO)
منابع (RESOURCES)
وبگاه پروژه: https://gpsd.io
کپیرایت و تکثیر (COPYING)
حق نشر این
فایل در سال
۲۰۱۳ متعلق
به پروژه GPSD
است
SPDX-License-Identifier: BSD-2-clause
نویسنده (AUTHOR)
Eric S. Raymond
| 2025-11-04 | GPSD, Version 3.27.5 |