| UBXTOOL(1) | GPSD Documentation | UBXTOOL(1) |
نام (NAME)
ubxtool - ابزار ارتباط و پیکربندی ماژولهای u-blox GPS/GNSS
خلاصه دستور (SYNOPSIS)
ubxtool [OPTIONS] [server[:port[:device]]]
ubxtool -h
ubxtool -V
توضیحات (DESCRIPTION)
دستور ubxtool ابزاری برای گیرندههای GPS شرکت u-blox است. اگر گیرنده GPS از نوع u-blox ندارید، نیازی به خواندن ادامه این راهنما نیست.
این ابزار در سطحی بسیار پایین با گیرنده u-blox GPS شما کار میکند. برای درک و استفاده از ubxtool ابتدا باید با سختافزار GPS خود و مستندات پروتکل باینری u-blox آشنایی داشته باشید. پروتکل u-blox بسته به مدل GPS و نسخه میانافزار (firmware) تفاوتهای چشمگیری دارد. همیشه از مستندات متناسب با مدل و نگارش میانافزار دستگاه خود استفاده کنید.
برنامه ubxtool میتواند پیامهای باینری رایج u-blox را رمزگشایی کند، وضعیت GPS را استعلام نماید، ویژگیهای مختلف گیرنده را فعال یا غیرفعال سازد، و دستورات دلخواه کاربر را به GPS ارسال کند. همچنین قادر است پیامهای باینری را از یک فایل بخواند، و مستقیماً از طریق درگاه سریال یا از طریق سرویس در حال اجرای gpsd بخواند و بنویسد.
دستور ubxtool نیازی به دسترسیهای ریشه (root) ندارد، مگر احتمالاً برای دسترسی مستقیم به درگاه سریال در حالت دسترسی مستقیم (-f FILE). اجرای آن با کاربر root بدون مشکل است، اما اجرا با دستور sudo ممکن است باعث از دست رفتن برخی قابلیتها شود.
گزینهها (OPTIONS)
این برنامه گزینههای زیر را میپذیرد:
-?, -h, --help
-c COMMAND, --command COMMAND
--device DEVICE
-d OPTION, --disable OPTION
BEIDOU
BINARY
ECEF
GALILEO
GLONASS
GPS
NED
NMEA
PPS
RAWX
SBAS
SFRBX
SURVEYIN
TP
-e OPTION, --enable OPTION
-f FILE, --file FILE
-g ITEM,LAYER,POSITION,END, --getitem ITEM,LAYER,POSITION,END
--host HOST
-i port, --portid port
-p PRESET, --preset PRESET
در اینجا فقط پیشتنظیمهای متداول آورده شدهاند. برای مشاهده فهرست کامل به همراه پارامترهای اختیاری، دستور "ubxtool -h -v 2" را اجرا کنید.
COLDBOOT
HOTBOOT
MODEL,model
PMS
RATE
RESET
SAVE
MON-RESETODO
MON-VER
WARMBOOT
بیشتر پارامترهای PRESET دستورات ساده استعلام هستند. این دستورات صرفاً از GPS میخواهند که با پیام مربوطه پاسخ دهد. به عنوان مثال دستور "ubxtool -p CFG-GNSS" از GPS میخواهد با پیام UBX-CFG-GNSS که پیکربندی فعلی GNSS را شرح میدهد پاسخ دهد. برای افزایش جزئیات خروجی از گزینههای "-v 2" یا "-v 3" استفاده کنید.
--port PORT
-P protver, --protver protver
-r, -readonly
-R RAW, --rawfile RAW
-s SPEED, --inspeed SPEED
-S SPEED, --setspeed SPEED
-t, --timestamp
-v VERBOSITY, --verbosity VERBOSITY
-V, --version
-w WAIT, --wait WAIT
-x ITEM,LAYERS, --delitem ITEM,LAYERS
-z ITEM,VAL,LAYERS, --setitem ITEM,VAL,LAYERS
آرگومانها (ARGUMENTS)
به طور پیشفرض، کلاینتها دادهها را از دیمن محلی gpsd که روی localhost و درگاه پیشفرض ۲۹۴۷ اجرا میشود جمعآوری میکنند. آرگومان اختیاری برای هر کلاینت میتواند این رفتار را تغییر دهد: [server[:port[:device]]]
برای توضیحات و مثالهای بیشتر، بخش ARGUMENTS در صفحه راهنمای gps(1) را ببینید.
آیتمهای پیکربندی (CONFIGURATION ITEMS)
پیکربندی GPSهای u-blox با پیامهای پیکربندی سنتی با مشکلات زیادی همراه است. بسیاری از پیامهای پیکربندی به روشهای عجیبی با یکدیگر تداخل دارند. کاری به سادگی تغییر سرعت درگاه سریال نیازمند این است که پیکربندی فعلی را با استفاده از UBX-CFG-PRT برای درگاه مربوطه بخوانید، تغییر را با آن ادغام کنید، و سپس پیام تغییریافته UBX-CFG-PRT را بازنویسی کنید؛ یا صرفاً پیکربندی فعلی را حدس زده و همه چیز را بازنویسی کنید.
سری u-blox 9 با نسخه پروتکل +27 سعی کرده است (هرچند نه به طور کامل) این مشکل را با «آیتمهای پیکربندی» (Configuration Items) برطرف کند. اگر GPS شما از نسخه پروتکل ۲۷ یا بالاتر پشتیبانی نمیکند، این بخش شامل دستگاه شما نمیشود.
به بیشتر متغیرهای پیکربندی در GPS یک شناسه کلید (Key ID) ۳۲ بیتی اختصاص داده شده است. هر کلید به یک مقدار خاص ارجاع میدهد. یک گیرنده معمولی ممکن است بیش از ۱۱۰۰ شناسه کلید داشته باشد. به هر Key ID یک نام کلید (Key Name) اختصاص یافته است. بیشتر نامهای کلیدها توسط u-blox مستندسازی شده و توسط ubxtool پشتیبانی میشوند. برای مشاهده تمام نامهای کلیدهای شناختهشده توسط ubxtool دستور "ubxtool -h -v 3" را اجرا کنید.
برای دریافت مقدار مرتبط با یک آیتم، از "-g ITEM" استفاده کنید.
برای بازنشانی مقدار یک آیتم به مقدار پیشفرض آن، از "-x ITEM" استفاده کنید.
برای تنظیم مقدار یک ITEM، از "-z ITEM,VAL" استفاده کنید.
اگر میخواهید یک ITEM را فقط در یک لایه تنظیم کنید، از "-z ITEM,VAL,LAYER" استفاده کنید.
برای نمونههای عینی، بخش «مثالها» را ببینید.
مثالها (EXAMPLES)
تمامی مثالها فرض میکنند که متغیر محیطی UBXOPTS با نسخه پروتکل گیرنده شما تنظیم شده است. حتماً مقدار "-P 18" را با نسخه پروتکل صحیح خود جایگزین کنید.
export UBXOPTS="-P 18"
دریافت و ذخیره پیکربندی و وضعیت گیرنده GNSS. گزینه "-w 4" برای فراهم کردن زمان کافی جهت تکمیل عملیات است.
ubxtool -p CONFIG -p STATUS -w 4 -v 2
رمزگشایی فایل لاگ خام:
ubxtool -r -f ublox-neo-m8n.log
تغییر سرعت درگاه GPS دستگاه روی /dev/ttyAMA0 به ۲۳۰۴۰۰ بیت بر ثانیه:
ubxtool -S 230400 -f /dev/ttyAMA0
مشاهده کل چرخه بازنشانی GPS، شامل پیامهای $GPTXT:
ubxtool -p COLDBOOT -w 20 -v 2
استعلام منظومههای فعال:
ubxtool -p CFG-GNSS
دریافت دادههای gpsd از یک سرور دوردست با نام x.example.com:
ubxtool -w 5 x.example.com
CFG-TP5
برخی از دستورات "-p" و "--preset" میتوانند چندین گزینه دریافت کنند. یکی از این موارد "--preset CFG-TP5" است.
خلاصه ساختار:
-p CFG-TP5,[tpIdx = 0],[antCableDelay = 2],[rfGroupDelay = 0],[freqPeriod = 1000000],[freqPeriodLock = 1000000],[pulseLenRatio = 0],[pulseLenRatioLock = 100000],[userConfigDelay = 0],[flags = 0x77]
یک پارامتر مکانی را خالی بگذارید تا مقدار پیشفرض آن اعمال شود.
برای تنظیم دوره پالس روی ۰٫۲۵ ثانیه و طول آن روی ۰٫۱ ثانیه:
$ ubxtool -p CFG-TP5,,,,250000,250000,100000,100000
برای تنظیم دوره پالس روی ۰٫۱ ثانیه و طول آن روی ۰٫۱ ثانیه در صورت قفل بودن:
$ ubxtool -p CFG-TP5,,,,,100000,,50000
مثالهای نسخه ۲۷ به بالا (Version 27+ examples)
مثالهای زیر نیازمند گیرندهای هستند که از پروتکل ۲۷ یا بالاتر پشتیبانی کند. حتماً ابتدا نسخه پروتکل خود را مشخص کنید:
export UBXOPTS="-P 32"
برای بررسی مدل دینامیک فعلی، تغییر آن به ۶ (AIR1، هوابرد با شتاب کمتر از 1g)، بازگشت به تنظیمات پیشفرض و تأیید بازگشت تنظیمات:
$ ubxtool -g CFG-NAVSPG-DYNMODEL
[...]
UBX-CFG-VALGET:
version 1 layer 0 reserved 0,0
layers (ram)
item CFG-NAVSPG-DYNMODEL/0x20110021 val 2
[...]
$ ubxtool -z CFG-NAVSPG-DYNMODEL,6
[...]
UBX-ACK-ACK:
ACK to Class x6 (CFG) ID x8a (VALSET)
[...]
$ ubxtool -g CFG-NAVSPG-DYNMODEL
[...]
UBX-CFG-VALGET:
version 1 layer 0 reserved 0,0
layers (ram)
item CFG-NAVSPG-DYNMODEL/0x20110021 val 6
[...]
$ ubxtool -x CFG-NAVSPG-DYNMODEL
[...]
UBX-ACK-ACK:
ACK to Class x6 (CFG) ID x8c (VALDEL)
[...]
$ ubxtool -g CFG-NAVSPG-DYNMODEL
[...]
UBX-CFG-VALGET:
version 1 layer 0 reserved 0,0
layers (ram)
item CFG-NAVSPG-DYNMODEL/0x20110021 val 6
توجه کنید که DYNMODEL فعلی روی ۶ (AIR1) باقی ماند. گزینه "-x" تنها روی تنظیمات ذخیرهشده تأثیر میگذارد، نه تنظیمات جاری. برای تغییر تنظیم جاری باید آن را با "-z" تعیین کنید.
دریافت تمام آیتمهای پیکربندی یک گروه به صورت تکتک بسیار زمانبر و دشوار است. گزینه VAL-GET به شما امکان میدهد شماره آیتم را با نویسه عام (wildcard) تعیین کرده و تمام آیتمهای یک گروه را استخراج کنید. برای دریافت تمام آیتمهای CFG-TP در حافظه ram (آیتمهای فعال فعلی)، میتوانید چنین عمل کنید:
$ ubxtool -g CFG-TP,0
[...]
UBX-CFG-VALGET:
version 1 layer 0 position 0
layers (ram)
item CFG-TP-TP1_ENA/0x10050007 val 1
item CFG-TP-SYNC_GNSS_TP1/0x10050008 val 1
item CFG-TP-USE_LOCKED_TP1/0x10050009 val 1
[...]
افرادی که میخواهند تمام آیتمهای پیکربندی را استخراج کنند میتوانند گروه را به صورت عام مشخص کنند. استخراج بیش از ۱۰۰۰ آیتم به صورت بستههای ۶۴تایی همچنان ممکن است زمانبر باشد. پارامتر -g اختیاری به شما اجازه میدهد موقعیت شروع و پایان را مشخص کنید. برای دریافت تمام آیتمهای شناختهشده و ناشناخته پشتیبانیشده توسط گیرنده که در حال حاضر در ram هستند:
$ ubxtool -g CFG,0,0,1200 | fgrep "item CFG-"
item CFG-1-1/0x10010001 val 0
item CFG-1-1/0x10010101 val 0
item CFG-4-1/0x10040001 val 1
item CFG-4-2/0x10040002 val 0
item CFG-4-3/0x10040003 val 0
item CFG-4-4/0x10040004 val 0
item CFG-4-9/0x10040009 val 0
item CFG-TP-TP1_ENA/0x10050007 val 1
item CFG-TP-SYNC_GNSS_TP1/0x10050008 val 1
[...]
تغییر CFG,0,0,1200 به CFG,7,0,1200 در عوض مقادیر پیشفرض پیکربندی را از لایه پیشفرض (۷) استخراج میکند.
محیط (ENVIRONMENT)
گزینهها میتوانند در متغیر محیطی UBXOPTS قرار گیرند. متغیر UBXOPTS پیش از گزینههای خط فرمان پردازش میشود.
مقادیر بازگشتی (RETURN VALUES)
0
1
همچنین ببینید (SEE ALSO)
ابزار ubxtool مطابق با مستندات رسمی u-blox برای پروتکل باینری u-blox نوشته شده است. https://www.u-blox.com/en/product-resources
منابع (RESOURCES)
تارنمای پروژه: https://gpsd.io
کپیرایت و تکثیر (COPYING)
حق
کپیرایت
این سند
متعلق به
پروژه GPSD سال 2013
است.
شناسه
پروانه: SPDX-License-Identifier:
BSD-2-clause
نویسنده (AUTHOR)
Gary E. Miller
| 2025-11-04 | GPSD, Version 3.27.5 |