嗅探串行端口数据而不从缓冲区中删除数据

时间:2019-07-15 21:21:35

标签: python pyserial bluegiga

我正在使用bgapi库通过USB软件狗来管理蓝牙通信。该库将从我的程序中获取命令,并将通过其自己的线程中的COM端口处理所有串行通信。我想回显来自COM端口的所有数据,但是该库仅使我能够访问它选择解析的内容。

我可以进入bgapi库并更改代码的功能,设置变量或函数以返回当前正在读取的数据,但是其他人也在从事此项目,更改库可能导致更大的问题或使更新无效。

我是否有任何方法可以访问进入COM端口的数据而不干扰库,例如嗅探通过COM端口的数据而不将其移出库的缓冲区?该库使端口本身保持开放状态,并丢弃了我想查看的多余数据。

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全了解您的图书馆的工作原理,因此不确定是否可以为您工作,但是您仍然可以尝试一下。

在Windows上,您可以做的是将Termite用作端口转发的中间人。

由于您可能希望将所有内容都保留在一台计算机中,因此可以使用com0com创建几个虚拟端口。

要在Termite上激活端口转发,必须先进行设置,然后在屏幕的左下角进行转发。您会看到一个菜单,您可以在其中选择要转发到的端口。在以下屏幕截图中,我可以从COM1转发到COM2:

enter image description here

为COM1选择正确的设置后,您可以通过单击标记为COM1 57000 bps的大按钮来接受并连接...,您将看到COM1上传入的所有内容都转发到COM2并显示在控制台上。

相关问题