Tom*_*Tom 0 c++ tcp ethernet serial-port boost-asio
我有通过rs-232接口(超声脉冲发生器 - 接收器)控制的硬件设备.我需要编写一个程序,将命令从我的计算机发送到设备.然而,不同寻常的是,该设备没有串行端口(DB-9 COM端口),而是具有RJ45插座(以太网插座).该设备随附一个适配器,用于将设备上的以太网端口连接到串行电缆,以便与计算机进行通信.
不幸的是我的电脑没有串口 - 只有一个以太网端口.如果可能的话,我想取消适配器并使用以太网电缆将计算机直接连接到设备.这在物理上是可能的 - 但我不知道如何转换消息协议?例如,我的设备没有用于打开tcp套接字的ip地址?
到目前为止,我一直在使用Boost.asio(在Ubuntu盒子上)通过tcp套接字将消息流发送到支持tcp的其他设备.如果可能的话,我想继续使用Boost.Asio库 - 因为它是跨平台的.我真的不知道从哪里开始 - 我一直使用Boost.Asio库,它很好地隐藏了大部分协议问题.我相信这是可能的,因为有些Windows程序似乎做了类似的事情,请参阅http://com0com.sourceforge.net/
任何指导性建议都会受到欢迎.非常感谢
实际上它在物理上不起作用.它只是机械地工作.以太网使用的物理电压和电流与串行端口使用的电压和电流非常不同.不仅如此,引脚分布也不兼容.
幸运的是,以太网使用磁耦合信号,否则你会炸你的主板或超声波设备.
它不仅仅是软件协议的问题.
你不能直接这样做.您可以做的最好的事情,因为您的计算机缺少RS-232串口,是添加一个.
这可以通过USB转RS232转换器/加密狗或PCI卡轻松完成.
您不能将以太网编程为RS-232.
| 归档时间: |
|
| 查看次数: |
9104 次 |
| 最近记录: |