串口转tcp软件_tcp转虚拟串口软件

串口转tcp软件_tcp转虚拟串口软件由于项目调试需求,代码在远程服务器的虚拟机上,在本地计算机通过串口连接需要对接的设备,在远程服务器的上位机程序需要和此设备进行对接,系统结构如图1所示。图1系统网络结构图如何将本地的串口共享给远程服务器上的虚拟机里面的上位机程序呢?远程服务器开启了内网穿透,使用的SAKURAFRP,感兴趣的可以自己摸索下,很好用的。我直接穿透的远程桌面,而远程桌面可以将本地计算机的串口共享到远程服务器,如图2所示:图2通过远程桌面共享端口假设本地计算机的串口如图3所示,经过远程桌面共享后在远程


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

由于项目调试需求,代码在远程服务器的虚拟机上,在本地计算机通过串口连接需要对接的设备,在远程服务器的上位机程序需要和此设备进行对接,系统结构如图1所示。

串口转tcp软件_tcp转虚拟串口软件

图1 系统网络结构图

如何将本地的串口共享给远程服务器上的虚拟机里面的上位机程序呢?远程服务器开启了内网穿透,使用的SAKURA FRP,感兴趣的可以自己摸索下,很好用的。我直接穿透的远程桌面,而远程桌面可以将本地计算机的串口共享到远程服务器,如图2所示:

串口转tcp软件_tcp转虚拟串口软件

图2 通过远程桌面共享端口

假设本地计算机的串口如图3所示,经过远程桌面共享后在远程服务器上就会多出一些串口出来,表示的就是本地计算机共享过来的串口,串口号一般和本地计算机的相同,但是在远程服务器的设备管理器中是显示不出来共享过来的串口的,用串口调试助手等软件可以看到,如图4所示。

串口转tcp软件_tcp转虚拟串口软件

图3 本地计算机的串口

串口转tcp软件_tcp转虚拟串口软件

图4 本地计算机串口映射到远程服务器后的串口

现在差最后一步,将远程服务器的串口共享给虚拟机就可以了,用的是VMWare虚拟机,通过给虚拟机添加串口就可以实现,设置如图5所示。

串口转tcp软件_tcp转虚拟串口软件

图5 虚拟机共享串口

但在实际使用的过程中发现虚拟机中的上位机并不能很好的和设备连接,可能是速度的问题或者是数据流转换的问题,总之不成功。但直接放到远程服务器上运行上位机是可以的(不在虚拟机上运行上位机),由于上位机开发环境在虚拟机上,还需要想想办法将远程服务器上的串口共享给虚拟机。

开始查找是否有满足要求的工具软件,其中用的较多的是将串口转换成网络数据,到目的地后再将网络数据转为串口。其中有人科技的工具可以建立一个虚拟串口和网络端口的映射,很方便,如图6所示。

串口转tcp软件_tcp转虚拟串口软件

图6 有人的虚拟串口软件

用有人的这个虚拟串口软件,我在虚拟机上就可以很方面的搭建一个虚拟串口,只要在远程服务器上搭建一个物理串口到虚拟机TCP8222端口的透明TCP连接就可以了,但有人的不支持物理串口转发,还需要查找串口到TCP服务器的转发软件才可以。

经过搜索,这个网页Best Serial to Ethernet solutions on the market列出了可选的方案,Serial to Ethernet Connector是用的比较多的,因此下载测试了一下,用其他串口,包括虚拟串口Serial to Ethernet Connector都能正常工作,但是对于这样远程桌面共享过来的串口却怎么都打不开,如图7所示。

串口转tcp软件_tcp转虚拟串口软件

图7 共享过来的串口无法打开使用

正常的是能直接打开的,如图8所示。

串口转tcp软件_tcp转虚拟串口软件

图8 其他串口是可以打开使用的

而且Serial to Ethernet Connector不是免费的哦。

推荐的第2个TCP-Com,第3个Network Serial Port Kit,网站打不开,从其他地方也下载不下来,只得作罢。

第4个SERIAL-TCP/IP还可以,网站能打开,并下载安装使用了,刚开始测试效果还可以,但当发一些十六进制数时,SERIAL-TCP/IP出现了传输错误,比如发送FF A5 03 04 07,SERIAL-TCP/IP转发过来就变为: FF 3F 04 07,猜测这可能是SERIAL-TCP/IP内存处理字符串的小Bug,如图9所示。另外,SERIAL-TCP/IP还有个小不足,检测不到虚拟串口,只能打开物理串口。

串口转tcp软件_tcp转虚拟串口软件

图9 SERIAL-TCP/IP转发出现错误

后面2个也是打开费劲,也没有认真去测。

为了更好地满足调试应用,自己就动手写了一个串口转TCP的小程序,基本特征如下:

1、支持打开物理串口和虚拟串口(不创建虚拟串口,但能打开其他工具创建的虚拟串口)。

2、支持通过TCP客户端连接到远程TCP服务器。

3、支持TCP客户端自动重连,并可配置重连周期。

4、支持TCP服务端监听,支持接入一个TCP连接,不支持多个TCP连接同时接入。

5、支持日志跟踪功能。

6、支持日志自动清空功能,并能配置。

7、支持日志暂停显示功能。

8、支持通信计数功能。

9、支持通信计数手动清零功能。

10、支持配置自动保存功能,软件下次启动自动加载上次配置。

软件名字暂定为TCP2Com,界面如图10所示:

串口转tcp软件_tcp转虚拟串口软件

图10 TCP2Com界面

如果需要可以通过下面的链接下载最新版本:

TCP2Com-标签版V1.2.7.1免费好用的串口转TCP工具-嵌入式文档类资源-CSDN下载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196955.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring Bean生命周期详解「建议收藏」

    Spring Bean生命周期详解「建议收藏」SpringBean生命周期详解

    2022年9月19日
  • Squid代理服务器(一)——大家所用的游戏代理软件到底为何物?

    Squid代理服务器(一)——大家所用的游戏代理软件到底为何物?一、代理服务器应用场景分析想当年大学时候宿舍控制网速,苦了我们这帮魔兽党,一到晚上工会活动我们就得和全校上万名学生抢网速,作为坦克的我总是因为网速问题导致团灭,咱也是有自尊的人,一怒之下花300元办

    2022年8月5日
  • C++和Java怎么选择,哪个更好找工作?「建议收藏」

    C++和Java怎么选择,哪个更好找工作?「建议收藏」Java和C++各有各的优势,至于选择什么方向要看你的兴趣爱好,只要你基础扎实我相信找工作都不难,而且语言都是相通的。从两者语言入门来说:Java入门相对简单,C++入门相对难,精通更难!从学习侧重来说:Java侧重于企业级应用开发,C++则注重底层应用开发。从就业来说:C++前期工资要高,工作机会少。Java招聘多,工作机会多。从前景来说:Java、C++长期在编程排行榜前几位,所以学习哪个都可以。从未来来说:无论你学习Java还是学习C++,只要有多年的经验,工资都会高,不过在工作期

    2022年7月17日
  • Torando源码解析之XSRF防护的实现

    Torando源码解析之XSRF防护的实现Torando源码解析之XSRF防护的实现Torando源码解析之XSRF防护的实现Tornado开启XSRF防护的方法源码解析xsrf_form_html()是什么self.xsrf_token是什么Tornado开启XSRF防护的方法http://tornado-zh.readthedocs.io/zh/latest/guide/security.ht…

    2022年5月12日
  • 一个线程有几个threadlocal_thread线程

    一个线程有几个threadlocal_thread线程基本概念程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。进程是由程序、数据和进程控制块三部分组成的。进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己…

    2022年10月23日
  • Leetcode 5:最长回文子串(最详细的解法!!!)[通俗易懂]

    Leetcode 5:最长回文子串(最详细的解法!!!)[通俗易懂]给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。示例1:输入:"babad"输出:"bab"注意:"aba"也是一个有效答案。示例2:输入:"cbbd"输出:"bb"解题思路首先最简单的做法就是暴力解法,通过二重循环确定子串的范围,然后

    2022年5月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号