【问题标题】:Sniffing data of serial port without removing data from buffer嗅探串口数据而不从缓冲区中删除数据
【发布时间】:2019-07-16 15:53:21
【问题描述】:

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

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

有什么方法可以让我在不干扰库的情况下访问进入 COM 端口的数据,例如嗅探通过 COM 端口的数据而不将其从库的缓冲区中取出?库为自己打开端口并丢弃我想查看的额外数据。

【问题讨论】:

    标签: python pyserial bluegiga


    【解决方案1】:

    我不确定我是否完全理解您的库是如何工作的,所以我不确定这是否适合您,但您仍然可以尝试一下。

    您可以做的(在 Windows 上)使用 Termite 作为中间人进行端口转发。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      相关资源
      最近更新 更多