В течении последних нескольких месяцев появилось сразу несколько обновлений 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, Go, HTML, 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 или по ссылке:
Для установки:
- Запускаем Sublime Text
- Меню Sublime Text → Preferences → Browse Packages...
- Распаковываем в открывшуюся папку полученный файл Stino-new-stino.zip
После этого у нас появится новый раздел меню Arduino:
Плагин 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 переходим в меню: Arduino → Language → русский язык (Russian). Меню Arduino теперь русифицировалось.
Следующим шагом нам нужно указать путь к приложению Arduino IDE. Выбираем Arduino → Документация → Выбор папки с Ардуино.
И указываем путь к приложению Arduino IDE версии 1.6.1.
После этого, мы увидим сообщение о том, что приложение найдено:
Аналогично укажем папку, в которой хранятся наши рабочие скетчи: Arduino → Документация → Выбрать папку Sketchbook.
Теперь нам нужно выбрать используемую плату в меню Arduino → Board:
и порт, к которому она подключена:
Для проверки работоспособности загрузим скетч из примеров:
Скомпилируем его:
Обратите внимание на сообщения в нижней части экрана. Если все нормально — ошибки должны отсутствовать. При попытке скомпилировать код, используя Arduino IDE 1.6.3 я получал сообщения об ошибке. Проблему решить так и не смог, поэтому пока использую версию Arduino IDE 1.6.1.
Если ошибок нет, то загружаем скомпилированный код в микроконтроллер:
Ошибок у меня в процессе загрузки не возникло.
Светодиод мигает. Дело сделано.
[add_ratings]
Так же есть русификатор для Sublime Text который я сейчас испытываю ...
Изначально хотел попробовать на английском, но глаза просто разбегаются,ничего не могу найти и понять что бы по максимум настроить под себя...
Для тех кто тоже испытывает такие трудности- dimox.name/sublime-text-russian-menu/ инструкция там есть.
Спасибо огромное!
Настроил для работы с IDE 1.6.5. Для того, чтобы заработала компиляция, нужно изменить в меню Arduino -> Build options -> Select Build Folder (или через Alt-C, Alt-B) путь к папке покороче, по умолчанию он слишком длинный, потому и не компилирует. У меня прокатил вариант D:\Arduino\tmp.
Спасибо!
Отличия, конечно, огромные. Программировать гораздо удобнее. Но вот со стабильностью — беда... У меня, например, из папки Packages постоянно пропадает папка Stino. Лечится восстановлением из архива — но, блин, на каждый запуск 2-3 раза надо залезть и проконтролировать, иначе все функции arduino, в т.ч. компиляция, отрубаются. Так они у меня и открыты параллельно, редактор и папка. Хоть автоматизацию какую-то пиши, папочку проверять и восстанавливать... Никто с такой бедой не сталкивался?
Мне помогло удаление файла package-metadata.json в папке плагина, который конфликтовал с Package Control и принудительно менял версию плагина на старую из своего репозитория
на 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
Не могу понять что делать...
Может кто-то еще знает, как плагин Sublime Linter настроить? Чтоб ошибки на лету подсвечивал.
Друзья, я чо то не догоняю
в Меню Ардуино не доступны опции компиляции и загрузки скетча.
Пути вроде прописал, порт выбрал.
А дальше не знаю куды бечь.
Помогите, чем можете...
Пытаюсь побороть проблему.
Стояла Ардуино 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.]
И че теперь делать ума не приложу...
Может кто сталкивался?
Уря! Победил!
Откатился к версии arduino-1.6.1
Пришлось скормить Stino-new-stino, а Stino-ST4ArduinoIDE работать не хочет.
Добрый день, друзья!
Сегодня вышел очередной релиз arduino-1.6.9, так с ней удалось связать Sublime Text 3.
Проверил на примерах Blink и Fade.
Компилирует и заливает скетч в клон Arduino Uno на УРА!
А никто не замечал, что у Stino проблемы, когда какие-то библиотеки ссылаются на другие библиотеки? Скажем «LCD_1602_RUS.h» использует для своей
работы «LiquidCrystal_I2C.h». «LiquidCrystal_I2C.h» использует «Wire.h». А Stino такую цепочку отследить уже не может, и ругается на первом же вложении. Почему именно Stino? Потому, что у Arduino IDE никаких проблем с путями не возникает.
Может автор подскажет?
В родном редакторе ардуино есть вот такая опция: «Экспорт бинарного файла Ctrl+Alt+S».
Тема очень удобная. Он складывает в папку скетча hex файлик. Можно в протеусе один раз прикрутить его и потом просто редактировать, компиля его всё время в одно и тоже место (хоть на рабочий стол). А вот в саблайме я такого не увидел. Есть ли оно там вообще? Ну или может можно добиться подобного другим способом?
Все эти недоделанные «IDE» с хромыми подпорками, программными костылями ни к чему.
Главное, очень нужное для нормальной разработки, чего они НЕ УМЕЮТ (сама Arduino IDE, кстати, тоже) — дебажить код без загрузки его в МК, т.е. без сокращения ресурса флэш-памяти программ. Нет эмулятора. А большинство применяемых в Ардуино МК не могут исполнять код в ОЗУ, что тоже не даёт возможности отлаживаться без сокращения ресурса флэш. Встроенные аппаратные средства отладки МК не используются, и не у всех МК они имеются. Количество изменений кода при отладке алгоритмов программ даже не сильно сложных проектов может исчисляться тысячами, а то и более.
Интересно бы представить Arduino IDE с программным эмулятором разных плат. Для каждой из всевозможных плат там должна была быть маленькая менюшка, с тремя-четырьмя десятками пунктиков (по количеству выводов на плате), с помощью которой можно было бы указать, что поступает на каждый вывод, в конкретный момент времени. Ну и конечно, возле каждого такого пунктика, должна быть маленькая подменюшка, со всеми существующими датчиками, протоколами и устройствами, которые могут быть подключены к этому выводу. Разумеется, такая IDE должна оставаться бесплатной, как и нынешняя.
Программа Proteus все это делает. В виртуальный контроллер заливается бинарник скетча и можно увидеть работу в виртуальной среде. Переферии всякой там куча, от светодиодов и тфт экранов до различных специализированных микросхем
Сделал русификацию Stino-ST4ArduinoIDE тык