محطة SerialTool VT-100 (الطرفية)

آخر تحديث في بواسطة Oliver Reed

تم تصميم محطة VT-100 في SerialTool للاتصال التفاعلي مع الأجهزة التي تستخدم واجهات نصية متقدمة تعتمد على معايير VT-100 / ANSI. يُستخدم هذا الوضع على نطاق واسع في البيئات المهنية و الصناعية و المدمجة (Embedded)، حيث يعرض الجهاز البعيد قوائم أو واجهات أوامر (Shell) أو واجهات تكوين نصية عبر المنفذ التسلسلي.

ملاحظة: للحصول على معلومات مفصلة، يمكنك أيضًا زيارة هذا الرابط محطات SerialTool

على عكس المحطة التسلسلية "الكلاسيكية"، التي تقتصر على عرض البايتات المستلمة، فإن محطة VT-100 في SerialTool تفسر تدفق البيانات و تسلسلات الهروب ANSI، مما يسمح بعرض رسومي صحيح ومخلص للواجهة التي يقصدها الجهاز.

الاتصال التفاعلي وتسلسلات ANSI

في محطة VT-100، لا تكون البيانات المرسلة مجرد أحرف ASCII بسيطة، بل تتضمن تسلسلات تحكم (ESC) تُستخدم لإجراء عمليات "مرئية" داخل المحطة. يفسر SerialTool هذه التسلسلات في الوقت الفعلي، مما يسمح بعرض نصوص ملونة، ومطالبات تفاعلية، وقوائم نصية، وشاشات يتم تحديثها ديناميكيًا.

تُستخدم تسلسلات ANSI/ESC عادةً من أجل:

  • تحريك المؤشر على الشاشة؛
  • مسح الأسطر أو محتوى المحطة بالكامل؛
  • تغيير لون النص وخصائصه؛
  • إدارة القوائم التفاعلية والشاشات المحدثة ديناميكيًا؛
  • إظهار أشرطة التقدم أو المؤشرات النصية.

متى تستخدم محطة VT-100

يوصى باستخدام وضع VT-100 عند الاتصال بالأجهزة التي تتطلب تفاعلًا متقدمًا بين الإنسان والآلة، على سبيل المثال، لتكوين أو إدارة المعدات والأنظمة المدمجة عبر وحدة التحكم التسلسلية.

أمثلة نموذجية:

  • أجهزة توجيه الشبكة (Routers) والمحولات (Switches)؛
  • جدران الحماية المادية ونقاط الوصول للمؤسسات؛
  • خوادم المؤسسات (BIOS/UEFI، وحدات الإدارة عن بعد)؛
  • أنظمة Linux المدمجة (Console, U-Boot, Shell)؛
  • أجهزة PLC والأجهزة الصناعية ذات القوائم النصية؛
  • وحدات التحكم الدقيقة (Microcontrollers) أثناء الإقلاع أو في وضع وحدة التحكم.

محطة VT-100 مدمجة في أداة كاملة

تم دمج محطة VT-100 في SerialTool بالكامل في البرنامج ويمكن استخدامها جنبًا إلى جنب مع الميزات المتقدمة الأخرى. يمكنك تعيين نافذة VT-100 مخصصة لكل منفذ تسلسلي، مما يبقي سجلات الأجهزة المتعددة منفصلة ويجعل تحليل حركة البيانات أسهل.

بهذه الطريقة، يجمع SerialTool بين محاكاة VT-100 وتصحيح الأخطاء التسلسلي منخفض المستوى في حل واحد، مما يجنبك استخدام تطبيقات منفصلة.

بفضل الدعم الكامل لمعيار VT-100 وتسلسلات ANSI، يوفر SerialTool بيئة تفاعل تسلسلي موثوقة واحترافية، مثالية لمطوري الأنظمة المدمجة، والفنيين الصناعيين، ومحترفي تكنولوجيا المعلومات.

ما يجب معرفته حول محطة SerialTool VT-100 التسلسلية

تحتوي المحطة التسلسلية على بعض الخصائص المهمة التي يجب توضيحها فيما يتعلق بالتشغيل العام لـ SerialTool. أولاً، يحتوي SerialTool على فئتين رئيسيتين من المحطات: المحطة التسلسلية و المحطة السداسية العشرية (Hexadecimal).

المحطة التسلسلية، بدورها، يمكن أن تعمل في وضعين متميزين: الوضع الكلاسيكي و وضع محاكاة VT-100، وهو موضوع هذه الوثيقة.

تعرض المحطة الكلاسيكية جميع حركات البيانات الواردة والصادرة من جميع المنافذ التسلسلية المفتوحة والمعينة في شاشة رئيسية واحدة.

من المفيد تقديم مقدمة مفصلة حول تشغيل المحطة التسلسلية الكلاسيكية لفهم الفروق بشكل أفضل مقارنة بالمحطة التسلسلية في وضع محاكاة VT-100.

لكل منفذ تسلسلي، في المحطة الكلاسيكية، يتم تمثيل حركة البيانات الواردة والصادرة بألوان خط مختلفة لتسهيل القراءة.

يمكن عرض البايتات المرسلة والمستلمة في أوضاع مختلفة: ASCII، سداسي عشري، ثنائي، أو مزيج منها. وهذا لأن المطور قد تكون لديه احتياجات تحليل مختلفة، خاصة عند العمل مع بروتوكولات خاصة أو قياسية مثل Modbus.

جانب أساسي هو تحديد متى يتم إدراج سطر جديد في المحطة لمنع عرض جميع البايتات بشكل مستمر، مما يجعل التفسير صعبًا.

في المحطة الكلاسيكية، من الضروري تحديد ما إذا كانت البيانات تصل في وضع التدفق (Streaming)، وما إذا كان يجب إضافة سطر جديد عند وصول حرف إنهاء (على سبيل المثال 0x0A، 0x0D، أو مزيج منهما).

في حالات أخرى، من الضروري تحديد نهاية الحزمة حتى في غياب حرف الإنهاء. يحدث هذا عن طريق قياس الوقت المنقضي منذ آخر بايت تم استلامه.

لهذا السبب، يحتوي كل منفذ تسلسلي على المعلمة Last Byte Timeout (مهلة البايت الأخير)، معبرًا عنها بالمللي ثانية، والتي يعرض بعدها SerialTool الحزمة المستلمة.

هذا المفهوم أساسي ويجب وضعه في الاعتبار دائمًا.

المحطة الكلاسيكية – وضع الحزمة (Packet Mode)

في وضع الحزمة، تتم إضافة سطر جديد إلى المحطة:

  • دائمًا عندما يرسل SerialTool سلسلة من البايتات، في نهاية الإرسال؛
  • في الاستقبال، عندما تنتهي المهلة المحددة في Last Byte Timeout؛
  • عندما يتم إرسال أو استلام بايتات من منافذ تسلسلية مختلفة.

المحطة الكلاسيكية – وضع التدفق (Streaming Mode)

في وضع التدفق، تتم إضافة سطر جديد:

  • عند استقبال حرف إنهاء (حتى لو كان مخصصًا)؛
  • عندما يتم إرسال أو استلام بايتات من منافذ تسلسلية مختلفة.

الفروق مع محطة VT-100

تقدم المحطة التسلسلية مع محاكاة VT-100 فروقًا كبيرة. أولاً، من الممكن أن يكون لديك شاشة واحدة أو أكثر مخصصة لكل منفذ تسلسلي مفتوح.

لذلك يرتبط كل منفذ تسلسلي بنافذة محددة (علامة تبويب)، مما يبقي حركة مرور الأجهزة المتعددة منفصلة. هذا هو الفرق الأول على مستوى الواجهة الرسومية.

الفرق الثاني وظيفي: بينما في المحطة الكلاسيكية يتم عرض البايتات وفقًا لتفضيلات المستخدم (ASCII, HEX, إلخ)، فإن في محطة VT-100، يتم تفسير تدفق البايتات بواسطة المحاكي، مفترضًا معنى مرئيًا.

على سبيل المثال، قد يرسل الجهاز البعيد رسائل ملونة، ولا يتم اختيار لون النص بواسطة المستخدم، بل يحدده الجهاز وتفسره محطة VT-100.

تفسر محطة VT-100 أيضًا تسلسلات مسح الشاشة، وإعادة وضع المؤشر، وعمليات رسومية أخرى.

ميزة إضافية هي إدارة الصفوف والأعمدة، مما يسمح للمحطة بمحاكاة تطبيق نصي حقيقي، بمعرفة "دقة" الشاشة من حيث الأحرف.

يمكن للمستخدم أيضًا إرسال تسلسلات أحرف خاصة إلى الجهاز البعيد، بما في ذلك مجموعات المفاتيح مثل CTRL + مفتاح، والتي تولد سلوكيات محددة.

سيكون هذا النوع من التفاعل معقدًا للغاية باستخدام محطة كلاسيكية منخفضة المستوى.

هذه التفسيرات الأولية أساسية لفهم نوع المحطة الذي يجب استخدامه بناءً على احتياجاتك. الخبر السار هو أن SerialTool يدعم كلا الوضعين.

كيفية استخدام محطة SerialTool VT-100 التسلسلية

كما ذكرنا سابقًا، يجب تعيين كل نافذة محطة إلى منفذ تسلسلي فعلي، وهو ما يمثل مبدأ التشغيل الأساسي لـ SerialTool.

أولاً، حدد وضع المحطة من القائمة الرئيسية.

serial terminal option select

تحديد وضع المحطة

set serial port terminal mode

تحديد وضع المحطة التسلسلية VT-100

لنبدأ بعرض الشاشة التي يمكنك من خلالها تعيين منفذ تسلسلي إلى المحطة التسلسلية VT-100.

إذا كانت هناك منافذ تسلسلية مهيأة بالفعل من قائمة تكوين المنافذ التسلسلية، فيمكن تعيينها لعلامة تبويب محددة في محطة SerialTool VT-100.

يؤدي النقر فوق الزر المركزي إلى عرض المنافذ التسلسلية المتاحة التي يمكن تعيينها للعرض في محطة VT-100.

serial port terminal assignment

شاشة المحطة التسلسلية الرئيسية مع المنافذ التسلسلية المعينة

بمجرد تحديد المنفذ التسلسلي، يتم فتح علامة تبويب مخصصة تحتوي على معلومات المحطة والمنفذ التسلسلي المعين، بما في ذلك المراجع إلى المنفذ الفعلي أو المحول المستخدم (على سبيل المثال COMx في Windows أو مسار الجهاز في Linux و macOS).

serial port terminal port

شاشة مع تعيين المنفذ التسلسلي 1 وفتح علامة تبويب مخصصة

في هذه المرحلة، بمجرد فتح المحطة المرتبطة بالمنفذ التسلسلي، من الممكن استقبال وإرسال البايتات إلى الجهاز البعيد (تذكر فتح المنفذ التسلسلي من قائمة التكوين المخصصة وضبط معلمات الاتصال بشكل صحيح).

في المثال التالي، يظهر إقلاع وحدة ESP32-S3. تم إنشاء النص المعروض باللون الأخضر بواسطة وحدة ESP32، التي أرسلت تسلسلاً محددًا من البايتات تم تفسيره لاحقًا بواسطة محاكي SerialTool VT-100.

serial port bootloader esp32

شاشة محمل الإقلاع لوحدة ESP32

في محطة VT-100، يمكنك تحديد منطقة من الأحرف التي تهمك بالماوس وتصديرها لاحقًا باستخدام زر الماوس الأيمن.

serial port export data

شاشة تصدير (نسخ) بيانات المحطة

الضغط على زر الماوس الأيمن، بالإضافة إلى القدرة على نسخ محتوى المحطة، يسمح لك بتعديل بعض تكوينات المحطة، ضمن الحدود التي توفرها محاكاة VT-100.

عند تحديد “VT100 Terminal Settings”، يمكنك تعديل إعدادات المحطة وحفظها كإعداد افتراضي لذلك المنفذ التسلسلي.

من المهم التأكيد على أن التكوينات تظل دون تغيير حتى إذا تغير المنفذ التسلسلي الفعلي. هذا يسمح، في حالة إعادة تشغيل SerialTool، بالحفاظ على الإعدادات المرتبطة بالمنفذ التسلسلي المنطقي وليس الجهاز الفعلي.

على سبيل المثال، إذا تم تعيين المنفذ التسلسلي 1 مبدئيًا إلى المنفذ COM12 وتم تعيينه لاحقًا إلى COM8، ستظل الإعدادات دون تغيير لأنها تتبع المنفذ التسلسلي المعين وليس المنفذ الفعلي.

إعدادات محطة VT100 – شرح كامل

بدءًا من شاشة الإعدادات (نقر يمين و “VT100 Terminal Settings”)

serial port terminal settings

شاشة إعدادات المحطة التسلسلية في محاكاة VT-100

Use VT-100 Terminal Key Sequence

ينشط محاكاة VT-100 الفعلية. يتم إرسال تسلسلات المفاتيح (الأسهم، F1–F4، ESC، إلخ) تمامًا كما تفعل محطة VT-100 الحقيقية.

أساسي لـ:

  • القوائم النصية
  • واجهات الأوامر المدمجة (Shells)
  • محملات الإقلاع (Bootloaders)

موصى به: ON للاستخدام التسلسلي

VT-100 Terminal Keyboard Input Settings

عناصر تحكم ASCII المستندة إلى CTRL

يعين مجموعات CTRL + مفتاح إلى رموز ASCII الكلاسيكية:

المجموعةالرمزالمعنى
CTRL + @0x00NUL
CTRL + Z0x1ASUB
CTRL + [0x1BESC
CTRL + \0x1CFS
CTRL + ]0x1DGS
CTRL + ^0x1ERS
CTRL + _0x1FUS
CTRL + ?0x7FDEL

ضروري للبرامج الثابتة، والشاشات التسلسلية، وتصحيح الأخطاء منخفض المستوى. موصى به: ON

المفاتيح الخاصة غير المستندة إلى CTRL

يحدد ما يتم إرساله عند الضغط على مفاتيح خاصة:

المفتاحالتسلسل
ESC0x1B
ESC [ D
ESC [ C
ESC [ A
ESC [ B
F1–F4ESC OP / OQ / OR / OS
Backspace0x7F

متوافق مع U-Boot، ووحدة تحكم Linux التسلسلية، وقوائم VT-100. موصى به: ON

Caret Echo (^C, ^[, ^?)

يعرض أحرف التحكم بشكل مقروء (على سبيل المثال، CTRL+C → ^C). مفيد لتصحيح الأخطاء والتعليم.

موصى به: OFF للاستخدام العادي، ON فقط لتصحيح الأخطاء

الألوان (Colors)

  • Background Color – لون خلفية المحطة
  • Opacity – شفافية النافذة

الخطوط (Fonts)

  • تغيير الخط / تعيين الافتراضي / تعيين Monospace / تعيين خط المحطة
  • تكبير / تصغير حجم الخط – تقريب النص
  • تباعد الخط – التباعد بين الأحرف (موصى به 100%)

متفرقات (Misc)

مفتاح Enter – يحدد ما يتم إرساله عند الضغط على Enter:

  • CR → \r
  • LF → \n
  • CRLF → \r\n

عادةً: MCU / مودم / برامج ثابتة → CRLF
Embedded Linux → غالبًا LF
موصى به: CRLF

Suppress Local Echo: إذا كان نشطًا، لا يظهر ما تكتبه (استخدمه فقط إذا كان الجهاز البعيد يقوم بالصدى).

Show Timestamp: يظهر الطابع الزمني بجانب البيانات المستلمة.

Show Navigation Bar: يُمكّن التنقل في سجل السجلات (مفيد فقط مع تفعيل Terminal Emulator).

Terminal Emulator: يسمح بالاحتفاظ بسجل البايتات المستلمة والمرسلة، متجاوزًا الحد المرئي للصفوف والأعمدة للمحطة الكلاسيكية.

Terminal Columns × Lines: أبعاد المحطة. الوضع Auto موصى به.

Support UTF-8 (Receive / Transmit): يفك تشفير UTF-8 في الاستقبال ويرسل UTF-8 في الإرسال. موصى به: OFF ما لم تكن هناك حاجة محددة.

Save Settings – يحفظ تكوين هذا المنفذ التسلسلي
Reset to Default – إعادة تعيين هذه المحطة فقط
Reset All Terminals – إعادة تعيين شاملة
Exit – يغلق النافذة