| GPSCTL(1) | GPSD Documentation | GPSCTL(1) |
نام (NAME)
gpsctl - کنترل حالتهای یک گیرنده GNSS
خلاصه دستور (SYNOPSIS)
gpsctl [OPTIONS] [serial-port]
gpsctl -h
gpsctl -V
توضیحات (DESCRIPTION)
دستور gpsctl میتواند یک گیرنده GNSS دوحالته را بین حالتهای NMEA و دودوییِ سازنده (vendor-binary) تغییر دهد. همچنین میتواند برای تنظیم نرخ باود (baud rate) دستگاه استفاده شود. نکته: همه دستگاهها این قابلیتها را ندارند.
اگر تنها یک گیرنده GNSS به رایانه شما متصل باشد و gpsd در حال اجرا باشد، نیازی به مشخص کردن دستگاه نیست؛ gpsctl کار خود را از طریق gpsd انجام میدهد و آن سرویس دستگاه را برای شما پیدا خواهد کرد.
هنگامی که gpsd در حال اجرا است، gpsctl میتواند توسط هر کاربری یا به عنوان ریشه (root) اجرا شود.
هنگامی که gpsd در حال اجرا نیست، مشخص کردن دستگاه الزامی است و برای داشتن دسترسی نوشتن به دستگاه، باید با دسترسی ریشه (root) اجرا شوید یا عضوی از گروه مالک دستگاه باشید. در بسیاری از مشتقات یونیکس، گروه مالک با نام 'dialout' شناخته میشود.
اجرا تحت sudo باعث از دست رفتن برخی از قابلیتها خواهد شد.
گزینهها (OPTIONS)
این برنامه گزینههای زیر را میپذیرد:
-?, -h, --help
-b, --binary
-c RATE, --rate RATE
-D LVL, --debug LVL
-e, --echo
-f, --force
-l, --list
-n, --nmea
-r, --reset
-R, --rmshm
-s SPEED, --speed SPEED
از گزینه -s با احتیاط استفاده کنید. در GPSهای USB و Bluetooth نیز ممکن است تنظیم حالت سریال با شکست مواجه شود؛ چه به این دلیل که تراشه مبدل سریال از حالتهای غیر 8N1 پشتیبانی نمیکند، یا به این دلیل که سفتافزار دستگاه هنگام تغییر سرعت، تراشه مبدل سریال را به درستی با UART روی چیپست GPS همگام نمیسازد. این خرابیها میتوانند باعث هنگ کردن دستگاه شما شوند و احتمالاً نیاز به قطع و وصل تغذیه GPS یا (در موارد حاد) جدا کردن فیزیکی باتری پشتیبان NVRAM داشته باشند.
-t TYPE, --type TYPE
-T TIMEOUT, --timeout TIMEOUT
-V, --version
-x STR, --ship STR
In normal mode, through _gpsd_, the decoded string is passed through, unchanged top _gpsd_ which in turns sends it to the receiver. Headers, checksums, and suffffices must be provided.
In low-level, (direct) mode *gpsctl* will provide packet headers and trailers and checksum as appropriate for binary packet types, and whatever checksum and trailer is required for text packet types.
You must include the leading $ for NMEA packets.
When sending to a UBX, Allystar or CASIC device, the first two bytes of the string supplied will become the message class and type, and the remainder the payload.
When sending to a Navcom NCT or Trimble TSIP device, the first byte is interpreted as the command ID and the rest as payload.
When sending to a Zodiac device, the first two bytes are used as a message ID of type little-endian short, and the remainder as payload in byte pairs interpreted as little-endian short.
For all other supported binary GPSes (notably including SiRF) the string is taken as the entire message payload and wrapped with appropriate header, trailer and checksum bytes.
آرگومان گزینه تحمیل، -t، باید رشتهای باشد که دقیقاً در یکی از نامهای درایورهای شناختهشده موجود باشد؛ برای دیدن فهرست، دستور gpsctl -l را اجرا کنید.
تحمیل نوع دستگاه بسته به اینکه این ابزار از طریق دیمن عمل میکند یا خیر، رفتاری تا حدی متفاوت دارد. در حالت سطح بالا، اگر دستگاهی که دیمن برای شما انتخاب میکند با درایوری که مشخص کردهاید مطابقت نداشته باشد، gpsctl با یک هشدار خارج میشود. (این امر ممکن است در اسکریپتها مفید باشد.)
در حالت سطح پایین، اگر دستگاه به عنوان Generic NMEA شناسایی شود، درایور انتخابشده به جای آن استفاده میشود. این قابلیت زمانی مفید خواهد بود که یک دستگاه GPS با نوع مشخص دارید که در حالت NMEA قرار دارد و به کاوشها (probes) پاسخ نمیدهد. (این گزینه در ابتدا برای ارتباط با تراشههای SiRFStar I پیادهسازی شده بود که به کاوش شناسه معمول SiRF پاسخ نمیدهند.)
اگر هیچ گزینهای داده نشود، برنامه پیامی مبنی بر شناسایی نوع GPS دستگاه انتخابشده را نمایش داده و خارج میشود.
عملیات راهاندازی مجدد (-r) باید به صورت مستقل اجرا شود؛ سایر گزینهها میتوانند با یکدیگر ترکیب شوند. دستور gpsctl چندین گزینه را به این ترتیب اجرا خواهد کرد: ابتدا تغییر حالت (-b یا -n)، سپس تغییر سرعت (-s)، سوم نرخ چرخه (-c) و در آخر رشتههای کنترلی (-x).
محیط (ENVIRONMENT)
با تنظیم متغیر محیطی GPSD_SHM_KEY، میتوانید مقدار کلیدی را که برای تعیین بخش حافظه اشتراکیِ حذفشده با گزینه -R استفاده میشود، کنترل کنید. این ویژگی عمدتاً هنگام جداسازی نمونههای آزمایشی gpsd از نمونههای عملیاتی کاربرد خواهد داشت.
مثالها (EXAMPLES)
gpsctl /dev/ttyUSB0
gpsctl -f -n -s 9600 /dev/ttyUSB0
gpsctl -x '\xb5\x62\x0a\x04\x00\x00\x0e\x34'
گزارش باگها (BUGS)
دستگاههای SiRF GPS تنها از طریق موفقیتآمیز بودن تلاش برای تغییر حالت آنها به حالت دودویی SiRF قابل شناسایی هستند. بنابراین، فرآیند کاوش یکی از این دستگاهها که در حالت NMEA کار میکند، رفتار آن را تغییر خواهد داد.
تغییر نرخ باود و حالت کاری در حالت مستقیم عمل میکند، اما در حالت کلاینت قابل اطمینان نیست. این مورد در نگارشهای آینده اصلاح خواهد شد.
وضعیت خروج (EXIT STATUS)
0
1
همچنین ببینید (SEE ALSO)
منابع (RESOURCES)
تارنمای پروژه: https://gpsd.io
کپیرایت و تکثیر (COPYRIGHT)
This file is Copyright by the GPSD project
SPDX-License-Identifier: BSD-2-clause
نویسندگان (AUTHORS)
Eric S. Raymond
| 2025-11-04 | GPSD, Version 3.27.5 |