【问题标题】:How to connect two virtual serial ports to read data from GPSFeed+?如何连接两个虚拟串口从 GPSFeed+ 读取数据?
【发布时间】:2020-11-12 22:15:06
【问题描述】:

最近我下载了gpsfeed+文件,我设置了可执行属性并运行它(操作系统:Manjaro):

$ ./gpsfeed+_amd64\

我正在尝试列出通过 Dart 程序连接的所有端口(代码 here 使用包 dart_serial_port),但它没有列出任何内容。我假设这是因为虚拟串口没有连接,但我不知道如何得到这个。有一个类似com0com 的程序,但它只能在 Windows 上运行。

有什么推荐吗?还有像gpsfeed这样的模拟器吗?

PS: gpsfeed+ 配置为使用 COM3(协议 RS-232)工作。

【问题讨论】:

    标签: linux dart connection simulator virtual-serial-port


    【解决方案1】:

    步骤

    $ chomod +x gpsfeed+_amd64
    
    • 安装socat包:
    $ sudo pacman -S socat
    
    • 使用socat 创建一对虚拟串行端口 (VSP):
    $ socat -d -d pty,raw,echo=0 pty,raw,echo=0
    
    • 它显示创建的虚拟端口,在本例中为:/dev/pts/4/dev/pts/5。一个端口将是发送器,另一个端口将是接收器
    • 打开gpsfeed+ 应用程序:
    $ ./gpsfeed+_amd64\
    
    • 配置中为gpsfeed+做:
    1. Connection >> 勾选:Serial,取消勾选:TCP、UDP、Http
    2. 串口/IP >> 端口:/dev/pts/4发射机),速度:9600
    • 运行模拟器(以同心圆为图标的按钮)
    • /dev/pts/5receiver)读取数据

    Python代码(安装pyserial包):

    import serial
    
    ser = serial.Serial('/dev/pts/5', 9600)
    iter = 5
    
    while iter > 0:
      print(ser.readline().decode("utf-8"))
      iter -= 1
    

    Dart 的极少数现有软件包(如 dart_serial_port)不适用于虚拟端口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-02
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      相关资源
      最近更新 更多