如何通过TCP/IP/UDP向串口发送数据?
How to send data through TCP/IP/UDP to serial port?
我PC上有一个真正的串口COM1,外加一些USB串口。我想使用 TCP/IP/UDP api 发送和接收数据,但不是串行 api (例如打开文件,或 C# 串行 api)。
我打算创建虚拟网络接口并编写一些服务来将通信数据包转移到串行端口。如何在 Windows 或 Linux 上实现此目的?是 driver 吗?还是可以在用户 space 中完成?我的计划是设置一个指定的IP地址,并使用端口0(或指定一个)进行配置,例如列出可用的串口,打开,关闭,设置波特率......并使用其他端口与其通信。
我知道有人会提到 PPP,但不要。这需要在另一侧有一个 TCP/IP 堆栈。我想和另一边的一个真正的串口设备通话。
我不确定我是否正确理解了你的问题,所以这可能是错误的。但在我看来,您需要在具有 COM 端口的计算机上使用普通用户 space TCP/IP 服务器。
服务器将绑定到您提供给它的任何 IP 地址(如果需要,您可以创建自己的虚拟接口)并使用您将在套接字上实现的某种协议让客户端访问 COM 端口。您可以让服务器侦听多个端口 - 一些用于配置,一些用于数据。
这是一个草图:
我PC上有一个真正的串口COM1,外加一些USB串口。我想使用 TCP/IP/UDP api 发送和接收数据,但不是串行 api (例如打开文件,或 C# 串行 api)。
我打算创建虚拟网络接口并编写一些服务来将通信数据包转移到串行端口。如何在 Windows 或 Linux 上实现此目的?是 driver 吗?还是可以在用户 space 中完成?我的计划是设置一个指定的IP地址,并使用端口0(或指定一个)进行配置,例如列出可用的串口,打开,关闭,设置波特率......并使用其他端口与其通信。
我知道有人会提到 PPP,但不要。这需要在另一侧有一个 TCP/IP 堆栈。我想和另一边的一个真正的串口设备通话。
我不确定我是否正确理解了你的问题,所以这可能是错误的。但在我看来,您需要在具有 COM 端口的计算机上使用普通用户 space TCP/IP 服务器。
服务器将绑定到您提供给它的任何 IP 地址(如果需要,您可以创建自己的虚拟接口)并使用您将在套接字上实现的某种协议让客户端访问 COM 端口。您可以让服务器侦听多个端口 - 一些用于配置,一些用于数据。
这是一个草图: