![监控虚拟端口之间的串口数据](https://linux22.com/image/95673/%E7%9B%91%E6%8E%A7%E8%99%9A%E6%8B%9F%E7%AB%AF%E5%8F%A3%E4%B9%8B%E9%97%B4%E7%9A%84%E4%B8%B2%E5%8F%A3%E6%95%B0%E6%8D%AE.png)
我在监控 3D 打印机和软件之间通过 TCP 传输的数据时遇到问题。
我有 3D 打印机,通过 USB 电缆连接到 Raspberry pi。我在 rasbperry 中使用 ser2net 将串行端口数据从打印机通过 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)
当我尝试例如拦截时:
$sudo interceptty /dev/ttyACM1
当打印机软件运行时嗅探数据,它表示打印机已断开连接。我仍然可以使用拦截从 ttyACM1 读取数据。当我关闭拦截时,它会再次找到打印机。
有没有办法在使用打印机时嗅探数据?