Могу ли я общаться с виртуальным последовательным устройством, используя jssc? Проблема с конфигурацией ttyS0 (Ubuntu) - PullRequest
0 голосов
/ 06 ноября 2018

Я работаю с библиотекой jssc. Я хочу эмулировать устройство ELM327 и уже нашел OBDSim (https://icculus.org/obdgpslogger/obdsim.html).

Я в группе дозвона.

При установке OBDSim на tty0, простой код:

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 *, но я не могу запустить OBDSim на ttyS0.

sudo obdsim -g gui_fltk -t /dev/ttyS0

результат:

tcgetattr tty_device: Input/output error
Error creating virtual port

Есть идеи?

1 Ответ

0 голосов
/ 07 ноября 2018

Для тех, кто имеет дело с такой проблемой, вот мой совет:

Возможно, вы захотите использовать socat для создания виртуального последовательного порта (PTY / PTS), а затем смонтировать там OBDsim (или другой инструмент). Затем вставьте ссылку на этот порт в ttyUSB *. Jssc найдет это. У меня пока нет лучшего решения, и, возможно, его не будет.

...