通过网络桥接串行端口

2024-01-31

对于使用串行端口进行通信(确切地说是 Modbus RTU)的应用程序,我需要通过网络桥接串行端口以进行测试。

所以我想要以下设置:

Device        |     Network      |      PC

SerialPort    |------------------|    SerialPort
Map Serialport|                  | Map network to Serialport
   to Network |                  |   

我已经完成了第一部分的工作socat.

我在 PC 上打开了 TCP 端口

nc -l 8080

在我的设备上我使用过

socat  pty,link=/dev/virtualcom0 tcp:PC-IP:8080

映射所有写在上面的东西/dev/virtualcom0到端口 8080 上的 PC-IP。

但现在我在将套接字映射回串行端口时遇到问题。

socat tcp:PC-IP:9123 pty,link=/dev/virtualport0

这给了我一个Connection Refused,这很明显,因为我使用了 TCP 并且该端口已被设备使用。
所以我尝试了同样的方法

socat  pty,link=/dev/virtualcom0,raw  udp:PC-IP:8080

并将其他所有内容也更改为 UDP。

但后来什么也没有到达我的/dev/virtlalcom0/在我的电脑上。


TCP 连接的一侧需要侦听端口(您启动的第一个端口),而另一侧则连接到该端口。

对于第一面,执行以下操作:

socat tcp-listen:8080 pty,link=/dev/virtualport0

对于第二面,请执行以下操作:

socat pty,link=/dev/virtualcom0 tcp:IP-of-other-machine:8080

忘记 netcat,你不需要它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过网络桥接串行端口 的相关文章

随机推荐

  • 对于单元测试来说,慢到什么程度算太慢?

    迈克尔 费瑟斯有效地处理遗留代码 第 13 14 页提到 单元测试需要 1 10 第二个运行是一个缓慢的单元测试 如果 单元测试 运行得不快 他们 不是单元测试 我可以理解为什么如果有 30 000 个测试 1 10 秒就太慢了 因为运行需
  • 如何从jqgrid中的dataurl获取行id或参数以创建动态选择列表来编辑行

    我有一个 ASP NET 网站 其 C 后端使用 Jqgrid 我希望用户能够选择网格中的项目进行编辑 可编辑的字段之一将作为下拉选择列表呈现给用户 其中仅包含对该用户有效的选项 例如 假设我有一个显示人员的网格 如果编辑 person1
  • Activity 无法设置在其范围内定义的变量?

    这让我摸不着头脑 我想知道我是否理解正确 我试图在活动中定义一个可供子活动使用的变量 父级应该能够在运行时在此变量中设置一个值 这是精简的 Parent 类 public sealed class Parent NativeActivity
  • 如何将犰狳与 Eclipse 链接

    我想将犰狳与 Eclipse 一起使用 然而 链接犰狳的所有说明都是针对 Visual Studio 给出的 现在我按照自述文件中概述的说明进行操作犰狳图书馆 http arma sourceforge net download html
  • DBus如何启动服务

    我很好奇如何为 DBus 启动自己的服务 在官方网站上 我找到了很多有关从客户端角度使用 DBus 服务的信息 但如何启动和开发服务还不够 1 接口文件ServiceName xml应该位于哪里 2 服务文件ServiceName serv
  • Firefox 扩展:取消请求并发出虚假响应

    我正在尝试开发一个 Firefox 扩展 它可以丢弃对某个站点的每个 HTTP 请求并返回一个虚假响应 任何请求都不应到达原始 Web 服务器 但我希望能够创建自定义响应 我尝试拦截 http on modify request 消息 但取
  • 基于Web服务实现快速更新行标签

    我有一个包含 7 行的表视图 周一 周二 周日 我的应用程序从 Web 服务接收一个 json 其格式为 appointments numApts 1 scheduleDate 2015 11 02 numApts 2 scheduleDa
  • C# 将 int 转换为字符串并填充零?

    在 C 中 我有一个整数值需要转换为字符串 但需要在之前添加零 例如 int i 1 当我将它转换为字符串时 它需要变成 0001 我需要了解 C 中的语法 i ToString PadLeft 4 0 好的 但不适用于负数 i ToStr
  • 如何更改 UISearchBar 字体大小和颜色?

    我已经用谷歌搜索了几个小时如何更改我的 UISearchBar 字体大小和颜色 但我无法找到任何与之相关的文档 这是我到目前为止在 swift 4 上所做的 searchBar UISearchBar frame CGRect x 0 y
  • 为什么可以在同一个类中创建的另一个线程中访问局部变量?

    我真的找不到关于这个确切主题的任何内容 所以如果问题已经存在 请引导我走向正确的方向 根据我对 NET 的了解 不可能跨不同线程访问变量 如果该语句错误 请纠正我 这只是我在某处读到的内容 然而 现在在这个代码示例中 它似乎不应该工作 cl
  • 将背景颜色设置为 HighChart xAxis 标签

    如何为 HighChart xAxis 标签设置背景颜色 我尝试了以下但没有运气 x轴 类别 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 标签 旋转 90 风格 颜色 89A54E 填写 000 背景颜色 F
  • 导航到“url”,等待“load” - Python Playwright Issue

    嘿 我在 python playwright 中有用于获取页面源代码的代码 import json import sys import bs4 import urllib parse from bs4 import BeautifulSou
  • 悬停后保持下拉菜单打开(CSS)

    我创建了一个水平菜单 当您将鼠标悬停在某个项目上时 会出现一个下拉菜单 这一切都很好 但是 当您离开菜单项 使用下拉菜单 时 下拉菜单就会消失 我知道这是因为你不再悬停它 但我该如何解决这个问题 注意 我不希望下拉菜单直接位于其下方 我希望
  • 无法在 Angularjs 中使用 templateUrl 加载模板

    我刚刚学习 Angularjs 以及如何使用 templateUrl 加载模板 我有一个简单的指令 var mainApp angular module mainApp mainApp directive request function
  • 如何将文本区域的标签对齐到顶部?

    我确实有一个表格数据 如下所示 td td
  • 空字符串而不是不匹配的组错误

    我有这段代码 for n in range 1 10 new re sub r regex group regex regex r something str n r 1 old count 1 它会抛出不匹配的组错误 但如果它不匹配 我想
  • 启用 Vuforia 时 Unity 崩溃

    在 XR 设置中启用 Vuforia 增强现实支持 时 我的编辑器崩溃 以下是我遵循的步骤 重现步骤 1 创建一个新项目 2 文件 gt 构建设置 gt 播放器设置 gt 播放器 3 从 XR 设置中启用 Vuforia 增强现实 复选框
  • 使用 matplotlib 从图中获取数据

    我在 python 中使用 matplotlib 来构建散点图 假设我有以下 2 个数据列表 X 1 2 3 4 5 Y 6 7 8 9 10 然后我使用X作为X轴值 Y作为Y轴值来绘制散点图 所以我会有一张上面有 5 个散射点的图片 对吧
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 通过网络桥接串行端口

    对于使用串行端口进行通信 确切地说是 Modbus RTU 的应用程序 我需要通过网络桥接串行端口以进行测试 所以我想要以下设置 Device Network PC SerialPort SerialPort Map Serialport