我有一个 PC 软件(操作系统:Win 64 位),它通过物理串行端口 RS232 与机器通信,我想使用 python 为该端口制作一个嗅探器。请注意,我是串口的初学者。
我已经阅读了在线发布的多个文档和问题,但其中大多数要求只使用 3rd-party 软件,但我不能这样做,因为必须将原始字节解码为字符串消息(我有自己的解码/编码方法)。
目前我有这样的设置:
/////////////////// Physical COM1 /////////////
// (PC) Software // <------------------------> // Machine //
/////////////////// /////////////
我想要一个 python 输出通过 COM1 的任何字节。
期望的行为图(虚拟串口有一个问号,因为我不确定这是否是正确的方法):
/////////////////// Physical COM1 /////////////
// (PC) Software // <------------------------> // Machine //
/////////////////// | Virtual /////////////
| serial port?
v
//////////////////
// (PC) Sniffer // (Python)
//////////////////
|
v
(output bytes)
那些知道 Advanced Serial Port Monitor 的人,它的“spymode”功能正是我试图使用 python 实现的。
我尝试使用 com0com 和 PortMon,但我找不到配置 com0com 以嗅探物理端口的方法(据我观察,com0com 仅生成虚拟端口)并且 PortMon 不支持 Windows 64 位。
我已经被困了好几天了......感谢任何评论/链接/答案。谢谢,