سالک: منظورم اینه آیا با کد از داخل کامپیوتر میشه پورت ها را خاموش و روشن کرد؟ و راهی برای تشخیص روشن و خاموش شدنش هست؟
سؤال خیلی خوبیه. پاسخ کوتاه:
بله، از داخل کامپیوتر میشه با کد پورتهایی مثل سریال، USB، یا حتی LPT (در کامپیوترهای قدیمی) رو کنترل کرد و وضعیتشون رو فهمید. ولی با جزئیات بستگی به نوع پورت و سیستمعامل داره.

۱. کنترل پورت (مثلاً روشن یا خاموش کردن یک پایه)
در پورتهای سریال، چند خط سیگنال دیجیتال مثل DTR, RTS, CTS, DSR وجود داره که میشه با کد High/Low کرد. به عبارتی روشن/خاموش.
مثلاً:
در ویندوز و لینوکس، با زبانهایی مثل Python، C، یا حتی Shell میشه این پایهها رو کنترل کرد.
این کار واقعاً شبیه روشن/خاموش کردن یه LEDه (اگه مدار داری).

۲. تشخیص وضعیت پورت
مثلاً بفهمی پایه CTS فعاله یا نه؟ یا اصلاً خود پورت باز شده یا نه؟ بله:
با برنامهنویسی (مثلاً Python با کتابخونه pyserial) میتونی:
ببینی پورت در دسترس هست یا نه
پایههای ورودی مثل CTS و DSR رو بخونی
اگر چیزی به پورت فرستادی، پاسخی بگیری یا حالت پورت رو بخونی

مثالی در Python (لینوکس یا ویندوز):
import serial
import time
ser = serial.Serial('/dev/ttyUSB0', 9600) # یا 'COM3' در ویندوز
# روشن کردن خط DTR
ser.dtr = True
time.sleep(1)
# خاموش کردنش
ser.dtr = False
# خواندن وضعیت ورودی CTS
print("CTS status:", ser.cts)
ser.close()

تفاوت در لینوکس و ویندوز
در ویندوز پورتها با نام COM شناخته میشن (COM3, COM4, ...)
در لینوکس با /dev/ttyUSB0, /dev/ttyS0 و غیره
ولی از دید کدنویسی، نحوهی کنترل مشابه است (با pyserial مثلاً)
نتیجه نهایی
بله، میشه با کد داخل کامپیوتر پورتها را روشن و خاموش کرد.
میشه فهمید آیا روشن شده یا نه (با پایههای ورودی)
اما برای دیدن این روشن/خاموش شدن در عمل، باید یک مدار فیزیکی ساده هم وصل باشه (مثلاً یک LED با ترانزیستور).