0

我们公司运行的一款旧软件可以管理 RFID 卡的进出以打开门。

我们想要创建一个应用程序来识别谁刚刚接触了特定的地方(我们有那个 id)并获取他们的第一个名字,在屏幕上说“Hi [NAME]”。

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

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

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

干杯,安德烈

4

2 回答 2

1

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

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

以下是您将如何进行设置:

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

您需要编写一个程序来在 COMx 和 COMy 之间传递数据,同时监视它以获取您正在寻找的信息。让它简单而健壮,因为如果它出现故障,您的读者将停止工作。

更简单的解决方案

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

于 2012-10-25T17:30:10.143 回答
1

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

或者,尝试搜索“免费串行端口监视器”或“串行嗅探器”。

祝你好运!

于 2012-10-25T17:19:21.137 回答