jSSC — Работаем с COM-портом из Java на Raspberry Pi, Orange Pi, Banana Pi и тп

jSSC (Java Simple Serial Connector) — библиотека для работы с последовательными (COM) портами ПК. Библиотека создавалась как простая и надёжная замена уже имеющимся средствам. Своё официальное, публичное начало она берёт в 2010 году и распространяется под лицензией LGPL.

С помощью jSSC можно получать имена портов, читать и писать данные, получать ивенты о произошедших событиях ну и т.д. В отличии от javax.comm, с jSSC можно управлять линиями RTS и DTR. Библиотека разрабатывалась для работы в режиме 24/7 в многопоточных системах и на данный момент успешно используется в системах автоматизации, сбора и регистрации данных.

Библиотеку можно использовать на таких платформах, как:

  • Windows x86 и x64;
  • Linux x86, x64, armhf и armsf (т.е. Raspberry Pi, Orange Pi, Banana Pi, NanoPi и тп);
  • Solaris x86 и x64;
  • Mac OS X ppc, ppc64, x86 и x64.

jSSC можно разделить на несколько основных частей:

  • SerialNativeInterface – класс, который предоставляет доступ ко всем «нативным» методам jSSC.
  • SerialPort – класс, с помощью которого мы уже будем непосредственно работать с нужным нам портом.
  • SerialPortEventListener – интерфейс, который необходимо реализовать, если мы хотим использовать ивенты.

jSSC предоставляет следующий ряд возможностей:

  • Чтение и запись данных;
  • Управление линиями RTS, DTR;
  • Получение статуса линий CTS, DSR, RING, RLSD;
  • Получение количества байт в буферах;
  • Очистка буферов порта;
  • Отправка сигнала Break;
  • Управление потоком;
  • Получение списка com-портов в системе;

Где скачать jSSC

Последнюю версию скачать можно тут, на этой странице можно найти и исходный код. На данный момент доступна версия 2.8.0: jSSC-2.8.0-Release.zip, в архиве вы найдёте файл jssc.jar, его и добавьте в свои проекты. Если вам удобнее работать в Maven, тогда можете добавить следующую зависимость:

Примеры программ с jSSC

Получение имён последовательных портов

Получить список последовательных портов очень просто с помощью метода getPortNames(). Метод возвращает массив отсортированы строк.

Проверяем код:

  1. создаём java файл и вставляем код:
  2. компилируем файл:
  3. запускаем программу:

Результат

Примеры программ с jSSC - Получение имён последовательных портов Orange Pi PC (Результат)

Запись строки

Записывать данные в последовательный порт можно при помощи следующих методов:

  • writeByte — Запись одного байта в порт;
  • writeBytes — Запись массива байтов в порт;
  • writeInt — Запись INT значение (в диапазоне от 0 до 255 (0x00 — 0xFF)) в порт;
  • writeIntArray — Запись массива int (в диапазоне от 0 до 255 (0x00 — 0xFF)) в порт;
  • writeString — Запись строки в порт;

Ниже приведённый пример кода будет запускаться на Windows 10 x64 и будет передавать привет Orange Pi PC, который и будет принимать приветы.

Чтение данных с использованием интерфейса SerialPortEventListener

Чтение данных из последовательного порта можно при помощи следующих методов:

Ниже приведённый пример кода будет запускаться на Orange Pi PC и принимать приветы, отправленные через последовательный порт. Все сообщения будут выводиться в терминал.

Проверяем код:

  1. создаём java файл и вставляем код:
  2. компилируем файл:
  3. запускаем программу:

Результат

jSSC - чтение данных с использованием интерфейса SerialPortEventListener (Результат)

Материалы

java-simple-serial-connector
Releases · scream3r/java-simple-serial-connector · GitHub
Работаем с COM-портом из Java при помощи jSSC / Хабр
Maven Repository: org.scream3r » jssc

Похожие записи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *