У цьому посібнику ви дізнаєтеся, як перенаправити COM-порт через мережу TCP/IP, щоб мати змогу віддалено отримувати доступ до послідовних пристроїв так, ніби вони підключені безпосередньо до вашого комп’ютера. Ви знайдете чіткі покрокові інструкції з налаштування як серверних, так і клієнтських підключень, зокрема як спільно використовувати фізичні та віртуальні COM-порти й переадресовувати їх між системами Windows і Linux. Наприкінці ви зрозумієте, як працює переадресація послідовного порту, як розширити радіус дії вашого послідовного обладнання та як це може спростити віддалений доступ і керування пристроями в мережевих середовищах.
Перенаправлення COM-порту через TCP/IP (для ОС Windows і Linux)
Існує багато сценаріїв, у яких ви можете використовувати спеціалізоване програмне забезпечення COM Port Redirector (операційні системи Linux і Windows) для віддаленого доступу до пристроїв послідовного порту. Прикладом може бути перенаправлення порту RS232 на віддалений комп’ютер через мережу, коли пряме з’єднання між ПК неможливе.
Коли вам потрібно використовувати послідовний пристрій, який підтримує протокол Telnet (RFC 2217), але фізично пристрою немає поруч із вашим ПК, ви можете під’єднатися до нього віддалено після надання до нього спільного доступу через Інтернет або локальну мережу (LAN) за допомогою професійного Serial Port Redirector.
Хочете дізнатися, як перенаправити COM-порт на TCP/IP? Нижче наведено простий покроковий посібник:
Перенаправте COM-порт на вашому локальному (серверному) комп'ютері:
1. Встановіть та запустіть застосунок COM Port Redirector. Виберіть Connection > New server connection у головному меню або натисніть Server connection у вікні Home.
2. Виберіть назву для вашого підключення.
3. Виберіть COM-порт, який потрібно надати для спільного використання віддаленим ПК-клієнтам.
4. У налаштуваннях мережі:
- Вкажіть TCP-порт, який буде використовуватися для прослуховування клієнтського підключення.
- Переконайтеся, що цей порт дозволено вашим брандмауером і він не зайнятий жодним іншим застосунком.
- Виберіть протокол для перенаправлення даних COM. Це може бути або протокол передачі необроблених даних (Raw), або протокол Telnet із розширенням RFC 2217.
5. Натисніть кнопку Створити!
6. Після того як ви це зробите, послідовний порт стає доступним для віддалених підключень клієнтів через мережу TCP/IP.
Перенаправити COM-порт на віддаленому (клієнтському) комп’ютері:
1. Запустіть програму та виберіть Підключення > Нове клієнтське підключення в головному меню.
2. Вкажіть назву створюваного підключення.
3. Виберіть, які з локальних COM-портів будуть використовуватися для підключення.
4. Увімкніть опцію Create as virtual port, щоб у вашій системі було створено віртуальний COM-порт. Цей порт імітуватиме поведінку реального COM-інтерфейсу та використовуватиметься на стороні клієнта для обміну даними з портом віддаленого сервера.
Примітка: Якщо ви вирішили використовувати віртуальний послідовний порт, ми рекомендуємо увімкнути опцію Strict baudrate emulation, щоб запобігти потенційній втраті даних під час обміну даними з реальним послідовним інтерфейсом.
5. Виберіть протокол передавання даних.
6. Введіть ім’я комп’ютера або IP-адресу сервера, до якого ви збираєтеся підключитися, і TCP-порт, який ви вибрали під час створення підключення до сервера.
7. Натисніть «Створити»!
Ось і все! Тепер клієнтський комп’ютер підключений до серверного ПК через канал TCP/IP. Це означає, що який б серійний пристрій ви не підключили до COM-порту, спільного на сервері, він з’явиться на клієнтському комп’ютері так, ніби периферійний пристрій був під’єднаний безпосередньо до цієї машини. Отже, COM Port Redirector додасть послідовні порти до вашої віддаленої машини.
Як перенаправити COM-порт Linux за допомогою ser2net
Існує також спосіб переспрямовувати COM-порти між двома Linux-машинами за допомогою безкоштовного програмного забезпечення з відкритим кодом ser2net, яке вже доступне в репозиторії. Це трохи складніше.
- Почніть із встановлення ser2net на пристрої-приймачі
apt install ser2net - Налаштуйте ser2net, додавши цей рядок до
/etc/ser2net.conf.
Вкажіть порт приймання. Також “/dev/ttyS0” можна замінити на будь-який потрібний послідовний порт.<порт приймача>:raw:400:/dev/ttyS0:57600 8DATABITS NONE 1STOPBIT - Тепер ви можете запустити ser2net без аргументів і перейти до комп’ютера-відправника. Встановіть socat:
apt install socat - Створіть каталог для розміщення віртуального пристрою, який буде пов’язаний із приймачем:
mkdir ~/dev/ttyV0 - Запустіть socat з такими аргументами:
socat pty,link=$HOME/dev/ttyV0,waitslave tcp:<IP-адреса приймача>:<порт приймача> - З’єднання можна протестувати за допомогою minicom:
minicom $HOME/dev/ttyV0 - Після відкриття minicom працюватиме як консоль і надсилатиме текст на віддалений пристрій.
Існують різні способи роботи з віддаленими послідовними портами. Один із варіантів — зіставити COM-порт на Linux-машині та переспрямувати його мережею за допомогою Serial to Ethernet Connector. Як згадувалося раніше, програмне забезпечення Electronic Team для переспрямування COM-портів можна без проблем використовувати як у Windows, так і в Linux. Тож це кращий і водночас простіший варіант для щоденного використання.