| PICOCOM(1) | User Commands | PICOCOM(1) |
نام (NAME)
picocom - برنامهٔ کمینه برای شبیهسازی پایانههای ساده (dumb-terminal)
خلاصه دستور (SYNOPSIS)
picocom [ options ] device
توضیحات (DESCRIPTION)
همانطور که از نامش پیداست، picocom(1) یک برنامهٔ کمینه برای شبیهسازی پایانهٔ ساده (dumb-terminal) است. این برنامه در اصل بسیار شبیه به minicom(1) است، فقط به جای "mini"، "pico" است! این ابزار طراحی شده بود تا به عنوان ابزاری ساده، دستی برای پیکربندی، آزمایش و اشکالزدایی مودم به کار رود. همچنین (بهخوبی) به عنوان یک برنامهٔ ارتباط سریال سطحپایین برای امکان دسترسی به انواع دستگاههایی که کنسول سریال ارائه میدهند عمل کرده است. علاوه بر این میتواند در بسیاری از کارهای مشابه دیگر نیز مفید واقع شود.
در عمل، picocom به خودی خود یک «شبیهساز» نیست. این برنامه ابزار سادهای است که یک پورت سریال (دستگاه tty) و تنظیمات آن را باز، پیکربندی و مدیریت میکند، و شبیهساز پایانهای را که به احتمال زیاد از قبل استفاده میکنید (برنامهٔ پنجره پایانه، xterm، rxvt، کنسول سیستم و غیره) به آن متصل میسازد.
هنگامی که picocom شروع به کار میکند، tty (پورت سریال) دادهشده به عنوان آرگومان غیرگزینهای خود را باز میکند. مگر اینکه گزینهٔ --noinit داده شده باشد، پورت را طبق تنظیمات مشخصشده توسط آرگومانهای گزینهها (یا برخی تنظیمات پیشفرض) پیکربندی کرده و آن را در حالت "raw" قرار میدهد. اگر --noinit داده شود، از مقداردهی اولیه و پیکربندی صرفنظر میشود؛ پورت تنها باز میشود. به دنبال آن، اگر ورودی استاندارد یک tty باشد، picocom آن tty را در حالت raw قرار میدهد. سپس وارد حلقهای میشود که در آن به ورودی از stdin یا از پورت سریال گوش فرا میدهد. ورودی پورت سریال به خروجی استاندارد رونوشت میشود، در حالی که ورودی از ورودی استاندارد به پورت سریال فرستاده میشود. همچنین picocom جریان ورودی خود را برای یافتن یک نویسهٔ کنترلی تعیینشده توسط کاربر که escape character (نویسهٔ گریز) نامیده میشود (و به طور پیشفرض C-a است) پویش میکند. اگر نویسهٔ گریز دیده شود، برنامه به جای ارسال آن به دستگاه سریال، وارد "حالت فرمان" شده و منتظر نویسهٔ بعدی (که "function character" یا نویسهٔ تابعی نامیده میشود) میماند. بسته به مقدار نویسهٔ تابعی، picocom یکی از عملیات توصیفشده در بخش دستورها (COMMANDS) در ادامه را انجام میدهد.
دستورها (COMMANDS)
دستورها به picocom با فشردن ابتدا نویسهٔ گریز که به صورت پیشفرض C-a است (برای نحوه تغییر آن، بخش گزینهها (OPTIONS) را در ادامه ببینید)، و سپس فشردن یکی از نویسههای تابعی (دستوری) نشاندادهشده در اینجا داده میشوند.
- escape character
- ارسال نویسهٔ گریز به پورت سریال و بازگشت به حالت «شفاف» (transparent). این بدان معناست که اگر نویسهٔ گریز (به طور پیشفرض C-a) دو بار تایپ شود، برنامه نویسهٔ گریز را به پورت سریال ارسال میکند و در حالت شفاف باقی میماند.
- C-x
- خروج از برنامه. اگر گزینهٔ --noreset داده نشده باشد، پورت سریال پیش از خروج به تنظیمات اولیهاش بازنشانی میشود و خطوط کنترل مودم (معمولاً DTR و RTS) پاک (پایین کشیده) میشوند که نشاندهندهٔ قطع ارتباط (hangup) مودم است. اگر --noreset داده شده باشد (و --hangup داده نشده باشد)، تنظیمات پورت سریال بازنشانی نمیشوند و خطوط کنترل مودم دستنخورده باقی میمانند. اگر هر دو گزینهٔ --noreset و --hangup داده شده باشند، تنظیمات پورت سریال بازنشانی نمیشوند، اما خطوط کنترل مودم پاک میشوند.
- C-q
- خروج از برنامه بدون بازنشانی پورت سریال به تنظیمات اولیهاش. با پایان یافتن از طریق این دستور، رفتار picocom دقیقاً مشابه زمانی است که گزینهٔ --noreset داده شده باشد. پورت سریال به تنظیمات اولیهاش بازنشانی نمیشود و خطوط کنترل مودم بسته به گزینهٔ --hangup، دستنخورده باقی میمانند یا پاک میشوند.
- C-p
- پالس زدن به خط DTR. پایین آوردن آن برای ۱ ثانیه، و سپس بالا بردن مجدد آن.
- C-t
- تغییر وضعیت خط DTR. اگر DTR بالا باشد، آن را پایین میآورد. اگر پایین باشد، آن را بالا میبرد. ممکن است در برخی سیستمها پشتیبانی نشود.
- C-g
- تغییر وضعیت خط RTS. اگر RTS بالا باشد، آن را پایین میآورد. اگر پایین باشد، آن را بالا میبرد. در صورتی که حالت کنترل جریان روی RTS/CTS باشد، پشتیبانی نمیشود. ممکن است در برخی سیستمها پشتیبانی نشود.
- C-backslash
- تولید یک توالی شکست (break sequence) روی خط سریال. یک توالی شکست معمولاً با نشانهگذاری (هدایت به یکِ منطقی) خط Tx سریال به مدت زمانی معادل طول چند نویسه ایجاد میشود.
- C-b
- تنظیم نرخ باود (baudrate). از شما میخواهد تا یک نرخ باود را به صورت عددی (بر حسب bps) وارد کنید و پورت سریال را بر همان اساس پیکربندی میکند.
- C-u
- افزایش نرخ باود (Baud up). افزایش نرخ باود. فهرست نرخهای باودی که با این دستور پیمایش میشوند عبارت است از: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. اگر پشتیبانی از HIGH_BAUD هنگام کامپایل گنجانده شده باشد، نرخهای باود زیر نیز به این فهرست افزوده میشوند: 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000, 4000000. بسته به سیستم شما، ممکن است برخی از نرخهای باود بالاتر موجود نباشند.
- C-d
- کاهش نرخ باود (Baud down). کاهش نرخ باود. فهرست نرخهای باودی که با این دستور پیمایش میشوند همانند دستور "baud-up" است.
- C-f
- پیمایش چرخشی تنظیمات کنترل جریان (RTS/CTS, XON/XOFF, none).
- C-y
- پیمایش چرخشی تنظیمات پاریتی (even, odd, none).
- C-i
- پیمایش چرخشی تنظیمات تعداد بیتهای داده (5, 6, 7, 8).
- C-j
- پیمایش چرخشی تنظیمات تعداد بیتهای توقف (1, 2).
- C-c
- تغییر وضعیت حالت پژواک محلی (local-echo).
- C-w
- نوشتن هگز (Write
hex). برنامه picocom
از کاربر
میخواهد
تا رشتهای
از مقادیر
هگزادسیمال
را وارد
کند. مقادیر
را میتوان
با یا بدون
جداکنندهها
وارد کرد.
مقادیر
هگزادسیمال
به باینری
ترجمه شده و
به پورت
ارسال
میشوند،
دقیقاً
مشابه
حالتی که از
طریق
پایانه
وارد شده
باشند (یعنی
گزینههای
--omap، --echo و --emap
رعایت و
اعمال
میشوند).
مثال: مورد
زیر
نویسههای
"ABCD" را به
پورت ارسال
میکند.
C-a C-w *** hex: 41 4243:44 *** wrote 4 bytes ***
- C-s
- ارسال (بارگذاری) یک فایل. بخش SENDING AND RECEIVING FILES در زیر را ببینید.
- C-r
- دریافت (بارگیری) یک فایل. بخش SENDING AND RECEIVING FILES در زیر را ببینید.
- C-v
- نمایش گزینههای برنامه (مانند baud rate، بیتهای داده و غیره) و همچنین تنظیمات واقعی درگاه سریال. تنها گزینهها و تنظیمات درگاهی نمایش داده میشوند که بهصورت برخط (از طریق دستورها) قابل تغییر باشند، نه مواردی که فقط از خط فرمان قابل تنظیم هستند. برای جزئیات بیشتر به بخش DISPLAY OF OPTIONS AND PORT SETTINGS مراجعه کنید.
- C-h یا C-k
- نمایش راهنما، یا نمایش کلیدها. توضیح کوتاهی از تمام کلیدهای تابعی (فرمان) دردسترس را چاپ میکند.
پس از انجام یکی از عملیاتهای فوق، برنامه از حالت فرمان خارج شده و وارد حالت شفاف (transparent mode) میشود. مثال: برای افزایش baud-rate به اندازه دو پله، باید تایپ کنید:
C-a، C-u، C-a، C-u
البته با این فرض که C-a نویسهٔ فرار (escape character) باشد.
گزینهها (OPTIONS)
دستور picocom گزینههای خط فرمان زیر را میپذیرد.
- --baud | -b
- نرخ baud را برای تنظیم روی درگاه سریال (ترمینال) مشخص میکند.
- --flow | -f
- حالت واپایش جریان (flow-control) را برای تنظیم روی درگاه سریال مشخص میکند. باید یکی از این موارد باشد: x برای حالت xon/xoff (نرمافزاری)، h برای واپایش جریان سختافزاری (RTS/CTS)، n برای بدون واپایش جریان. (پیشفرض: n)
- --parity | -y
- حالت پاریتی (توازن) را برای تنظیم روی درگاه سریال مشخص میکند. باید یکی از این موارد باشد: o برای حالت پاریتی فرد (odd)، e برای حالت پاریتی زوج (even)، n برای حالت بدون پاریتی. (پیشفرض: n)
- --databits | -d
- تعداد بیتهای داده در هر نویسه را مشخص میکند. باید یکی از این موارد باشد: 5، 6، 7، 8. (پیشفرض: 8)
- --stopbits | -p
- تعداد بیتهای توقف (stop bits) در هر نویسه را مشخص میکند. باید یکی از این موارد باشد: 1 یا 2. (پیشفرض: 1)
- --escape | -e
- نویسهای را مشخص میکند که باعث ورود picocom به حالت فرمان میشود (توضیحات بالا را ببینید). اگر x داده شود، آنگاه C-x باعث ورود picocom به حالت فرمان خواهد شد. همچنین گزینهٔ --no-escape را ببینید. (پیشفرض: a)
- --no-escape | -n
- نویسهٔ فرار را غیرفعال میکند. در صورت تعیین این گزینه، picocom هرگز وارد حالت فرمان نخواهد شد. برای خروج از picocom در این حالت، باید یا ورودی استاندارد آن را ببندید یا سیگنال TERM یا INT را به آن ارسال کنید. (پیشفرض: غیرفعال).
- --echo | -c
- پژواک محلی (local echo) را فعال میکند. هر نویسهای که از ترمینال (ورودی استاندارد) خوانده میشود، با رعایت پیکربندی نگاشت پژواک، در ترمینال (خروجی استاندارد) منعکس میشود (گزینهٔ --emap را ببینید). (پیشفرض: غیرفعال)
- --noinit | -i
- در صورت تعیین، picocom در هنگام راهاندازی، درگاه سریال را مقداردهی اولیه، پیکربندی یا دستکاری نخواهد کرد. تنها آن را باز میکند. این مورد برای مثال جهت اتصال picocom به مودمهای از قبل متصلشده، یا درگاههای از قبل پیکربندیشده بدون قطع اتصال یا تغییر تنظیمات آنها مفید است. در صورت نیاز، پارامترهای درگاه سریال را میتوان در زمان اجرا از طریق دستورها تنظیم کرد. همچنین گزینههای --noreset و --hangup را ببینید. (پیشفرض: غیرفعال)
- --noreset | -r
- در صورت تعیین، picocom هنگام خروج درگاه سریال را بازنشانی نمیکند. فقط توصیفکننده فایل مربوطه را میبندد و کار دیگری انجام نمیدهد. تنظیمات درگاه سریال به مقادیر اولیهشان بازگردانده نمیشوند و خطوط واپایش مودم نیز دستنخورده باقی میمانند، مگر اینکه گزینهٔ --hangup نیز مشخص شده باشد. این ویژگی مثلاً برای حفظ اتصال مودمها هنگام خروج از picocom مفید است. صرفنظر از اینکه گزینهٔ --noreset داده شده باشد یا نه، کاربر میتواند با استفاده از دستور «Quit» (به جای «Exit») از picocom خارج شود، که باعث میشود picocom دقیقاً مانند زمانی که --noreset مشخص شده رفتار کند. همچنین گزینهٔ --hangup را ببینید. (پیشفرض: غیرفعال)
توجه: برنامه picocom در هنگام خروج با تنظیم بیت کنترلی HUPCL درگاه مربوطه، خطوط واپایش مودم را قطع میکند. دستور picocom همواره HUPCL را بر اساس گزینههای --noreset و --hangup تنظیم میکند. اگر --noreset داده شده باشد و --hangup داده نشده باشد، HUPCL برای درگاه پاک میشود و پس از خروج از picocom نیز به همان شکل باقی خواهد ماند. اگر --noreset داده نشده باشد، یا اگر هر دو گزینهٔ --noreset و --hangup داده شده باشند، HUPCL برای درگاه تنظیم میشود و پس از خروج از picocom نیز تنظیمشده باقی میماند. این موضوع صرفنظر از روش خاتمه یافتن picocom (دستور، خواندن صفر بایت از ورودی استاندارد، کشته شدن توسط سیگنال، خطای مهلک، و غیره) و صرفنظر از گزینهٔ --noinit صادق است.
- --hangup | -u
- در صورت تعیین به همراه --noreset، برنامه picocom در هنگام خروج درگاه سریال را به تنظیمات اولیهاش بازنشانی نمیکند، اما خطوط واپایش مودم (معمولاً DTR و RTS) را برای اعلام قطع تماس (hangup) مودم پاکسازی خواهد کرد. بدون گزینهٔ --noreset (چه صریحاً مشخص شده باشد، چه بهطور ضمنی با خروج از طریق دستور «Quit»)، گزینهٔ --hangup هیچ تأثیری ندارد (به هر حال بدون --noreset، برنامه picocom همیشه در هنگام خروج خطوط واپایش مودم را پاکسازی میکند).
- --nolock | -l
- در صورت تعیین، picocom قبل از باز کردن درگاه سریال تلاشی برای قفل کردن آن نخواهد کرد. بهطور معمول، بسته به نحوهٔ کامپایل، picocom قبل از باز کردن درگاه تلاش میکند یک فایل قفل به سبک UUCP (مانند '/var/lock/LCK..ttyS0') به دست آورد، یا تلاش میکند گره دستگاه درگاه را با استفاده از flock(2) قفل کند. شکست در انجام این کار منجر به خروج برنامه پس از صدور یک پیام خطا میشود. این احتمال وجود دارد که باینری picocom شما بدون پشتیبانی از قفلگذاری کامپایل شده باشد. در این حالت گزینهٔ --nolock پذیرفته میشود، اما هیچ تأثیری ندارد. (پیشفرض: غیرفعال)
- --receive-cmd | -v
- برنامه خارجی (و هرگونه آرگومان مربوط به آن) را که برای دریافت فایلها استفاده خواهد شد، مشخص میکند. اگر آرگومان ورودی به --receive-cmd یک رشته خالی ('') باشد، دستور دریافت فایل (receive-file) غیرفعال میشود. بخش SENDING AND RECEIVING FILES را ببینید. (پیشفرض: rz -vv)
- --imap
- نگاشت نویسههای ورودی را مشخص میکند (یعنی نویسههای خاصی که هنگام خوانده شدن از درگاه سریال جایگزین میشوند). بخش INPUT, OUTPUT, AND ECHO MAPPING را ببینید. (پیشفرض: خالی)
- --omap
- نگاشت نویسههای خروجی را مشخص میکند (یعنی نویسههای خاصی که قبل از نوشته شدن در درگاه سریال جایگزین میشوند). بخش INPUT, OUTPUT, AND ECHO MAPPING را ببینید. (پیشفرض: خالی)
- --emap
- نگاشت نویسههای پژواک محلی را مشخص میکند (یعنی نویسههای خاصی که در صورت فعال بودن پژواک محلی، پیش از نمایش دوباره در ترمینال جایگزین میشوند). بخش INPUT, OUTPUT, AND ECHO MAPPING را ببینید. (پیشفرض: delbs,crcrlf)
- --logfile | -g
- از فایل مشخصشده برای ثبت گزارش (لاگ کردن) ورودی سریال، و احتمالاً خروجی سریال استفاده میکند. اگر فایل از قبل موجود باشد، دادهها به انتهای آن افزوده میشوند. هر نویسهای که از درگاه سریال خوانده شود در فایل مشخصشده نوشته خواهد شد (پیش از اعمال نگاشت ورودی). اگر حالت پژواک محلی فعال باشد (گزینه --echo و دستور C-c را ببینید)، آنگاه هر نویسهای که در درگاه سریال نوشته میشود (پس از اعمال نگاشت خروجی) نیز در همان فایل ثبت میگردد. (پیشفرض: بدون ثبت گزارش)
- --initstring | -t
- رشته دادهشده را پس از باز کردن و پیکربندی درگاه سریال ارسال میکند. رشته راهاندازی دقیقاً به همان شکلی ارسال میشود که گویی از ترمینال وارد شده است. هنگام ارسال رشته راهاندازی، picocom نگاشت خروجی --omap، تنظیمات پژواک محلی --echo، و نگاشت پژواک محلی --emap را رعایت میکند. این قابلیت برای مثال هنگامی مفید است که دستگاه سریال برای شروع پاسخدهی به رشتههای جادویی خاصی نیاز دارد. از echo(1) یا xxd(1) برای تولید نویسههای خاص مانند CR یا دادههای باینری استفاده کنید. مثال:
-
picocom -t "$(echo -ne 'AAATZ\r\n')" /dev/ttyS0
توجه داشته باشید که اگر --noinit داده شده باشد، رشته راهاندازی ارسال نمیشود. (پیشفرض: خالی).
- --lower-rts
- سیگنال کنترلی مودم RTS را پس از باز کردن درگاه سریال پایین میآورد (غیرفعال میکند). تنها زمانی پشتیبانی میشود که حالت کنترل جریان روی RTS/CTS تنظیم نشده باشد، در غیر این صورت نادیده گرفته میشود. تنها در برخی سیستمها پشتیبانی میشود.
اگر هیچیک از گزینههای --lower-rts یا --raise-rts داده نشوند، وضعیت سیگنال RTS پس از باز کردن و پیکربندی درگاه، وابسته به سیستم خواهد بود. در بیشتر سیستمها این سیگنال بالا برده میشود (فعال است).
- --raise-rts
- سیگنال کنترلی مودم RTS را پس از باز کردن درگاه سریال بالا میبرد (فعال میکند). تنها زمانی پشتیبانی میشود که حالت کنترل جریان روی RTS/CTS تنظیم نشده باشد، در غیر این صورت نادیده گرفته میشود. تنها در برخی سیستمها پشتیبانی میشود.
اگر هیچیک از گزینههای --raise-rts یا --lower-rts داده نشوند، وضعیت سیگنال RTS پس از باز کردن و پیکربندی درگاه، وابسته به سیستم خواهد بود. در بیشتر سیستمها این سیگنال بالا برده میشود.
- --lower-dtr
- سیگنال کنترلی DTR را پس از باز کردن درگاه سریال پایین میآورد. تنها در برخی سیستمها پشتیبانی میشود.
اگر هیچیک از گزینههای --lower-dtr یا --raise-dtr داده نشوند، وضعیت سیگنال DTR پس از باز کردن و پیکربندی درگاه، وابسته به سیستم خواهد بود. در بیشتر سیستمها این سیگنال بالا برده میشود.
- --raise-dtr
- سیگنال کنترلی DTR را پس از باز کردن درگاه سریال بالا میبرد. تنها در برخی سیستمها پشتیبانی میشود.
اگر هیچیک از گزینههای --raise-dtr یا --lower-dtr داده نشوند، وضعیت سیگنال DTR پس از باز کردن و پیکربندی درگاه، وابسته به سیستم خواهد بود. در بیشتر سیستمها این سیگنال بالا برده میشود.
- --exit-aftrer | -x
- اگر picocom برای مدتزمان مشخصشده (به میلیثانیه) بیکار بماند، از آن خارج میشود. picocom در صورتی بیکار تلقی میشود که: هیچ چیزی از درگاه سریال خوانده (دریافت) نشود، و هیچ چیزی برای نوشتن (ارسال) به درگاه سریال وجود نداشته باشد، و هیچ چیزی از ورودی استاندارد (ترمینال) خوانده نشود. اگر --exit-after روی صفر تنظیم شود، picocom پس از باز کردن و پیکربندی درگاه سریال، پس از ارسال رشته راهاندازی (در صورت وجود، گزینه --initstring را ببینید) و بلافاصله پس از بیکار شدن خارج میشود. هنگام خروج پس از بیکاری، picocom بافر خروجی درگاه سریال سیستمعامل را تخلیه میکند (یعنی منتظر میماند تا دادههای نوشتهشده روی درگاه ارسال شوند) و گزینههای --noreset و --hangup را طبق معمول رعایت میکند. (پیشفرض: تنظیمنشده).
توجه: اگر --exit-after تنظیم شده باشد، خواندن صفر بایت از ورودی استاندارد (که معمولاً به این معنی است که هر اتصالی که وجود داشته، بسته شده است)، موجب خروج picocom نمیشود. در عوض، picocom بدون خواندن از stdin به اجرای خود ادامه میدهد و تنها زمانی خارج میشود که برای مدتزمان مشخصشده بیکار بماند، یا توسط یک سیگنال متوقف شود. اگر --exit-after تنظیم نشده باشد، خواندن صفر بایت از ورودی استاندارد باعث میشود که picocom پس از ارسال محتویات صف خروجی خود خارج شود.
- --exit | -X
- بلافاصله پس از باز کردن و پیکربندی درگاه سریال از picocom خارج میشود. هیچ چیزی از ورودی استاندارد یا از درگاه سریال خوانده نمیشود. هنگام خروج، گزینههای --noreset و --hangup طبق معمول رعایت میشوند. با استفاده از --exit و --noreset (و احتمالاً --hangup) میتوان از picocom به عنوان یک جایگزین بسیار ابتدایی برای stty(1) استفاده کرد. اگر یک رشته راهاندازی نیز مشخص شده باشد (گزینه --initstring را ببینید)، picocom بلافاصله پس از ارسال (نوشتن) رشته راهاندازی در درگاه سریال و تخلیه بافر خروجی درگاه سریال سیستمعامل (یعنی انتظار برای ارسال دادههای نوشتهشده در درگاه) خارج میشود. باز هم، هیچ چیزی از ورودی استاندارد یا از درگاه سریال خوانده نمیشود. گزینه --exit بر گزینه --exit-after تقدم دارد. (پیشفرض: غیرفعال)
- --quiet | -q
- اجرای picocom را در حالت بیصدا اجبار میکند. خروجی اطلاعات وضعیت اولیه و گزینهها، و همچنین هرگونه اطلاعات یا پیامهای دیگری را که صراحتاً توسط کاربر درخواست نشده باشد، سرکوب میکند. پاسخها به دستورهای کاربر و هرگونه پیام خطا یا هشدار همچنان چاپ میشوند.
نمایش گزینهها و تنظیمات درگاه (DISPLAY OF OPTIONS AND PORT SETTINGS)
دستور «نمایش گزینههای برنامه» (C-v)، و همچنین دستوراتی که گزینههای برنامه را تغییر میدهند (C-b، C-u، C-d، C-f و غیره) پیامهایی را چاپ میکنند که مقادیر فعلی (یا مقادیر جدید، در صورت تغییر) گزینههای مربوطه را نمایش میدهند. اگر picocom تشخیص دهد که تنظیمات واقعی درگاه سریال (به هر دلیلی) با مقدار فعلی گزینهٔ مربوطه تفاوت دارد، مقدار گزینه و به دنبال آن مقدار تنظیمات واقعی درگاه سریال داخل پرانتز نشان داده میشود. مثال:
-
*** baud: 115200 (9600)
این بدان معناست که نرخ باود 115200bps (از طریق خط فرمان، یا با استفاده از دستوراتی که نرخ باود را تغییر میدهند) انتخاب شده است، اما درگاه سریال در واقع با سرعت 9600bps کار میکند (ممکن است گرداننده از تنظیمات بالاتر پشتیبانی نکند و بیصدا آن را با یک مقدار پیشفرض امن جایگزین کرده باشد، یا ممکن است تنظیمات از خارج از picocom تغییر داده شده باشد). اگر گزینه و تنظیمات درگاه سریال متناظر با آن یکسان باشند، تنها یک مقدار نمایش داده میشود. مثال:
-
*** baud: 9600
این رفتار در picocom 2.0 معرفی شد. نسخههای قدیمیتر تنها مقادیر گزینه را نمایش میدادند، نه تنظیمات واقعی درگاه سریال مربوط به آنها را.
در هنگام راهاندازی، پس از باز شدن و پیکربندی درگاه سریال (و با فرض اینکه هیچیک از گزینههای خط فرمان --noinit یا --quiet داده نشده باشند)، تنظیمات درگاه به طور خودکار و بیصدا بررسی میشوند. اگر هرگونه عدم تطابقی میان تنظیمات درخواستی و تنظیمات واقعی درگاه شناسایی شود، یک پیام هشدار نمایش داده میشود. سپس میتوانید از دستور C-v برای تعیین دقیق عدم تطابق یا عدم تطابقها استفاده کنید.
ارسال و دریافت فایلها (SENDING AND RECEIVING FILES)
Picocom میتواند با استفاده از برنامههای خارجی که پروتکلهای مربوطه را پیادهسازی کردهاند، فایلها را از طریق درگاه سریال ارسال و دریافت کند. در لینوکس برنامههای متداول برای این منظور عبارتند از:
- •
- rx(1) - دریافت با استفاده از پروتکل X-MODEM
- •
- rb(1) - دریافت با استفاده از پروتکل Y-MODEM
- •
- rz(1) - دریافت با استفاده از پروتکل Z-MODEM
- •
- sx(1) - ارسال با استفاده از پروتکل X-MODEM
- •
- sb(1) - ارسال با استفاده از پروتکل Y-MODEM
- •
- sz(1) - ارسال با استفاده از پروتکل Z-MODEM
- •
- ascii-xfr(1) - دریافت یا انتقال فایلهای ASCII
نام و گزینههای خط فرمان برنامهای که برای انتقال فایلها استفاده میشود، توسط گزینهٔ --send-cmd مشخص میشود. به طور مشابه، برنامهٔ دریافت فایلها و آرگومانهای آن توسط گزینهٔ --receive-cmd تعیین میگردد. برای نمونه، جهت شروع یک نشست picocom که از sz(1) برای ارسال فایلها و از rz(1) برای دریافت فایلها استفاده میکند، باید دستوری شبیه به این وارد کنید:
-
picocom --send-cmd "sz -vv" --receive-cmd "rz -vv" ...
اگر آرگومان گزینهٔ -send-cmd یا آرگومان گزینهٔ --receive-cmd یک رشتهٔ خالی باشد، دستور مربوطه غیرفعال میشود. برای نمونه، جهت غیرفعال کردن هر دو دستور ارسال و دریافت، میتوانید picocom را به این صورت اجرا کنید:
-
picocom --send-cmd '' --receive-cmd '' ...
یک نشست picocom که در آن هر دو دستور ارسال و دریافت فایل غیرفعال باشند، fork(2) انجام نداده و هیچ برنامهٔ خارجی را اجرا نمیکند.
در طول نشست picocom، اگر کلیدهای مربوط به دستورات «ارسال» یا «دریافت» را بزنید (مثلاً با فشردن C-a، C-s، یا C-a، C-r)، یک اعلان برای نام فایل به شما نشان داده خواهد شد. در این اعلان میتوانید یک یا چند نام فایل و هر آرگومان اضافی دیگری را برای برنامهٔ انتقال یا دریافت وارد کنید. در صورتی که picocom را با پشتیبانی از کتابخانهٔ linenoise کامپایل کرده باشید، ویرایش خط فرمان و قابلیت ابتدایی تکمیل خودکار مسیر فایل در این اعلان در دسترس خواهد بود. فشردن C-c در این اعلان، دستور انتقال فایل را لغو کرده و به عملکرد عادی picocom بازمیگردد. پس از وارد کردن نام فایل (و/یا آرگومانهای اضافی برنامهٔ ارسال یا دریافت) و با فرض اینکه عملیات را با فشردن C-c لغو نکرده باشید، picocom برنامهٔ خارجی را همانطور که توسط گزینهٔ --send-cmd یا --receive-cmd مشخص شده است، همراه با نام فایلها و آرگومانهای اضافی واردشده اجرا خواهد کرد. ورودی و خروجی استاندارد برنامهٔ خارجی به درگاه سریال متصل خواهد شد. خطای استاندارد برنامهٔ خارجی به ترمینال متصل خواهد شد که در طول اجرای برنامه، به حالت کانونیکال (canonical) بازمیگردد. فشردن C-c در هنگام اجرای برنامهٔ خارجی، آن را پیش از موعد متوقف میکند (با فرض اینکه خود برنامه SIGINT را نادیده نگیرد) و کنترل را به picocom بازمیگرداند. فشردن C-c در هر زمان دیگری، تأثیر خاصی ندارد؛ نویسه به طور عادی به درگاه سریال ارسال میشود..SH "نگاشت ورودی، خروجی و پژواک (INPUT, OUTPUT, AND ECHO MAPPING)"
با استفاده از گزینههای --imap، --omap و --emap میتوانید کاری کنید که picocom نویسههای خاص معینی را پس از خوانده شدن از درگاه سریال (با --imap)، پیش از نوشته شدن در درگاه سریال (با --omap)، و پیش از پژواک محلی در ترمینال (خروجی استاندارد) در صورت فعال بودن پژواک محلی (با --emap) نگاشت (ترجمه یا جایگزین) کند. هر یک از این گزینههای نگاشت، یک آرگومان دریافت میکنند که فهرستی جداشده با کاما از یک یا چند شناسه زیر است:
- •
- crlf (نگاشت CR به LF)،
- •
- crcrlf (نگاشت CR به CR + LF)،
- •
- igncr (نادیده گرفتن CR)،
- •
- lfcr (نگاشت LF به CR)،
- •
- lfcrlf (نگاشت LF به CR + LF)،
- •
- ignlf (نادیده گرفتن LF)،
- •
- bsdel (نگاشت BS به DEL)،
- •
- delbs (نگاشت DEL به BS)
- •
- spchex (نگاشت نویسههای خاص (< 0x20 || 0x7f)، به استثنای CR، LF و TAB به هگز)
- •
- tabhex (نگاشت TAB به هگز)
- •
- crhex (نگاشت CR به هگز)
- •
- lfhex (نگاشت LF به هگز)
- •
- 8bithex (نگاشت نویسههایی که بیت هشتم آنها تنظیم شده به هگز)
- •
- nrmhex (نگاشت نویسههای عادی اسکی (0x20 <= c < 0x7f) به هگز)
نگاشتهای «به هگز» (???hex) نویسههای مربوطه را با نمایش هگزادسیمال آنها (درون قلاب) جایگزین میکنند، مانند این:
-
CR --> [0d]
اگر بیش از یک نگاشت ارائه شود که روی یک نویسه یکسان اعمال گردد، فقط نخستین نگاشت، بر اساس ترتیبی که در بالا فهرست شده، اعمال خواهد شد.
برای نمونه دستور:
-
picocom --omap crlf,delbs --imap ignlf,bsdel --emap crcrlf ...
کارهای زیر را انجام میدهد:
- •
- پیش از نوشتن در درگاه سریال، هر نویسهٔ CR (بازگشت مکاننما، 0x0d) را با LF (تغذیه سطر، 0x0a) و هر نویسهٔ DEL (حذف، 0x7f) را با BS (پسبر، 0x08) جایگزین میکند.
- •
- هر نویسهٔ LF خوانده شده از درگاه سریال را نادیده میگیرد (در ترمینال نمینویسد)، و هر نویسهٔ BS خوانده شده از درگاه سریال را با DEL جایگزین میکند.
- •
- هنگام پژواک در ترمینال (در صورت فعال بودن پژواک محلی)، هر نویسهٔ CR را با CR و LF جایگزین میکند.
خروج از PICOCOM (EXITING PICOCOM)
این بخش شرایطی را که در آن picocom به عملیات خود پایان میدهد و آنچه در هر یک از این شرایط رخ میدهد را خلاصه میکند:
- •
- دستور خروج در ورودی استاندارد دیده شود. به این معنی که نویسهٔ گریز (پیشفرض C-a) و به دنبال آن نویسهٔ دستور خروج (پیشفرض C-x) دریافت شود. در این حالت: محتویات صف خروجی (دادههای خواندهشده از ورودی استاندارد که هنوز در درگاه نوشته نشدهاند) و همچنین محتویات بافر خروجی درگاه سریال سیستمعامل (دادههایی که قبلاً در درگاه نوشته شده، اما هنوز ارسال نشدهاند) دور ریخته (تخلیه) میشوند. سپس با در نظر گرفتن گزینههای --noreset و --hangup، درگاه سریال به تنظیمات اولیهاش بازنشانی شده و خطوط کنترل مودم برای اعلام بازنشانی مودم پاک میشوند. پس از آن picocom با وضعیت موفقیتآمیز خارج میشود.
- •
- دستور ترک (quit) در ورودی استاندارد دیده شود. به این معنی که نویسهٔ گریز (پیشفرض C-a) و به دنبال آن نویسهٔ دستور ترک (پیشفرض C-q) دریافت شود. رفتار برنامه در این حالت مشابه دستور خروج است، با یک تفاوت: picocom طوری عمل میکند که گویی گزینهٔ --noreset داده شده است (صرفنظر از اینکه واقعاً داده شده باشد یا خیر).
- •
- گزینهٔ --exit مشخص شده باشد. برای شرح دقیق آنچه در این حالت رخ میدهد، به مستندات این گزینه مراجعه کنید. picocom با وضعیت خروج موفقیتآمیز پایان مییابد.
- •
- گزینهٔ --exit-after مشخص شده باشد. برای شرح دقیق آنچه در این حالت رخ میدهد، به مستندات این گزینه مراجعه کنید. picocom با وضعیت خروج موفقیتآمیز پایان مییابد.
- •
- صفر بایت از ورودی استاندارد خوانده شود. این معمولاً بدان معناست که هر آنچه به ورودی استاندارد picocom متصل بوده بسته شده است، یا در صورتی که فایلی متصل بوده، picocom تا انتهای فایل را خوانده است. در این حالت، اگر گزینهٔ --exit-after مشخص نشده باشد، picocom خواندن از ورودی استاندارد را متوقف کرده و به عملکرد عادی خود (یعنی نوشتن در درگاه سریال و خواندن از آن) تا زمان خالی شدن صف خروجی ادامه میدهد. هنگامی که این اتفاق افتاد، picocom منتظر تخلیه بافر خروجی درگاه سریال سیستمعامل میماند و سپس (با در نظر گرفتن گزینههای --noreset و --hangup) درگاه سریال را به تنظیمات اولیهاش بازنشانی کرده، خطوط کنترل مودم را پاک نموده و خارج میشود. اگر گزینهٔ --exit-after داده شده باشد، باز هم picocom خواندن از ورودی استاندارد را متوقف کرده و به عملکرد عادی ادامه میدهد، اما در این حالت، این کار را تا زمانی که به میزان زمان تعیینشده بیکار شود ادامه داده و سپس خارج میشود. picocom با وضعیت خروج موفقیتآمیز پایان مییابد.
- •
- برنامه picocom با سیگنال TERM یا INT متوقف (kill) شود، یا خطای جبرانناپذیری رخ دهد. در این حالت picocom طوری عمل میکند که گویی دستور خروج دریافت کرده است، بدین معنی که: محتویات صف خروجی و محتویات بافر خروجی درگاه سریال سیستمعامل دور ریخته (تخلیه) میشوند. سپس، مشروط به گزینههای --noreset و --hangup، درگاه سریال به تنظیمات اولیهاش بازنشانی شده، خطوط کنترل مودم پاک میشوند، و picocom با وضعیت ناموفق خارج میشود..SH "نویسنده (AUTHOR)"
نوشتهشده توسط Nick Patavalis <npat@efault.net>
دسترسی (AVAILABILITY)
آخرین انتشار را از نشانی زیر بارگیری کنید: https://github.com/npat-efault/picocom/releases
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت (c) 2003-2018 متعلق به Nick Patavalis است.
این فایل بخشی از Picocom است.
نرمافزار Picocom یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «پروانه عمومی همگانی گنو» (GNU General Public License) همانطور که توسط بنیاد نرمافزارهای آزاد منتشر شده است، بازتوزیع کرده و/یا تغییر دهید؛ چه نسخهٔ ۲ این پروانه یا (به انتخاب خودتان) هر نسخهٔ پس از آن.
نرمافزار Picocom با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به GNU General Public License مراجعه کنید.
شما باید یک نسخه از GNU General Public License را به همراه این برنامه دریافت کرده باشید؛ در غیر این صورت، به نشانی زیر برای بنیاد نرمافزارهای آزاد بنویسید: Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
| 2018-02-01 | Picocom 3.1 |