Как делегировать компиляцию кода на удаленную машину?

Иногда я пишу код Arduino на медленном ноутбуке с Windows, который использую для управления аппаратными проектами и 3D-печати.

Мой основной компьютер с Windows, а также мой домашний сервер с Linux расположены в другом месте, но они намного быстрее, и я хотел бы использовать их для компиляции.

Удаленный рабочий стол или его аналог нецелесообразны из-за разных разрешений экрана. Кроме того, мой основной компьютер с Windows не всегда включен, работает только сервер, но на нем не установлен графический интерфейс.

Исходники уже находятся в общей сетевой папке, и я использую внешний редактор для кода. Arduino IDE просто выполняет компиляцию и иногда загрузку (что часто можно было сделать через OTA).

Как делегировать компиляцию проектов Arduino на удаленную машину?

, 👍1

Обсуждение

Как насчет использования Arduino-CLI на сервере и вызова его через ssh?, @chrisl

И используя vi в качестве «IDE»;), @Majenko

@chrisl Я не знал об Arduino-CLI. Вы могли бы расширить и написать ответ, @FarO

Звучит немного похоже на «непрерывную интеграцию». Возможно, посмотрите на Jenkins, чтобы запустить Arduino CLI, когда он обнаружит изменения в общем ресурсе s amba. Обратите внимание, что вам также нужен какой-то способ обеспечить обратную связь, если компиляция не удалась., @Gerben


1 ответ


Лучший ответ:

0

Если у вас нет графического интерфейса, вы все равно можете компилировать и загружать скетчи с помощью интерфейса командной строки Arduino. С ним вы можете делать большинство вещей, которые вы можете делать с Arduino IDE. Я сам использую это для загрузки нового кода в Nano, который подключен к Raspberry Pi в используемом проекте.

Вы можете подключиться через ssh к удаленному серверу и позволить ему скомпилировать/загрузить скетч. Я написал простой bash-скрипт, чтобы сначала скопировать исходный код на сервер (поскольку вы используете общий сетевой ресурс, вам это не нужно), а затем запустить компиляцию и загрузку.

Примечание. Прежде чем вы сможете выполнить компиляцию с помощью интерфейса командной строки Arduino, вам необходимо загрузить правильное ядро для вашего чипа. Это описано в README связанного проекта github.

,