ROTCTL(1) ابزارهای Hamlib ROTCTL(1) نام (NAME) rotctl - کنترل و مدیریت روتاتور آنتن رادیویی خلاصه دستور (SYNOPSIS) rotctl [-hiIlLuV] [-m id] [-r device] [-R device2] [-s baud] [-t char] [-C parm=val] [-o azoffset] [-O eloffset] [-v[-Z]] [command|-] توضیحات (DESCRIPTION) کنترل روتاتورهای آنتن رادیویی. برنامه rotctl می‌تواند دستورها را از خط فرمان یا در حالت تعاملی (در صورتی که دستوری در خط فرمان داده نشود) دریافت و اجرا کند. به یاد داشته باشید که Hamlib نرم‌افزاری در سطح بتا (BETA) است. اگرچه برخی از کتابخانه‌های بک‌اند فاقد پشتیبانی کامل از همه روتاتورها هستند، اما عملکردهای اساسی معمولاً به خوبی پشتیبانی می‌شوند. لطفاً اشکالات و بازخوردهای خود را به نشانی ایمیل ذکر شده در بخش اشکالات در ادامه ارسال فرمایید. وصله‌ها و بهبودهای کدی که به همین نشانی ارسال شوند مورد استقبال قرار می‌گیرند. گزینه‌ها (OPTIONS) این برنامه از شیوه‌نگارش معمول خط فرمان گنو پیروی می‌کند. در گزینه‌های کوتاهی که آرگومان می‌پذیرند، مقدار می‌تواند بلافاصله بعد از گزینه یا با فاصله بیاید. گزینه‌های طولانی که با دو خط تیره (‘-’) آغاز می‌شوند نیاز به علامت ‘=’ میان گزینه و آرگومان دارند. خلاصه‌ای از گزینه‌های پشتیبانی‌شده در زیر آمده است: -m, --model=id انتخاب شماره مدل روتاتور. مشاهده فهرست مدل‌ها (با دستور “rotctl -l”). نکته: برنامه rotctl (یا نرم‌افزارهای شخص ثالثی که از C API استفاده می‌کنند) از مدل روتاتور ۲ برای NET rotctl (ارتباط با rotctld) استفاده می‌کند. -r, --rot-file=device استفاده از device به عنوان نام فایل درگاه متصل به روتاتور. معمولاً یک پورت سریال یا مبدل USB به سریال است. به‌طور نمونه /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0 و غیره در لینوکس، و COM1, COM2 و غیره در ویندوز. نسخه‌های BSD و Mac OS/X نام‌گذاری‌های خاص خود را دارند. به مستندات سیستم خود مراجعه کنید. -R, --rot-file2=device استفاده از device به عنوان نام فایل درگاه متصل به روتاتور دوم. مثلاً روتاتور دوم برای تنظیم ارتفاع (Elevation). معمولاً یک پورت سریال یا مبدل USB به سریال است. به‌طور نمونه /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0 و غیره در لینوکس، و COM1, COM2 و غیره در ویندوز. نسخه‌های BSD و Mac OS/X نام‌گذاری‌های خاص خود را دارند. به مستندات سیستم خود مراجعه کنید. -s, --serial-speed=baud تنظیم سرعت ارتباط سریال بر حسب baud (نرخ باود). به‌طور پیش‌فرض از بیشینه سرعت سریال بر اساس قابلیت‌های بک‌اند روتاتور استفاده می‌شود. -t, --send-cmd-term=char تغییر نویسه پایانی char برای پروتکل‌های متنی هنگام استفاده از دستور send_cmd. مقدار پیش‌فرض نویسه CR در اسکی (‘0x0D’) است. نویسه‌های غیرقابل‌چاپ اسکی را می‌توان به‌صورت عدد هگزادسیمال همراه با پیشوند “0x” مشخص کرد. برای نداشتن نویسه پایانی می‌توانید یک رشته خالی ارسال کنید. رشته “-1” به rotctl می‌گوید که به پروتکل دودویی (باینری) تغییر وضعیت دهد. برای توضیحات بیشتر دستور send_cmd را ببینید. نکته: نقطه ویرگول (‘;’) نویسه پایانی متداولی برای روتاتورهایی است که رشته‌های اسکی می‌پذیرند. -o, --set-azoffset مقدار تصحیح زاویه سمتی (Azimuth) به‌صورت عدد اعشاری -- در زمان تنظیم (set) این مقدار اضافه شده و در زمان خواندن (get) این مقدار کسر می‌شود. -O, --set-eloffset مقدار تصحیح زاویه ارتفاع (Elevation) به‌صورت عدد اعشاری -- در زمان تنظیم (set) این مقدار اضافه شده و در زمان خواندن (get) این مقدار کسر می‌شود. -L, --show-conf نمایش فهرست تمامی پارامترهای پیکربندی برای روتاتور مشخص‌شده با گزینه -m در بالا. -C, --set-conf=parm=val[,parm=val] تنظیم پارامتر(های) پیکربندی روتاتور، برای نمونه: stop_bits=2. برای دیدن فهرست پارامترهای پیکربندی یک شماره مدل خاص از گزینه -L استفاده کنید. -u, --dump-caps تخلیه و چاپ مشخصات و قابلیت‌های روتاتور مشخص‌شده با -m و سپس خروج. -l, --list فهرست کردن تمامی شماره مدل‌های روتاتور تعریف‌شده در Hamlib و سپس خروج. این فهرست بر اساس شماره مدل مرتب شده است. نکته: در لینوکس این فهرست را می‌توان با Shift-PageUp/Shift-PageDown یا نوار پیمایش ترمینال در محیط گرافیکی یا پنجره cmd در ویندوز به بالا و پایین پیمایش کرد. خروجی را می‌توان به more(1) یا less(1) لوله (pipe) کرد، مانند: “rotctl -l | more”. -i, --read-history خواندن تاریخچه دستورها و آرگومان‌های ذخیره‌شده پیشین از یک فایل (به‌طور پیش‌فرض $HOME/.rotctl_history) برای نشست جاری. تنها در صورتی در دسترس است که rotctl با پشتیبانی از کتابخانه Readline کامپایل شده باشد (بخش ردلاین در ادامه را ببینید). نکته: برای خواندن فایل تاریخچه ذخیره‌شده در پوشه‌ای دیگر، متغیر محیطی ROTCTL_HIST_DIR را تنظیم کنید، مثلاً: “ROTCTL_HIST_DIR=$HOME/tmp rotctl -i”. در صورت عدم تنظیم ROTCTL_HIST_DIR، از مقدار HOME استفاده می‌شود. -I, --save-history نوشتن تاریخچه دستورها و آرگومان‌های نشست جاری (و نشست‌های پیشین، در صورتی که گزینه -i نیز داده شده باشد) در یک فایل (به‌طور پیش‌فرض $HOME/.rotctl_history) در پایان نشست کاری. دستورهای کامل به همراه آرگومان‌هایشان در یک خط ذخیره می‌شوند تا بتوان بعداً آن‌ها را فراخوانی، استفاده یا ویرایش کرد. تنها در صورتی فعال است که rotctl همراه با پشتیبانی از Readline کامپایل شده باشد (بخش ردلاین را ببینید). نکته: برای ذخیره فایل تاریخچه در پوشه‌ای دیگر، متغیر محیطی ROTCTL_HIST_DIR را تنظیم کنید، مثلاً: “ROTCTL_HIST_DIR=$HOME/tmp rotctl -I”. در صورت عدم تنظیم ROTCTL_HIST_DIR، از مقدار متغیر HOME استفاده می‌شود. -v, --verbose تنظیم حالت با جزئیات بیشتر، به صورت انباشته (بخش عیب‌یابی در ادامه را ببینید). -Z, --debug-time-stamps فعال‌سازی برچسب زمانی (Timestamp) برای پیام‌های رفع اشکال. تنها در ترکیب با گزینه -v استفاده شود زیرا به تنهایی خروجی تولید نمی‌کند. -h, --help نمایش خلاصه‌ای از این گزینه‌ها و سپس خروج. -V, --version نمایش نسخه برنامه rotctl و سپس خروج. - توقف پردازش گزینه‌ها و خواندن دستورها از ورودی استاندارد. بخش ورودی استاندارد در ادامه را ببینید. نکته: برخی از گزینه‌ها ممکن است توسط یک بک‌اند خاص پیاده‌سازی نشده باشند و خطایی بازگردانند. این حالت معمولاً برای گزینه‌های --set-conf و --show-conf رخ می‌دهد. توجه داشته باشید که بک‌اند روتاتور تحت کنترل یا خود دستگاه روتاتور ممکن است از برخی دستورها پشتیبانی نکنند. در این صورت، عملیات با یک کد خطای Hamlib با شکست مواجه خواهد شد. دستورها (COMMANDS) دستورها را می‌توان به‌صورت یک نویسه تکی یا نام کامل دستور وارد کرد. برخلاف گزینه‌ها، دستورها با خط تیره شروع نمی‌شوند. آن‌ها را می‌توان در حالت تعاملی تایپ کرد یا در حالت خط فرمان به‌صورت آرگومان به برنامه داد. در حالت تعاملی، دستورها و آرگومان‌هایشان را می‌توان در یک خط وارد کرد (متن تایپ‌شده با قلم پررنگ نشان داده شده است): P 123 45 از آنجا که بیشتر عملیات‌های Hamlib دارای دو متد set و get هستند، معمولاً یک حرف بزرگ انگلیسی برای متد set (تنظیم) و حرف کوچک متناظر آن برای متد get (دریافت/خواندن) به کار می‌رود. هر عملیات یک نام طولانی نیز دارد؛ در حالت تعاملی، برای وارد کردن نام طولانی دستور یک علامت بک‌اسلش ‘\’ در ابتدای آن بگذارید. مثال: برای مشاهده اطلاعات روتاتور در حالت تعاملی از “\get_info” استفاده کنید. نکته: بک‌اند روتاتور تحت کنترل یا خود دستگاه ممکن است از برخی دستورها پشتیبانی نکنند. در این حالت عملیات با یک پیام خطای Hamlib ناموفق خواهد بود. ورودی استاندارد (Standard Input) به‌عنوان جایگزینی برای ورود تعاملی دستورها از طریق READLINE یا اجرای تک‌دستور در هر بار اجرا، برنامه rotctl قابلیت ویژه‌ای دارد که در آن یک خط تیره منفرد (‘-’) می‌تواند برای خواندن دستورها از ورودی استاندارد (stdin) استفاده شود. دستورها باید با فاصله یا خط جدید از هم جدا شوند، مشابه نحوه ارسال دستورها در خط فرمان. با استفاده از نویسه ‘#’ می‌توان کامنت اضافه کرد؛ تمامی متن‌ها تا انتهای خط جاری پس از نویسه ‘#’ نادیده گرفته می‌شوند. یک مثال ساده: $ cat <<.EOF. >cmds.txt > # File of commands > set_pos 180.0 10.0 # rotate > pause 30 # wait for action to complete > get_pos # query rotator >.EOF. $ rotctl -m 1 - شرح داده شده است. برنامه rotctl نام “rotctl” را تعریف می‌کند که می‌تواند در ساختارهای اولیه شرطی در فایل پیکربندی Readline (به‌طور پیش‌فرض $HOME/.inputrc) برای کلیدهای میانبر سفارشی و اختصاصی rotctl استفاده شود. تاریخچه دستورها در صورت فعال بودن پشتیبانی از Readline مطابق آنچه در راهنمای تاریخچه Readline آمده است در دسترس خواهد بود. رشته‌های دستور و آرگومان به‌صورت تک‌خطی ذخیره می‌شوند، حتی اگر برای دریافت هر آرگومان به‌صورت جداگانه از کاربر درخواست شده باشد. دستورها و آرگومان‌ها اعتبارسنجی نمی‌شوند و دقیقاً همان‌طور که تایپ شده‌اند و با فاصله بین مقادیر ذخیره می‌گردند. به‌طور معمول تاریخچه نشست ذخیره نمی‌شود؛ با این حال استفاده از هر یک از گزینه‌های -i/--read-history یا -I/--save-history هنگام اجرای rotctl باعث می‌شود هر تاریخچه ذخیره‌شده پیشین خوانده شود و/یا تاریخچه نشست جاری و نشست‌های قبلی (به شرطی که گزینه‌های -i و -I با هم استفاده شوند) هنگام بستن rotctl روی دیسک نوشته شوند. این گزینه‌ها مانعة‌الجمع نیستند؛ یعنی می‌توان آن‌ها را جداگانه یا همراه با هم به کار برد. این ویژگی برای ذخیره مجموعه‌ای از دستورها و خواندن مجدد آن‌ها در دفعات بعد برای انجام تست‌های یکپارچه در حالت تعاملی (بدون ثبت تغییرات بعدی) بسیار کاربردی است. تاریخچه به‌طور پیش‌فرض در $HOME/.rotctl_history ذخیره می‌شود، اگرچه مسیر پوشه مقصد را می‌توان با تنظیم متغیر محیطی ROTCTL_HIST_DIR تغییر داد. در صورت تنظیم نبودن ROTCTL_HIST_DIR، از مقدار متغیر محیطی HOME استفاده می‌شود. در حال حاضر تنها پوشه مقصد قابل تغییر است. در صورتی که پشتیبانی از Readline در زمان ساخت یافت نشود، از پردازشگر دستورات داخلی پیشین استفاده می‌شود. در مورد دستورهای rotctl که از خط فرمان وارد می‌شوند، صرف‌نظر از وجود یا عدم وجود پشتیبانی از Readline، از این کتابخانه استفاده نخواهد شد. نکته: پشتیبانی از Readline در نسخه‌های اجرایی ۳۲ یا ۶۴ بیتی MS Windows ارائه‌شده توسط پروژه Hamlib گنجانده نشده است. اجرای rotctl در پلتفرم MS Windows در پوسته ‘cmd’ امکان دسترسی به تاریخچه دستورات خط فرمان نشست را فراهم می‌کند، اما این تاریخچه بین نشست‌های مختلف روی دیسک ذخیره نمی‌شود. عیب‌یابی (DIAGNOSTICS) گزینه -v, --verbose امکان ارسال سطوح مختلف پیام‌های تشخیصی و عیب‌یابی را به stderr می‌دهد که متناظر است با -v برای BUG، -vv برای ERR، -vvv برای WARN، -vvvv برای VERBOSE، یا -vvvvv برای TRACE. یک سطح مشخص از جزئیات برای ارسال اطلاعات عیب‌یابی مورد نیاز به نشانی ایمیل زیر بسیار مفید است. برای نمونه، خروجی TRACE تمام مقادیر ارسال‌شده به رادیو و دریافت‌شده از آن را نشان می‌دهد که برای توسعه کتابخانه‌های بک‌اند رادیو بسیار سودمند است و ممکن است توسط توسعه‌دهندگان درخواست شود. وضعیت خروج (EXIT STATUS) برنامه rotctl با کدهای زیر خارج می‌شود: 0 اگر تمام عملیات‌ها با موفقیت و به‌طور عادی به پایان برسند؛ 1 اگر گزینه یا آرگومان نامعتبری در خط فرمان داده شده باشد؛ 2 اگر خطایی از طرف Hamlib بازگردانده شود. مثال‌ها (EXAMPLES) راه‌اندازی rotctl برای RotorEZ با استفاده از اولین درگاه سریال در لینوکس: $ rotctl -m 401 -r /dev/ttyS0 راه‌اندازی rotctl برای RotorEZ با استفاده از COM2 در MS Windows: > rotctl -m 401 -r COM2 اتصال به سرویس در حال اجرای rotctld با مدل روتاتور ۲ (“NET rotctl”) روی هاست محلی و تعیین درگاه TCP، و سپس استعلام موقعیت: $ rotctl -m 2 -r localhost:4533 t_pos راه‌اندازی rotctl برای INDI با استفاده از نشانی دیگری غیر از پیش‌فرض localhost:5764: $ rotctl -m 2001 -r example.com:12345 راه‌اندازی rotctl برای INDI با استفاده از دامنه محلی در لینوکس: $ rotctl -m 2001 -r @/tmp/indiserver پروژه INDI (رابط توزیع‌شده بی‌طرف از دستگاه) یک نرم‌افزار با مجوز LGPLv2 برای کنترل تجهیزات نجومی، از جمله پایه‌های تلسکوپ است که می‌توان از آن‌ها برای چرخاندن آنتن‌ها نیز استفاده کرد. برای اطلاعات بیشتر ببینید: indilib.org اشکالات (BUGS) گزارش اشکالات به: Hamlib Developer mailing list کپی‌رایت و تکثیر (COPYING) این فایل بخشی از Hamlib است؛ پروژه‌ای برای توسعه کتابخانه‌ای که عملکردهای کنترل رادیو، روتاتور و تقویت‌کننده را برای توسعه‌دهندگان نرم‌افزارهای مرتبط با رادیو آماتوری و علاقه‌مندان به ارتباطات رادیویی ساده می‌کند. حق کپی‌رایت © 2001-2011 Stephane Fillod حق کپی‌رایت © 2002-2017 the Hamlib Group (مشارکت‌کنندگان گوناگون) حق کپی‌رایت © 2003-2020 Nate Bargmann این نرم‌افزار آزاد است؛ برای شرایط تکثیر فایل COPYING را ببینید. هیچ‌گونه ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب با یک هدف خاص. همچنین ببینید (SEE ALSO) less(1), more(1), rotctld(1), hamlib(7) شناسنامه (COLOPHON) پیوندها به ویکی Hamlib، مخزن Git، بایگانی‌های انتشار و بایگانی‌های نسخه‌های آزمایشی روزانه از طریق نشانی زیر در دسترس هستند: hamlib.org . Hamlib 2025-09-01 ROTCTL(1)