Можна використовувати комбінацію ser2net
та socat
. Наприклад, у мене є робот, підключений до малинового пі через послідовний порт. Малиновий пі підключений до моєї локальної мережі (еквівалентно вашому 2-му ПК). А мій ноутбук підключений до тієї ж локальної мережі (еквівалентний вашому 1-му ПК). Потім я використовую ser2net для пересилання послідовного порту через TCP з 2-го ПК та створення файлу послідовного проксі-пристрою, використовуючи socat
на 1-му ПК.
Ця установка може працювати і для вас. Пропоноване рішення:
Крок 1: Встановіть пакет ser2net на свій 2-й ПК (дотримуючись схему)
sudo apt-get install ser2net
ser2net прослуховує TCP-порт і може передавати дані в і з послідовного порту через порт TCP. Ви можете налаштувати, для яких послідовних портів ви хочете створити "проксі" через його файл конфігурації /etc/ser2net.conf
.
Крок 2: налаштування ser2net на 2-му ПК
Наприклад, якщо у вас є пристрій, з'єднаний /dev/ttyACM0
з baudrate 115200
і хочете його обслуговувати через порт localhost 3333, то ви можете додати наступний рядок до/etc/ser2net.conf
3333:raw:0:/dev/ttyACM0:115200,remctl
Створивши файл конфігурації, запустіть сер2net, запустивши на другому ПК:
ser2net
або (якщо воно вже працює, то просто перезапустіть його, як показано нижче)
/etc/init.d/ser2net restart
Тут важлива річ - варіант перегляду. Це дозволяє клієнтові (1-ий ПК у вашій схемі) підключитися до пристрою та вільно вибрати параметри послідовного підключення. Я думаю, що таким чином послідовне спілкування є повністю прозорим з точки зору робочої області збору даних. Детальніше дивіться тут .
Крок 3. Налаштування файлу послідовного проксі-сервера на робочій станції збору даних (1-й ПК)
(якщо у вас немає socat, тоді sudo apt-get install socat
)
Нарешті, у терміналі на 1-му ПК дозвольте socat
створити послідовний проксі-порт, який буде слухати з порту tcp:
socat pty,link=$HOME/MyProxySerialPort,waitslave tcp:$ip:$port,forever,reuseaddr,keepalive
Де, у цьому прикладі ip=<2nd-PC-IP-address>
та port=3333
(або що ви вибрали під час налаштування /etc/ser2net.conf
на 2-му ПК).
Крок 4: Підключіться до MyProxySerialPort
Тепер ви маєте змогу нормально відкрити послідовне з'єднання з пристроєм, розташованим $HOME/MyProxySerialPort
на 1-му ПК.
У цій публікації в блозі також є додаткова інформація про цю настройку: http://techtinkering.com/2013/04/02/connecting-to-a-remote-serial-port-over-tcpip/