'\" t .\" Title: gpspipe .\" Author: Gary E. Miller .\" Generator: Asciidoctor 2.0.26 .\" Date: 2025-11-04 .\" Manual: GPSD Documentation .\" Source: GPSD, Version 3.27.5 .\" Language: English .\" .TH "GPSPIPE" "1" "2025-11-04" "GPSD, Version 3.27.5" "GPSD Documentation" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" gpspipe \- ابزاری برای اتصال به gpsd و دریافت جملات .SH "خلاصه دستور (SYNOPSIS)" .sp \fBgpspipe\fP [OPTIONS] [server[:port[:device]]] .sp \fBgpspipe\fP \-h .sp \fBgpspipe\fP \-V .SH "توضیحات (DESCRIPTION)" .sp دستور \fBgpspipe\fP ابزاری برای اتصال به \fBgpsd\fP و ارسال جملات دریافت‌شده به خروجی استاندارد (stdout) است. این قابلیت برنامه را به عنوان یک پایپ (pipe) از \fBgpsd\fP به برنامه‌ای دیگر یا یک فایل بسیار کاربردی می‌سازد. .sp دستور \fBgpspipe\fP نیازی به مجوزهای ریشه (root) ندارد و می‌تواند به طور هم‌روند با ابزارهای دیگری که به \fBgpsd\fP محلی متصل هستند بدون ایجاد هیچ مشکلی اجرا شود. .sp خروجی شامل جملات خام NMEA یا جملات بومی \fBgpsd\fP، یا ترکیبی از هر دو خواهد بود. هر خط می‌تواند به صورت اختیاری دارای برچسب زمانی باشد. همچنین گزینه‌ای برای خروج تمیز پس از تعداد مشخصی بسته داده وجود دارد. .sp برنامه \fBgpspipe\fP می‌تواند به صورت یک دیمن (daemon) نیز اجرا شود، اما برای نوشتن خروجی در یک فایل، استفاده از پرچم \fB\-o, \-\-output\fP الزامی است. .SH "گزینه‌ها (OPTIONS)" .sp \fB\-?\fP, \fB\-h\fP, \fB\-\-help\fP .RS 4 چاپ پیام راهنمای استفاده و خروج. .RE .sp \fB\-2\fP, \fB\-\-split24\fP .RS 4 گزینه \fB\-2\fP پرچم split24 را روی گزارش‌های AIS تنظیم می‌کند. .RE .sp \fB\-B\fP, \fB\-\-nobuffer\fP .RS 4 عدم بافر کردن خروجی. .RE .sp \fB\-d\fP, \fB\-\-daemonize\fP .RS 4 اجرا به صورت یک دیمن. .RE .sp \fB\-D LVL\fP, \fB\-\-debug LVL\fP .RS 4 تنظیم سطح اشکال‌زدایی روی LVL. .RE .sp \fB\-l\fP, \fB\-\-sleep\fP .RS 4 پیش از تلاش برای اتصال به \fBgpsd\fP به مدت ده ثانیه مکث (sleep) می‌کند. این گزینه هنگام اجرا به صورت دیمن بسیار کاربردی است، زیرا پیش از اقدام برای برقراری اتصال، به \fBgpsd\fP زمان کافی جهت راه‌اندازی را می‌دهد. .RE .sp \fB\-n COUNT\fP, \fB\-\-count COUNT\fP .RS 4 خروج پس از ارسال COUNT پیام به خروجی. .RE .sp \fB\-o FILE\fP, \fB\-\-output FILE\fP .RS 4 باعث می‌شود داده‌های جمع‌آوری‌شده در فایل مشخص‌شده نوشته شوند. در صورتی که \fBgpspipe\fP به صورت دیمن اجرا شود، استفاده از این گزینه الزامی است. .RE .sp \fB\-p\fP, \fB\-\-profile\fP .RS 4 تخلیه اطلاعات پروفایل‌سازی در قالب JSON. .RE .sp \fB\-P\fP, \fB\-\-pps\fP .RS 4 تخلیه رانش PPS به صورت JSON را در حالت‌های NMEA و خام (raw) فعال می‌کند. .RE .sp \fB\-r\fP, \fB\-\-nmea\fP .RS 4 باعث ارسال جملات NMEA به خروجی می‌شود. این داده‌ها می‌توانند NMEA، شبه‌NMEA ساخته‌شده از داده‌های باینری، یا ترکیبی از هر دو باشند. .RE .sp \fB\-R\fP, \fB\-\-raw\fP .RS 4 باعث ارسال داده‌های فوق‌خام (داده‌های باینری gps) به خروجی می‌شود. این گزینه دقیقاً آنچه را که دستگاه فرستاده است به جلو هدایت می‌کند. .RE .sp \fB\-s DEV\fP, \fB\-\-serial DEV\fP .RS 4 باعث می‌شود داده‌های جمع‌آوری‌شده با تنظیمات 4800 8N1 در دستگاه سریال مشخص‌شده (DEV) نوشته شوند. بدین ترتیب \fBgpspipe\fP می‌تواند همراه با گزینه‌های \fB\-s, \-\-serial\fP و \fB\-r, \-\-nmea\fP برای شبیه‌سازی درگاه سریالی که مستقیماً به یک GPS متصل است و توسط \fBgpsd\fP مدیریت می‌شود به کار رود. .RE .sp \fB\-S\fP, \fB\-\-scaled\fP .RS 4 تنظیم پرچم مقیاس‌بندی‌شده (scaled). این تنها برای داده‌های AIS و SUBFRAME است. داده‌های مقیاس‌بندی‌شده به جای داده‌های خام در خروجی JSON قرار خواهند گرفت. .RE .sp \fB\-t\fP, \fB\-\-timestamp\fP .RS 4 افزودن برچسب زمانی UTC به هر جمله خروجی. .RE .sp \fB\-T FMT\fP, \fB\-\-timefmt FMT\fP .RS 4 تنظیم قالب برچسب زمانی. برای نگه‌دارنده‌های مکان در دسترس به \fBstrftime\fP(3) مراجعه کنید. تعیین این گزینه مستلزم فعال بودن \fB\-t\fP (\fB\-\-timestamp\fP) است. مقدار پیش‌فرض "%F %T" می‌باشد. .RE .sp \fB\-u\fP, \fB\-\-usec\fP .RS 4 استفاده از برچسب زمانی با دقت میکروثانیه، که مستلزم \fB\-t\fP (\fB\-\-timestamp\fP) است. استفاده دو بار (\fB\-uu\fP) خروجی را به صورت sec.usec نمایش می‌دهد. .RE .sp \fB\-v\fP, \fB\-\-spinner\fP .RS 4 نمایش یک نشانگر فعالیت چرخان در خروجی خطا (stderr). این قابلیت هنگامی که خروجی استاندارد به یک فایل یا لوله (pipe) هدایت شده باشد بسیار مفید است. به طور پیش‌فرض نشانگر با هر پیام نوشته‌شده یک گام به جلو می‌رود؛ تعیین بیش از یک‌بار \fB\-v\fP یا \fB\-\-spinner\fP، تعداد پیام‌های لازم برای چرخاندن نشانگر را دو برابر می‌کند. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 چاپ نسخه برنامه و خروج. .RE .sp \fB\-w\fP, \fB\-\-json\fP .RS 4 باعث ارسال جملات بومی JSON مربوط به \fBgpsd\fP به خروجی می‌شود. .RE .sp \fB\-x SEC\fP, \fB\-\-seconds SEC\fP .RS 4 خروج پس از تأخیر SEC ثانیه‌ای. .RE .sp \fB\-Z\fP, \fB\-\-zulu\fP .RS 4 تنظیم قالب برچسب زمانی به iso8601: مستلزم \fB\-t\fP است. .RE .sp حداقل یکی از گزینه‌های \fB\-R\fP، \fB\-r\fP یا \fB\-w\fP باید مشخص شود. .sp در صورت استفاده از گزینه \fB\-d\fP، استفاده از \fB\-o\fP الزامی است. .SH "آرگومان‌ها (ARGUMENTS)" .sp به طور پیش‌فرض، کلاینت‌ها داده‌ها را از دیمن محلی \fBgpsd\fP که روی localhost و درگاه پیش‌فرض 2947 اجرا می‌شود جمع‌آوری می‌کنند. با مشخص کردن آرگومان اختیاری برای هر کلاینت می‌توان این رفتار را بازتعریف کرد: \fB[server[:port[:device]]]\fP .sp برای توضیحات تکمیلی و مثال‌ها، بخش \fBARGUMENTS\fP را در صفحه راهنمای \fBgps\fP(1) مشاهده کنید. .SH "مثال‌ها (EXAMPLES)" .sp هنگامی که \fBgpsd\fP در حال اجرا است، این مثال صد جمله خام NMEA را به خروجی استاندارد ارسال کرده و سپس خارج می‌شود: .sp .if n .RS 4 .nf .fam C $ gpspipe \-r \-n 100 .fam .fi .if n .RE .sp هنگامی که \fBgpsd\fP در حال اجرا است، این مثال حداکثر ۵ ثانیه برای دریافت یک پیام TPV منتظر می‌ماند، آن را در stdout چاپ کرده و سپس خارج می‌شود: .sp .if n .RS 4 .nf .fam C $ gpspipe \-x 5 \-w|sed \-n \*(Aq/TPV/{p;q}\*(Aq .fam .fi .if n .RE .sp استفاده از \fBgpspipe\fP و \fBsocat\fP جهت ارائه NMEA از \fBgpsd\fP محلی روی درگاه tcp با شماره 2948: .sp .if n .RS 4 .nf .fam C $ socat EXEC:\*(Aqgpspipe \-r\*(Aq TCP\-LISTEN:2948,reuseaddr,fork .fam .fi .if n .RE .sp افراد محتاط ممکن است ترجیح دهند \fBsocat\fP با هویت کاربر \*(Aqnobody\*(Aq اجرا شده و فقط اتصالات شبکه محلی را بپذیرد. استفاده از گزینه \fB\-B\fP در \fBgpspipe\fP باعث کاهش تأخیر و لرزش (jitter) می‌شود. عبارت "su=nobody" به این معناست که این دستور باید با دسترسی ریشه (root) اجرا شود: .sp .if n .RS 4 .nf .fam C # socat EXEC:\*(Aqgpspipe \-rB\*(Aq \(rs TCP\-LISTEN:2948,reuseaddr,fork,su=nobody,range=192.168.0.0/24 .fam .fi .if n .RE .SH "وضعیت خروج (EXIT STATUS)" .sp \fB0\fP .RS 4 در صورت موفقیت. .RE .sp \fB1\fP .RS 4 در صورت شکست. .RE .SH "همچنین ببینید (SEE ALSO)" .sp \fBgpsd\fP(8), \fBgps\fP(1), \fBgpsfake\fP(1), \fBsocat\fP(1). .SH "منابع (RESOURCES)" .sp \fBتارنمای پروژه:\fP \c .URL "https://gpsd.io" "" "" .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .sp This file is Copyright 2013 by the GPSD project .br SPDX\-License\-Identifier: BSD\-2\-clause .SH "نویسندگان (AUTHORS)" .sp Gary E. Miller