Как делегировать компиляцию кода на удаленную машину?
Иногда я пишу код Arduino на медленном ноутбуке с Windows, который использую для управления аппаратными проектами и 3D-печати.
Мой основной компьютер с Windows, а также мой домашний сервер с Linux расположены в другом месте, но они намного быстрее, и я хотел бы использовать их для компиляции.
Удаленный рабочий стол или его аналог нецелесообразны из-за разных разрешений экрана. Кроме того, мой основной компьютер с Windows не всегда включен, работает только сервер, но на нем не установлен графический интерфейс.
Исходники уже находятся в общей сетевой папке, и я использую внешний редактор для кода. Arduino IDE просто выполняет компиляцию и иногда загрузку (что часто можно было сделать через OTA).
Как делегировать компиляцию проектов Arduino на удаленную машину?
@FarO, 👍1
Обсуждение1 ответ
Лучший ответ:
Если у вас нет графического интерфейса, вы все равно можете компилировать и загружать скетчи с помощью интерфейса командной строки Arduino. С ним вы можете делать большинство вещей, которые вы можете делать с Arduino IDE. Я сам использую это для загрузки нового кода в Nano, который подключен к Raspberry Pi в используемом проекте.
Вы можете подключиться через ssh к удаленному серверу и позволить ему скомпилировать/загрузить скетч. Я написал простой bash-скрипт, чтобы сначала скопировать исходный код на сервер (поскольку вы используете общий сетевой ресурс, вам это не нужно), а затем запустить компиляцию и загрузку.
Примечание. Прежде чем вы сможете выполнить компиляцию с помощью интерфейса командной строки Arduino, вам необходимо загрузить правильное ядро для вашего чипа. Это описано в README связанного проекта github.
- Как загрузить уже скомпилированный код, когда никаких изменений не производилось?
- ESP32 в Arduino IDE: определите тип платы в коде (макрос препроцессора)
- Что мне делать с StackOverflow при ошибке компиляции?
- Как заставить Arduino IDE использовать определенную версию GCC в Debian?
- Как иметь в проекте код, который не будет компилироваться для Arduino?
- Условная компиляция в зависимости от sizeof(double)
- Беспричинное создание `Serial`, почему?
- В чем разница между Tools > Board settings в Arduino IDE? пример: ESP32-Dev против Huzzah32
Как насчет использования Arduino-CLI на сервере и вызова его через ssh?, @chrisl
И используя
vi
в качестве «IDE»;), @Majenko@chrisl Я не знал об Arduino-CLI. Вы могли бы расширить и написать ответ, @FarO
Звучит немного похоже на «непрерывную интеграцию». Возможно, посмотрите на Jenkins, чтобы запустить Arduino CLI, когда он обнаружит изменения в общем ресурсе s amba. Обратите внимание, что вам также нужен какой-то способ обеспечить обратную связь, если компиляция не удалась., @Gerben