Используем Sublime Text 3 в качестве IDE для Arduino

Sublime Text + Arduino

В течении последних нескольких месяцев появилось сразу несколько обновлений Arduino IDE, но пока родная интегрированная среда разработки Arduino по своим функциональным возможностям еще очень сильно уступает возможностям полноценных текстовых редакторов и IDE. Одним из основных критериев выбора лично для меня является кроссплатформенность ПО. Рассмотрев несколько вариантов редакторов на возможность работы с Arduino, я остановил свой выбор на текстовом редакторе Sublime Text, который обладает широкими возможностями по работе с кодом, а при установке дополнительного плагина позволяет компилировать и загружать код в Arduino.

 

Sublime Text

Sublime Text является условно бесплатным текстовым редактором. Отличием бесплатной версии от купленной за 70$ является надпись UNREGISTRED в области заголовка, а также периодическое напоминание в виде всплывающего окошка о возможности купить этот редактор.

Загрузить установочные файлы для Windows, Linux или Mac OS можно с официального сайта.

Этот редактор обладает следующими возможностями:

  • Настраиваемая подсветка синтаксиса
  • Автодополнение кода. При наборе текста, в зависимости от используемого языка, предлагаются различные варианты для завершения записи. Автоматически завершаются переменные, созданные пользователем.
  • Контроль соответствия скобок
  • Работа с блоками кода
  • Редактирование в нескольких панелях
  • Поиск и замена, основанные на регулярных выражениях
  • Предварительный просмотр полного исходного кода (миникарта). Пользователи видят весь свой код в правом верхнем углу экрана и при клике на него могут переходить на различные его части.
  • Автосохранение
  • Поддержка макросов и плагинов на языке программирования Python
  • Встроенная поддержка множества языков программирования: C, C++, C#, CSS, D, Dylan, Erlang, GoHTML, Groovy, Haskell, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, MATLAB, OCaml, Perl, PHP, Python, R, Ruby, SQL, TCL и XML
  • Возможно загружать дополнения для поддержки дополнительных языков
  • 22 визуальные темы с возможностью загружать дополнительные

В общем, возможностей по работе с кодом уйма.
 

Stino

Для того, чтобы у нас появилась возможность работать с Arduino, необходимо установить дополнительный плагин под названием Stino. Плагин разработан неким Dr.Robot Will. Скачать его можно с репозитория GitHub или по ссылке:

 

Stino
Stino
Stino-new-stino.zip
152.6 KiB
1000 Downloads
Details

Для установки:

  • Запускаем Sublime Text
  • Меню Sublime TextPreferencesBrowse Packages...
  • Распаковываем в открывшуюся папку полученный файл Stino-new-stino.zip

После этого у нас появится новый раздел меню Arduino:

Меню Arduino в Sublime Text 3

Плагин Stino использует компилятор, библиотеки и другие свойства Arduino IDE, а не заменяет ее. Поэтому на компьютере все равно должны быть установлена Arduino IDE. С версиями Arduino IDE 1.6.3 и Arduino IDE 1.6.2 этот плагин работать отказался. Самой свежей работоспособной версией совместно со Stino оказалась Arduino IDE 1.6.1. Устанавливаем Arduino IDE 1.6.1 и переходим к настройке плагина.

Изменим язык на русский. В Sublime Text переходим в меню: ArduinoLanguageрусский язык (Russian). Меню Arduino теперь русифицировалось.

Следующим шагом нам нужно указать путь к приложению Arduino IDE. Выбираем ArduinoДокументацияВыбор папки с Ардуино.

Выбираем папку c Arduino IDE

И указываем путь к приложению Arduino IDE версии 1.6.1.

Путь к Arduino IDE 1.6.1

После этого, мы увидим сообщение о том, что приложение найдено:

Сообщение Sublime Text о найденной Arduino IDE

Аналогично укажем папку, в которой хранятся наши рабочие скетчи: ArduinoДокументацияВыбрать папку Sketchbook.

Теперь нам нужно выбрать используемую плату в меню ArduinoBoard:

Выбираем плату

и порт, к которому она подключена:

Выбираем порт

Для проверки работоспособности загрузим скетч из примеров:

Загружаем тестовый скетч

Скомпилируем его:

Компиляция тестового скетча в Sublime Text + Stino

Обратите внимание на сообщения в нижней части экрана. Если все нормально — ошибки должны отсутствовать. При попытке скомпилировать код, используя Arduino IDE 1.6.3 я получал сообщения об ошибке. Проблему решить так и не смог, поэтому пока использую версию Arduino IDE 1.6.1.

Сообщение об ошибке при использовании Sublime Text и Arduino IDE 1.6.3

Если ошибок нет, то загружаем скомпилированный код в микроконтроллер:

Загрузка кода в микроконтроллер

Ошибок у меня в процессе загрузки не возникло.

Светодиод мигает. Дело сделано.

 
Как вы оцениваете эту публикацию? 1 звезда2 звезды3 звезды4 звезды5 звезд (13 голосов, средняя оценка: 4.69 из 5)
Loading ... Loading ...

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

19 комментариев к записи “Используем Sublime Text 3 в качестве IDE для Arduino”

  1. Андрей Алексеенко пишет:

    Так же есть русификатор для Sublime Text который я сейчас испытываю ...

    Изначально хотел попробовать на английском, но глаза просто разбегаются,ничего не могу найти и понять что бы по максимум настроить под себя...

    Для тех кто тоже испытывает такие трудности- dimox.name/sublime-text-russian-menu/ инструкция там есть.

  2. str пишет:

    Настроил для работы с IDE 1.6.5. Для того, чтобы заработала компиляция, нужно изменить в меню Arduino -> Build options -> Select Build Folder (или через Alt-C, Alt-B) путь к папке покороче, по умолчанию он слишком длинный, потому и не компилирует. У меня прокатил вариант D:\Arduino\tmp.

  3. str пишет:

    Отличия, конечно, огромные. Программировать гораздо удобнее. Но вот со стабильностью — беда... У меня, например, из папки Packages постоянно пропадает папка Stino. Лечится восстановлением из архива — но, блин, на каждый запуск 2-3 раза надо залезть и проконтролировать, иначе все функции arduino, в т.ч. компиляция, отрубаются. Так они у меня и открыты параллельно, редактор и папка. Хоть автоматизацию какую-то пиши, папочку проверять и восстанавливать... Никто с такой бедой не сталкивался?

    • Эдгар пишет:

      Мне помогло удаление файла package-metadata.json в папке плагина, который конфликтовал с Package Control и принудительно менял версию плагина на старую из своего репозитория

  4. netbuy пишет:

    на github.com/Robot-Will/Stino

    описана процедура установки не скачивая файл расширения

    краткая выдержка

    Package Control: Add Repository

    вставить ссылку на репозиторий

    https://github.com/gepd/Stino/tree/new-stino

    затем в Package Control: Install Package

    найти и установить Stino

    Arduino 1.6.6

    можно заставить работать в связке с SublimeText + Stino

    переименовав файл platform.txt в любое другое имя, например platform.problem, перезапустить SublimeText, затем снова переименовать файл в platform.txt и снова перезапустить SublimeText

    github.com/Robot-Will/Stino/issues/315

    • Дмитрий пишет:

      Спасибо. С Arduino 1.6.7, и Stino вылетал при перезапуске, и ошибку выдавал, но после манипуляций по этим советам, всё заработало!

    • Андрей Алексеенко пишет:

      Привет!

      А не подскажешь где эта вкладка есть в сублиме?

      Package Control: Add Repository

      Не могу понять что делать...

  5. Дмитрий пишет:

    Может кто-то еще знает, как плагин Sublime Linter настроить? Чтоб ошибки на лету подсвечивал.

  6. Вячеслав пишет:

    Друзья, я чо то не догоняю

    в Меню Ардуино не доступны опции компиляции и загрузки скетча.

    Пути вроде прописал, порт выбрал.

    А дальше не знаю куды бечь.

    Помогите, чем можете...

  7. Vyacheslav пишет:

    Пытаюсь побороть проблему.

    Стояла Ардуино 1.7.8 не были доступны опции меню компиляции и загрузки скетча.

    Потавил последнюю версию Ардуино 1.6.8

    Опции меню компиляции и загрузки скетча стали доступны.

    Но при попытке выполнить компиляцию или загрузки скетча пишет:

    avr-gcc: error: C:/Users/zzz/AppData/Local/Temp/Stino_build/Blink/core.a: No such file or directory

    [Stino - Exit with error code 1.]

    И че теперь делать ума не приложу...

    Может кто сталкивался?

  8. Vyacheslav пишет:

    Уря! Победил!

    Откатился к версии arduino-1.6.1

    Пришлось скормить Stino-new-stino, а Stino-ST4ArduinoIDE работать не хочет.

  9. Vyacheslav пишет:

    Добрый день, друзья!

    Сегодня вышел очередной релиз arduino-1.6.9, так с ней удалось связать Sublime Text 3.

    Проверил на примерах Blink и Fade.

    Компилирует и заливает скетч в клон Arduino Uno на УРА!

  10. Дмитрий пишет:

    А никто не замечал, что у Stino проблемы, когда какие-то библиотеки ссылаются на другие библиотеки? Скажем «LCD_1602_RUS.h» использует для своей

  11. Дмитрий пишет:

    работы «LiquidCrystal_I2C.h». «LiquidCrystal_I2C.h» использует «Wire.h». А Stino такую цепочку отследить уже не может, и ругается на первом же вложении. Почему именно Stino? Потому, что у Arduino IDE никаких проблем с путями не возникает.

  12. Николай пишет:

    Может автор подскажет?

    В родном редакторе ардуино есть вот такая опция: «Экспорт бинарного файла Ctrl+Alt+S».

    Тема очень удобная. Он складывает в папку скетча hex файлик. Можно в протеусе один раз прикрутить его и потом просто редактировать, компиля его всё время в одно и тоже место (хоть на рабочий стол). А вот в саблайме я такого не увидел. Есть ли оно там вообще? Ну или может можно добиться подобного другим способом?

  13. Практикус Реалистикус пишет:

    Все эти недоделанные «IDE» с хромыми подпорками, программными костылями ни к чему.

    Главное, очень нужное для нормальной разработки, чего они НЕ УМЕЮТ (сама Arduino IDE, кстати, тоже) — дебажить код без загрузки его в МК, т.е. без сокращения ресурса флэш-памяти программ. Нет эмулятора. А большинство применяемых в Ардуино МК не могут исполнять код в ОЗУ, что тоже не даёт возможности отлаживаться без сокращения ресурса флэш. Встроенные аппаратные средства отладки МК не используются, и не у всех МК они имеются. Количество изменений кода при отладке алгоритмов программ даже не сильно сложных проектов может исчисляться тысячами, а то и более.

  14. Дмитрий пишет:

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

  15. Ermine882 пишет:

    Сделал русификацию Stino-ST4ArduinoIDE тык

Оставить комментарий