Мониторинг данных последовательного порта между виртуальными портами

Мониторинг данных последовательного порта между виртуальными портами

У меня возникла проблема с мониторингом данных, передаваемых между 3D-принтером и программным обеспечением по протоколу TCP.

У меня есть 3D-принтер, подключенный к Raspberry Pi с помощью кабеля USB. Я использую ser2net в rasbperry для пересылки данных последовательного порта с принтера через TCP на мой ноутбук, на котором я запускаю программное обеспечение принтера и который находится в той же сети, что и Rasperry. На моем ноутбуке я использую socat для монтирования виртуального последовательного порта (ttyACM1), который слушает данные с перенаправленного последовательного порта в rasberry. Пока что это работает довольно хорошо, и я могу использовать программное обеспечение на моем ноутбуке для удаленного использования принтера.

Но теперь у меня проблема, когда я пытаюсь отслеживать данные, которые я отправляю из программного обеспечения на принтер. Я пробовал использовать различное программное обеспечение для прослушивания данных последовательного порта, но каждый раз, когда я запускаю это программное обеспечение, оно разрывает соединение между программным обеспечением принтера и виртуальным последовательным портом.

Так как же я могу одновременно использовать программное обеспечение и прослушивать данные, которые я отправляю из программного обеспечения на принтер, не отменяя соединение между виртуальным портом и программным обеспечением?

Вот команды и программное обеспечение, которые я использую в этой настройке:

Вмалинапринтер подключен к ttyACM0

*ser2net.conf:

3333:raw:0:/dev/ttyACM0:115200,8DATABITS,NONE,1STOPBIT,XONXOFF,RTSCTS

В моемноутбук:

$sudo socat pty,raw,echo=0,link=/dev/ttyACM1 tcp:10.1.1.107:3333 (в /dev/ теперь появился ttyACM1->/dev/pts/30)

И когда я пробую, например, interceptty:

$sudo interceptty /dev/ttyACM1

для прослушивания данных при запущенном программном обеспечении принтера он сообщает, что принтер отключен. Я все еще могу читать данные с ttyACM1 с помощью interceptty. И когда я закрываю interceptty, он снова находит принтер.

Есть ли способ перехвата данных при использовании принтера?

Связанный контент