使用COM0COM/COM2TCP实现TCP转串口(Win10)

        最近一个需求需要使用TCP转串口的硬件模块,淘宝有卖的,其中有个所谓的精简版,要实现虚拟串口还要买他的全功能版,我研究了一下,包括许多网上下载的TCP虚拟串口互转的软件,要么不能正常使用(win10),要么是要收费的,虽然不多,但我觉得挺恶心,国内大环境如此,也可以理解吧,问题是你们都使用的国外的开源代码,却封装成了自己的赚钱的工具,有点不厚道。

在此,我把开源部分的核心使用方法提取出来,让国内需要的人们能够不花钱也可以正常使用。

1.这个开源项目com2com(名字Null-modem emulator)地址:

https://sourceforge.net/projects/com0com/

com2tcp地址:

ponticulus download | SourceForge.net

这两个开源项目的exe文件需要下载。

下载com0com得到一个压缩包内含:

Setup_com0com_v3.0.0.0_W7_x64_signed.exe

Setup_com0com_v3.0.0.0_W7_x86_signed.exe

        两个文件,根据自己的系统安装,安装过程会提示驱动程序未签名,不可用。先不管他.安装完成后可以看到该目录下有setupc.exe和setupg.exe两个文件,setupc是命令行工具,setupg是带窗口的工具,功能差不多,也可以创建和修改。

2.下载的com2tcp.exe也放到这个目录下。

 3.       现在来处理驱动程序签名的问题,win10 需要签名的驱动程序,否则不会加载,这也是许多用户无法正常使用的关键。在设备管理器里com0com项下,可以看到com0com - bus for serial port pair emulator 这个驱动被打上了惊叹号。此时右键更新驱动——自动搜索,让win10自己到microsoft的站点上去下载驱动,自动安装好,这时感叹号不见了,驱动可以运行了。 如果遇到权限问题,先解决administrators组的权限,参见:Win10注册表无法保存对权限所作的更改拒绝访问_周大侠的博客-CSDN博客_无法保存对wuauserv权限所作的更改在对系统的安全控制得越来越多的情况下,要对注册表的关键数据进行修改是件挺麻烦的事,时不时会弹出无法保存对xxxxxx权限所作的更改,拒绝访问,操作产生错误,操作出现错误的提示,这时怎么办呢?这里就最近出现的Win10升级后回收站没B的情况,先做一个前期准备,后续将陆续发表相关解决方法。那么Win10注册表提示无法保存对xx权限所作的更改拒绝访问怎么办呢?方法/步骤这里以对回收站的CLSID进行权限修改做为演示,在打开注册表编辑器后,进入需要操作的路径,对权限进行操作,目标是https://blog.csdn.net/qq_37674858/article/details/107876060?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163583334916780264029137%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163583334916780264029137&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-24.在确保驱动加载正常的情况下继续下面操作:

        上述的安装完成后一般会产生2个虚拟串口对。比如COM10,COM11 ,如果使用串口调试工具,你可以打开这两个串口的任何一个。

打开setupg,将看到COM10和COM11这两个串口对,修改:COM11改为:CNCA0,同时 去掉use Ports class的复选,另一侧COM10 use Ports class 一定要复选,这样才能在端口里映射出COM10 ;设置完成后点apply,此时刷新设备管理器,看到端口里只剩下com10;这就是我们要在软件中使用的端口了。

使用COM0COM/COM2TCP实现TCP转串口(Win10)_第1张图片

 

5.接下来是TCP的连接,打开命令行,进入到com0com的文件夹下。运行com2tcp(见步骤2),可以看到帮助信息,运行:

com2tcp --telnet \\.\CNCA0  192.168.0.2  5000    其中192.168.0.2 是服务器的地址,5000是端口号

可以将上述字符保存到bat文件中运行使用 

回车后可以看到创建链路成功;此时使用串口调试工具,打开com10,发送的数将被送往tcp服务器

使用COM0COM/COM2TCP实现TCP转串口(Win10)_第2张图片

 

我这里的服务器实际上是网上买的tcp转串口的模块,精简版,可以正常使用。这边软件使用虚拟串口发送,另一端是真实的串口发出数据到其他设备上,由于使用了TCP,大大增加了传输距离,也可以实现远程管理

结束。

你可能感兴趣的:(单片机开发,tcp/ip,网络,网络协议)