
У меня возникла проблема с мониторингом данных, передаваемых между 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, он снова находит принтер.
Есть ли способ перехвата данных при использовании принтера?