Пример кода и документации по использованию коммуникации Firmata в нативной Java

Я уже некоторое время пытаюсь получить документацию по использованию Java и клиентской библиотеки Firmata для связи между ПК и Arduino. Обратите внимание, что я хочу использовать только Java, т. е. не Processing.

До сих пор я использовал великолепную библиотеку Haskell hArduino для связи Firmata с платами Arduino.

Сейчас я преподаю курс Java в университете как аспирант. Поэтому мне нужно использовать Java. Однако, по сравнению с Haskell, здесь нет централизованных библиотек, пакетов, документации, как в Haskell.

Поэтому я использовал Google, чтобы найти больше информации об использовании клиентских библиотек Firmata для Java. К сожалению, результаты поиска засорены нерелевантными результатами по Processing и Javascript. Поэтому я спрашиваю здесь.

Согласно странице клиентской библиотеки Firmata, существует две клиентские библиотеки Java. Однако только 4ntoine, похоже, актуальна, а проект Javarduino, похоже, заброшен.

Поэтому я думаю, что стандартный способ — использовать клиентскую библиотеку Java "4ntoine". Или есть другие варианты?

(Меня не интересует обработка или Javascript.)

Вопрос: Где я могу найти актуальную документацию и примеры кода по использованию клиентских библиотек Firmata для Java?

, 👍2


2 ответа


0

Возможно, JArduino сможет предоставить вам полезную информацию. Проверьте собственный код в jardunio.core.

,

1

Возможно, это вам подойдет. Несколько месяцев назад я использовал библиотеку RXTXcomm [1] для отправки данных Arduino в программу, которую я написал на Java, и сохранения их в файле. Она работает нормально, но есть некоторые проблемы:

  • Я создал программу Java в Linux, но она работает только в Java 6, поэтому на ПК клиента с Windows я установил эту версию. Я не знаю, работает ли она с Java7 или Java8 в Windows.
  • Программа Java считывает данные из скетча Arduino с помощью функции Serial.print(). Arduino постоянно использует эту функцию. Я теряю некоторые данные, поэтому мне пришлось вставить небольшую задержку, чтобы программа Java получила все данные, отправленные Arduino.

[1] http://rxtx.qbang.org/wiki/index.php/Главная_страница

,