Общение с Arduino из Scala

#scala #processing #arduino

#scala #обработка #arduino

Вопрос:

Существует ли стандартный способ управления Arduino из Scala? Если нет, я заинтересован в совместном взломе, но не уверен, с чего мне следует начать. Библиотека Firmata казалась подходящим вариантом, но там нет интерфейса Java или Scala. SPDE поддерживает обработку довольно хорошо, но я не вижу там функциональности Arduino. У меня также есть несколько фрагментов кода примера Java<-> Arduino, извлеченных из Arduino playground и других источников, но ничего всеобъемлющего.

Если кто-нибудь знает способ сделать это на Scala или обычной Java (я могу просто обернуть это в Scala), или у него есть предложения по развертыванию моего собственного интерфейса, я хотел бы услышать об этом.

Спасибо.

Ответ №1:

Для обмена данными между последовательными портами ПК и arduino можно использовать любой язык программирования, при условии, что программы, запущенные на обеих сторонах, могут осмысливать обмен данными.RxTX — это библиотека Java для обмена данными через последовательный порт.Надеюсь, это поможет.

Комментарии:

1. Я понимаю… итак, в дополнение к использованию RXTX в качестве уровня связи мне нужно придумать протокол, которого могли бы придерживаться обе стороны. Спасибо за разъяснение этого. Я все еще надеюсь, что эту проблему кто-то уже решил…

2. да, простым началом было бы отправить один байт с ПК. В зависимости от значения полученного байта, arduino может выполнять разные действия (скажем, переключать строку GPIO). Как вы сказали, затем вы можете перейти к определению полного пакета протокола с необходимым заголовком, данными и контрольной суммой и т.д.

Ответ №2:

Возможно, вы захотите ознакомиться с apache MINA, который обеспечивает некоторую приятную оболочку вокруг библиотек RXTX и предлагает API, дружественный к идиоматическому Scala.

Я уже добился некоторого успеха с помощью этого подхода при управлении контроллером X10 для домашней автоматизации.