我正在使用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会发现这一点。到目前为止,我没有更好的解决方案,也许没有任何解决方案。