#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 для домашней автоматизации.