【发布时间】:2012-03-31 04:27:12
【问题描述】:
在工作中,我们购买了一套传感器,用于在物品通过传送带时对其进行计数。传感器的信息可通过以下协议访问:
XL 系列产品使用二进制协议进行以太网通信。 默认情况下,该协议在端口 4001 上可用。(这是 可配置的属性。)
我想编写一个 ruby 脚本来定期读取这些数据,但到目前为止,我什至还没有弄清楚如何访问这些数据。
我使用 telnet 并在 ruby 中测试了一个简单的客户端脚本,这两个都让我几乎从一开始就开始了。
有没有人可以提供帮助的信息?
【问题讨论】:
-
你能多谈谈你用 telnet 和/或 ruby 尝试过的东西吗?什么做了什么没用?您是否能够从端口获取二进制数据,或者您根本无法从端口获取任何内容?
-
我试过这个:
telnet 206.XXX.244.XXX 4001但我没有得到任何二进制数据。 -
我认为在尝试使用 ruby 进行任何操作之前,您可能希望通过简单的 telnet 测试来确认您获得了成功的响应。似乎您需要调试为什么您没有从首先在端口 4001 侦听的任何响应中得到任何响应。
-
我可以使用 telnet 连接到端口,但我不确定如何以十六进制发送命令。文档是这样说的:
Example Command + Data (in hex) Command Description Response (in hex) 10 00 05 01 Read the User Number 1 value. 02 10 00 C8 00 00 00,但我不知道如何发送这些命令... -
那么我认为您的问题可以更准确地描述为“如何使用带有 ruby(或 telnet)的二进制协议发送命令”:)