http://wm-monitoring.ru/ ')) {alert('Спасибо за то что установили нашу кнопку! =)');} else {alert('Очень жаль! =(');}"> http://wm-monitoring.ru/

Программируйте Arduino как профессионал с помощью Eclipse C / C ++ IDE

  1. Почему С ++?
  2. Начиная
  3. Бар «Затмение»
  4. Серийный монитор
  5. Получение дополнительной справки
  6. Будущие направления

Я был разработчиком инструментов в течение длительного времени. Все началось чуть более 20 лет назад, когда я работал в Nortel и привел в действие модный инструмент для моделирования под названием ObjecTime Developer, чтобы помочь нам создать систему OA & M для нового компонента их знаменитого коммутатора телефонной станции. Я так хорошо провел время, что вскоре присоединился к ObjecTime и никогда не оглядывался назад.

За прошедшие 20 лет я создавал инструменты для разработчиков встраиваемых систем, начиная с разработчика, который в итоге превратился в Rational Rose RealTime. В конце концов я немного разочаровался в инструментах моделирования и перешел в среду IDE, работающую над Eclipse CDT. Мне очень повезло, что я попал в эти проекты и очень горжусь тем, что у нас с ними получилось.

Но одна вещь была в моей голове все время. Я действительно не занимался разработкой встраиваемых систем со времен Nortel. Я строил инструменты для разработчиков встраиваемых систем и не знал, каково это - быть ими. Это было примерно тогда, когда увлечение Arduino начало развиваться, и я нашел свой путь, чтобы прыгнуть с моим первым Arduino Uno. Было очень весело работать с датчиками и светодиодами, а также создавать сети для простых маленьких IoT-проектов. Это был такой большой опыт обучения.

Становясь разработчиком Arduino, я не мог не быть в восторге от Arduino IDE. Я помню, как удивлялся, каково было сочетание клавиш помощника по контенту, чтобы не было помощи по контенту. Какие? Это была одна из первых функций, которую мы добавили в CDT, когда у нас появился синтаксический анализатор C ++. Это заставило меня задуматься. Насколько сложно было бы расширить CDT для программирования Arduino? Это заняло некоторое время, но в октябре прошлого года я, наконец, достиг той точки, когда я был готов сделать ее доступной для сообщества. В этой статье описывается среда разработки Arduino C ++ и ее использование в среде разработки Eclipse C / C ++.

Почему С ++?

Первое, на что следует обратить внимание, это то, что Arduino C ++ IDE - это именно C ++. Он не поддерживает эскизы «INO», которые поддерживает официальная среда разработки Arduino. В этих набросках используется «Wiring», который является «языком программирования», основанным на более ранней работе под названием «Processing». Wiring - это, по сути, библиотека C ++ и небольшое подмножество языка C ++. Единственное отличие состоит в том, что вам не нужно включать системные заголовочные файлы, например, Arduino.h, и вам не нужно заранее объявлять свои функции.

Я действительно считаю, что это позор. Это так близко к обучению новых разработчиков и любителей, как программировать на C ++. Все, что им нужно выучить, это две эти концепции, и они разработчики на C ++. Это упущенная возможность, которую Arduino C ++ IDE пытается исправить.

Начиная

Arduino C ++ IDE доступен на торговой площадке Eclipse. Для начала пользователям необходимо загрузить Eclipse C ++ IDE со страницы загрузок Eclipse. Среда C ++ IDE может быть установлена ​​с новым установщиком Eclipse или пакет C ++ может быть загружен напрямую. После настройки клиент Marketplace можно использовать для поиска и установки Arduino C ++ IDE. На рынке есть и другие IDE Arduino, поэтому ищите логотип CDT, о котором я пишу здесь.

После того, как плагины установлены, вам необходимо установить «Платформу». Платформа Arduino - это, по сути, пакет разработки программного обеспечения (SDK), который включает в себя основные библиотеки и набор инструментов, используемых для создания приложений для набора плат. Разработчики Arduino IDE сделали очень классную вещь и имеют общедоступные метаданные, которые описывают SDK и предоставляют достаточно информации для загрузки всего, что вам нужно. Eclipse Arduino C ++ IDE использует это и представляет эту информацию в Arduino Download Manager.

Список URL-адресов файлов package.json, содержащих эту информацию, поддерживается на страницах настроек Arduino. Эти файлы метаданных предоставляются поставщиками плат и неофициальный список можно найти на вики Arduino ,

Для библиотек существует эквивалент, хотя в этом случае поставщики IDE Arduino поддерживают полный список, а IDE Arduino C ++ ссылается на него напрямую. Это включает в себя библиотеки для различных периферийных устройств, таких как чипы NeoPixels или Wifi, а также библиотеки для многоразовых функций, таких как протокол MQTT.

После того, как вы установили набор платформ и любые необходимые вам библиотеки, вы готовы приступить к созданию приложений Arduino.

Бар «Затмение»

Первый шаг - рассказать Eclipse о плате, с которой вы хотите работать. Это будет стимулировать процессы сборки и запуска для запуска ваших проектов. Чтобы упростить этот процесс, мы будем использовать новую панель запуска Eclipse.

Панель запуска была построена моей командой здесь, в QNX, и внесла свой вклад в Eclipse для других проектов в сообществе. Основная цель - упростить процесс запуска, сводя к минимуму необходимость для пользователей открывать диалоговые окна конфигурации запуска. Если плагины настроены правильно, а плагин Arduino C ++ IDE - так, вы сможете выбрать проект, который вы хотите запустить, и цель, в которой вы хотите его запустить, и нажать кнопку «Запустить».

Он также позволяет установить режим запуска, но поскольку Arduino не поддерживает отладку (пока), у нас есть только Run.

Новые цели могут быть созданы из элемента «Новая цель запуска…» из селектора Launch Target (третий выпадающий список) или из действия «Новое соединение» в представлении «Подключения». Выберите Arduino в качестве типа подключения, затем выберите последовательный порт, к которому подключена ваша плата, и тип платы для вашей платы. Для сложных плат, которые требуют специальных программистов, вы также можете выбрать это.

После создания платы вы можете приступить к созданию проекта Arduino. Вы можете получить доступ к мастеру для создания из меню Файл верхнего уровня, нового проекта Arduino или нового проекта C / C ++ и выбрать Arduino C ++ Sketch в качестве шаблона. Это создаст минимальный проект Arduino, который имеет функцию настройки и функцию цикла. Добавьте код Blinky и нажмите кнопку запуска (в центре) на панели запуска, чтобы запустить набросок.

Серийный монитор

Как и при обычном программировании Arduino, вы можете запрограммировать последовательный порт для печати сообщений обратно в IDE. К сожалению, это все еще основной способ отладки программ Arduino. Чтобы просмотреть сообщения, мы подключили последовательный порт к Eclipse Console View. Чтобы открыть его, найдите свою доску в представлении подключений (вам может понадобиться сначала открыть это представление). Пункт меню «Открыть командную оболочку» в соединении создаст новую консоль для отображения выходных данных с этой платы.

Получение дополнительной справки

Я создал скринкаст на YouTube, в котором описывается весь этот процесс, включая дополнительные шаги по использованию библиотек в вашем проекте. Вы можете посмотреть видео здесь:

com/watch?v=TtPvkPpAx0E> https://www.youtube.com/watch?v=TtPvkPpAx0E

Форум CDT - лучшее место, чтобы задавать вопросы, хотя я получил вопросы со всего мира, в том числе на странице YouTube и в записи MarketPlace.

php?t=thread&frm_id=80> https://www.eclipse.org/forums/index.php?t=thread&frm_id=80

Будут ошибки, поскольку у меня не так много досок, поэтому я полагаюсь на сообщество, чтобы сообщать о проблемах, чтобы я мог их исправить. Вы можете помочь, подняв ошибки здесь:

cgi?product=CDT> https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT

Будущие направления

Arduino C ++ IDE является довольно полной IDE. Я использовал его для создания демонстраций для конференций Eclipse и мне нравится, что я могу использовать возможности Eclipse C / C ++ IDE для этих хобби-проектов. Но есть еще пара вещей, которые нужно сделать.

Во-первых, я не уверен, что мне действительно нравится последовательный монитор, находящийся в представлении консоли. Это был своего рода эксперимент. Для Oxygen, следующего выпуска Eclipse, я подключу Serial Monitor к Eclipse Terminal View, который даст более стандартный рабочий процесс.

Наиболее востребованная функция - поддержка разработки библиотек Arduino. Существует огромная коллекция, и всегда создаются новые. Было бы здорово иметь IDE, которая поддерживает работу с ними.

Arduino C ++ IDE для Eclipse была моей большой страстью, так как я окунулся в мир электроники для хобби, увлекая меня своей Eclipse IDE. Я надеюсь, что другие найдут его таким же полезным, как и я, и что сообщество Arduino сможет извлечь выгоду из лучших в своем классе инструментов, как это делают профессионалы.

Почему С ++?
Какие?
Насколько сложно было бы расширить CDT для программирования Arduino?
Почему С ++?
Com/watch?
Php?
Cgi?
Карта