Хотелось бы поделиться опытом настройки и использования любимых мной программных продуктов по программированию Arduino контроллеров на Mac OS. Многие используют Sublime как хорошую среду программирования, например, добавив пакет Stino можно получить возможность писать код и заливать его в Arduino контроллеры. О том как всё это за 10 минут настроить под Windows написано много мануалов, но вот как заставить работать на Mac OS сказано мало. Если у вас есть Mac и Arduino, добро пожаловать под кат (внимание, много картинок!).
Итак у меня на данный момент такой набор:
— MacBook Pro Sierra OS
— Arduino IDE 1.6.11
— Arduino AVR Boards 1.6.13
— Sublime Text 3 (build 3126)
— Stino (v2016.01.22.05.51.02)
Первым делом установим Arduino IDE, запустим и в самой IDE, в Board Manager установим нужную версию Arduino AVR Boards, у меня всё заработало с версией 1.6.13:
Далее скачиваем и устанавливаем Sublime Text 3. Думаю здесь особых проблем возникнуть не должно и особо заострять внимание на том как устанавливать софт под мак я не буду, перейдем собственно к настройке.
Советую также проверить идет ли загрузка программы в Arduino контроллер из Arduino IDE, если всё работает то идем дальше, если же нет, то сначала найдите в чем причина.
Теперь мы должны добавить в Sublime возможность устанавливать пакеты дополнений, для этого нам нужен Package control (следуем инструкции тут). Всё в точности также как на Windows, заходим во View -> Show Console и копируем туда код с сайта, по ссылке выше.
После чего в Sublime Text > Preferences появиться Package Control.
Далее нужно добавить репозиторий, откуда мы установим Stino, пакет для работы с Arduino.
Выбираем Add Repository и вводим внизу в строчку следующее:
https://github.com/gepd/Stino/tree/new-stino
После устанавливаем Stino, Sublime Text > Preferences > Package Control и там Install Package, далее вводим Stino.
Теперь в Sublime Text в меню крайне справа появилась надпись Arduino. Почти всё настроено для работы с Arduino контроллерами, осталось пару важных моментов.
Укажем путь к папке с Arduino IDE, для этого в программе Sublime, заходим в новое появившееся меню Arduino и там Preferences > Select Arduino Application Folder. Если вы ранее не ставили Arduino IDE в какое-то либо другое место, то по умолчанию это будет /Applications/Arduino.app.
Когда я устанавливал это все в первый раз, то думал что на этом шаге всё готово, и можно уже писать программу в Sublime Text и смело заливать в Arduino контроллер. Так я и поступил и столкнулся с ошибками компилятора. Что самое интересное, что с Arduino IDE всё заливалось отлично, а с Sublime + Stino были какие-то проблемы. Быстрый поиск особых ответов не дал, кто советовал поиграться с версиями Arduino AVR Boards, кто советовал перейти на совсем ранние версии Arduino IDE, ну и так далее. Ни один вариант у меня на Mac OS Sierra не заработал. После прочтения нескольких десятков страниц на Stack Overflow, я нашел решение, почему всё это в связке работает у меня под Windows, но не работает под мак.
И так, идем в папку Applications, находим там Arduino, на значке двойной клик и Show Package Contents. Далее проследуем в папку Contens/Java/hardvare/arduino/avr и находим файлик platforms.txt и открываем его в том же Sublime Text. Переходим на 101 строку и удаляем там {upload.verify}. После чего строка должна выглядеть так:
Сохраняем и перезагружаем Sublime Text и пробуем загрузить программу в Arduino контроллер. Не забываем выбрать нужный порт!
Результат — всё залилось без ошибок. Надеюсь статья будет полезна тем, кто хотел бы работать в удобной Sublime text и писать код для Arduino контроллеров.
Комментарии (8)
anatoly314
25.10.2016 22:44А может кто-то посоветовать как отлаживать на OSX? Имеется ввиду поставить breakpoint point и посмотреть значение переменных в этом месте?
safari2012
27.10.2016 15:52Не знаю, есть ли VisualStudio для маков. Но точно есть плагин arduino для VS, который кроме автоподстановки кода еще позволяет делать breakpoint-ы, трассировку и смотреть значения переменных. Правда, чудес не бывает, всё это реализовано так, что компилятор сам прописывает все эти ништяки в HEX. Т.о., на большом проекте памяти может не хватить.
zb3k
26.10.2016 02:58+1Раньше использовал Stino. Сейчас перешел на PlatformIO + Atom (есть плагины для других IDE, в том числе и для Sublime Text).
Из плюсов для меня:
- Нет завязки на Arduino IDE
- Работает с множеством различных платформ и фреймворков
- Очень удобная работа со сторонними библиотеками (добавил в конфиг название библиотеки или ссылку на репозиторий)
- Консольная утилита.
xruyn
26.10.2016 13:42Насколько я понял плагин Stino разработчик забросил. Его продолжением является плагин Deviot, как раз таки на основе PlatformIO.
ploop
26.10.2016 16:02Пару месяцев назад настраивал это на Ubuntu (так как Arduino IDE убога чуть более, чем полностью), заняло всё от силы пять минут, вместе с прописыванием правил в udev. Ну, то есть, плагин заработал «из коробки»
Сам не люблю эту платформу, но сын увлёкся. Пришлось купить, теперь довольный кодит, а главное — видит результат в железе. В этом её несомненный плюс!
safari2012
27.10.2016 15:50А что даёт эта IDE кроме подсветки синтаксиса? Автоподстановка кода есть?
ploop
27.10.2016 23:34Грубо говоря это и не IDE даже, а продвинутый блокнот. Однако, очень быстрый и удобный.
Подстановка есть, но работает по дефолту анализом предыдущего текста, предлагая варианты из ранее набранных идентификаторов. Хотя, в принципе, этого достаточно (сделано это довольно хитро и удобно).
Короче, синтаксического анализа конкретного языка нет, но возможно это реализовано в плагинах, т.к. их миллион.
abbath0767
Благодарю за статью, как раз недавно пересел за мак — повод смахнуть пыль с ардуинки