我可以使用jssc与虚拟串行设备通信吗? ttyS0配置问题(Ubuntu)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以使用jssc与虚拟串行设备通信吗? ttyS0配置问题(Ubuntu)相关的知识,希望对你有一定的参考价值。

我正在使用jssc库。我想模仿ELM327设备,我已经找到了OBDSim(https://icculus.org/obdgpslogger/obdsim.html)。

我在拨出组。

在tty0上安装OBDSim时,简单的代码:

import jssc.SerialPort;
import jssc.SerialPortException;
import jssc.SerialPortList;

public class Main {

public static void main(String[] args) {
     String[] portNames = SerialPortList.getPortNames();
     for(int i = 0; i < portNames.length; i++){
     System.out.println(portNames[i]);
     }
}

给我空列表。在将真实设备连接到USB时,此代码为我提供:

/dev/ttyUSB0

我读到jssc正在搜索ttyUSB *和ttyS *端口,但是我无法在ttyS0上运行OBDSim。

sudo obdsim -g gui_fltk -t /dev/ttyS0

结果:

tcgetattr tty_device: Input/output error
Error creating virtual port

有任何想法吗?

答案

对于处理此类问题的任何人,这是我的提示:

您可能希望使用socat创建虚拟串行端口(PTY / PTS),然后在那里安装OBDsim(或其他工具)。然后,将此端口符号链接到ttyUSB *。 Jssc会发现这一点。到目前为止,我没有更好的解决方案,也许没有任何解决方案。

以上是关于我可以使用jssc与虚拟串行设备通信吗? ttyS0配置问题(Ubuntu)的主要内容,如果未能解决你的问题,请参考以下文章

Linux 的虚拟串行端口

终端设备与ttychvtstartx命令

Linux上的串口和USB设备有什么区别?

linux学习

如何修复 Windows 10 中的 Java rxtxSerial.dll 或 jSSC-2.7_x86_64.dll 串行端口错误?

linux初步学习