分析COM1活动的应用程序

时间:2012-10-25 12:09:23

标签: serial-port

我们公司运行的旧软件管理RFID卡进出开门。

我们希望创建一个应用程序,用于识别刚刚触及特定位置的人(我们拥有该ID)并获取他们的名字,在屏幕上显示“Hi [NAME]”。

正如我所提到的,该软件很老,没有API。它通过串行端口(COM1)与RFID硬件通信。

我想知道获取所需数据的最佳方法是以某种方式拦截COM1流量并提取/查找我想要的数据。

听起来这是最好的方法吗?它会起作用,还是不可能从传输的数据中获取名称和数字?

干杯, 安德烈

2 个答案:

答案 0 :(得分:1)

通常情况下,您可以查看RS232信号,如果这是您想要的方式。这很棘手,因为你需要“嗅”信号,这意味着购买或制作一个允许原始信号通过的装备,然后给你一种方法来附加它们。并且,您需要将发送和接收信号发送到两个串行端口(在RX线上)。然后你可能想要一些“嗅探”软件,它可以让你按时间顺序查看你得到的东西(理想情况下,带有时间戳)。一些可爱的协议也将使用调制解调器线路,因此您可能还需要监控它们。

或者,尝试搜索“free serial port monitor”或“serial sniffer”。

祝你好运!

答案 1 :(得分:1)

您是否可以将软件配置为使用COM1以外的端口,或者配置硬件以使其物理串行端口分配给不同的COM端口?

如果是这样,请查看com0com。它是一个Windows驱动程序,它在您的PC上创建两个COM端口,它们之间有一个虚拟的NULL调制解调器。一方面的数据出现在另一方面。

以下是您将如何设置的方法:

  • 连接到物理COM端口(COMx)的RFID阅读器
  • 您的程序将COMx桥接到COMy并嗅探流量
  • com0com将COMy(针对您的程序)链接到虚拟COM1(针对旧版软件)
  • 传统软件

您需要编写一个程序来在COMx和COMy之间传递数据,同时监控它以查找您正在寻找的信息。简单而强大,因为如果它失败,你的读者就会停止工作。

更简单的解决方案

如果您只需要监控通信的一侧,请创建一条电缆,将COM1的GND和RX引脚连接到另一个COM端口。现在,您的程序可以监控对话的那一面,而不会干扰旧版软件。