首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于TCP的linux虚拟串口

基于TCP的linux虚拟串口
EN

Stack Overflow用户
提问于 2014-02-04 21:23:52
回答 1查看 2.8K关注 0票数 0

使用虚拟串口仿真程序我可以

  • 创建虚拟串口连接器
  • 选择一个端口,例如连接器的COM35
  • 创建TCP-服务器
  • 将先前创建的虚拟串行端口分配给服务器。

然后,客户端可以通过知道ip地址、tcp端口和虚拟串口的名称来建立到tcp服务器的流连接。

在上面的示例中,我创建了一个MICRO_Test应用程序(c++),它只需连接到虚拟串口。当我将数据写入这个端口时,所有客户端都会接收到它。

您可以在上面的图像中的日志中看到它。

虽然这是在windows上进行的,但是是否有一种方法可以在linux计算机上实现一些类似的行为呢?

总括而言:

代码语言:javascript
复制
Some binary code (as interface for e.g. webservices)
                    |
                    |
                    | [send/receive via virtual com port]
                    |
                    |
TCP Server & COM connector (multiple instances possible with different ports)
       |          |          |
       |          |          |
       |          |          |
    Client 1   Client 2   Client X

客户端从其真实的com端口读取物理数据,并通过tcp流将数据发送到服务器。

对于linux,我读了很多关于socat、tty和ser2net的文章。但是,我无法真正了解如何在linux上实现上述架构?你能帮我提供一些信息吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-04 21:32:29

理论上,您可以在PySerial包中使用Python。它可以处理COM端口、RFC2217 (ser2net)和TCP连接(socat)。

例如,您可以使用真正的硬件在所有客户机上启动socat,并通过Python连接到它们。

此语句打开原始套接字:

代码语言:javascript
复制
tcp_con = serial.serial_for_url('socket://<my_ip>:<my_port>')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21563751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档