Связь через последовательный порт с использованием Java и RXTX в Eclipse

Чтобы написать Java-приложение для связи с устройствами с последовательным портом в среде Windows, просмотр в Google, похоже, отвлекает во многих направлениях, а также увлекается некоторыми сторонними библиотеками инструментов, такими как RXTX JavaComm. При попытке с примерами кодов RXTX, используя Eclipse Reference.

Никакие последовательные порты не отображались в выводе, просто пусто

Выход:

Стабильная библиотека

Собственная версия lib = RXTX-2.1-7

Версия Java lib = RXTX-2.1-7

Какую ошибку я сделал?

Дайте мне знать, что этот подход лучше или предложить мне лучшее решение?

Пожалуйста, дайте мне знать альтернативы для этой проблемы, я хочу общаться с устройством через последовательный порт, используя Java, данные будут отправлены с устройства, и они должны быть записаны в файлы.

заранее спасибо

1 ответ

Решение

Если связанный пример терпит неудачу, это означает, что RXTX не обнаружил никаких последовательных портов на вашем компьютере. У вас может быть последовательный порт на вашем компьютере, но одна из причин, по которой он не распознается вашей операционной системой, может заключаться в том, что он на самом деле является адаптером последовательного интерфейса к USB и распознается как порт USB.

Если вы работаете в Linux, последовательные порты обычно выглядят так:

ls /dev/ttyS*

выходы:

/dev/ttyS0
/dev/ttyS1
/dev/ttyS2

адаптированный порт может выглядеть так:

/dev/ttyUSB0

Если вы видите какой-либо вывод на вашем последовательном подключенном устройстве (например, POS-принтер или ЖК-дисплей), вы можете проверить его следующим образом:

echo 'hello' > /dev/ttyUSB0

и устройство должно показать строку "привет", если оно подключено к этому порту, и все работает правильно.

Тем не менее, я бы определенно порекомендовал бы Java простую библиотеку последовательных соединителей через RxTx. Мы попробовали оба в коммерческом приложении POS (>1 миллион билетов в это время).

RxTx успешно используется для последовательной печати. В сценарии печати библиотека RxTx вызывается последовательно и используется только для отправки данных в порт. Только некоторые серийные флаги были отмечены красным цветом для обнаружения устройства.

Но из-за его ограничений мы просто не могли использовать его для чтения входных данных от последовательно подключенного IButton. В сценарии iButton ожидается, что данные будут получены асинхронно от порта. Были постоянные ошибки и зависания, когда мы пытались реализовать его с помощью RxTx, но с JSSC это было реализовано практически сразу.

Другие вопросы по тегам