- Установка и настройка Arduino IDE на Linux Ubuntu
- Установка
- Настройка
- How to Install Arduino Software (IDE) on Linux
- Installing Arduino IDE on Linux Systems
- Download the Arduino Software (IDE)
- Run Arduino IDE Install Script
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- Программирование Arduino из Linux, gentoo-way, быстрый старт
- Установить в ядро поддержку USB конвертера
- Установка или обновление пакета rxtx
- Установка java виртуальной машины sun
- Установка окружения toolchain для компиляции
- Установка собственно самой IDE для программирования
- Запускаем arduino
- Проблемы:
- Вместо заключения
- Arduino в Linux: настраиваем Qt Creator в качестве среды разработки
- 1. Подготовка почвы
- 2. Создаем проект в Qt Creator
- Выводы
Установка и настройка Arduino IDE на Linux Ubuntu
ОкМне очень часто поступают вопросы по поводу установки и настройки Arduino IDE под Ubuntu. И когда мне в сотый раз задали этот вопрос, я решил таки написать заметку по этому поводу, дабы в следующий раз просто кидать ссылкой в вопрошающего. По сути в установке и настройке IDE нет ничего сложного, все довольно элементарно, но видимо так думаю только я.
Установка
Для установки нам необходимо скачать собственно саму IDE, это можно сделать на этой странице.
Нам нужно скачать программу по ссылке Linux 64 bits если у Вас 64-битная система, и Linux 32 bits если у Вас 32битная система. Но скачивания не произойдет, поскольку мы просто попадем на другую страницу. Нам надо кликнуть по ссылке «JUST DOWNLOAD».
И только после этого начнется скачивание. Проходим в полученную папку и запускаем файл «arduino». Вот и все, программа запущена, нам осталось внести некоторые изменения. При желании после запуска можно закрепить ярлык программы для быстрого доступа.
Настройка
К сожалению свежеустановленная IDE не начнет работать с платой Arduino. Для того, чтобы IDE смогла работать с нашим контроллером, нам необходимо произвести ряд не хитрых действий как с IDE, так и с системой. Первым делом настроим IDE, для этого кликаем «Инструменты» и выбираем модель нашей платы, модель контроллера и порт, на котором висит наш контроллер.
Вроде бы все хорошо, можно приступать к написанию скетча, но проблемы начнутся когда мы захотим загрузить скетч в плату. Выскочит ошибка доступа к COM-порту. И это не удивительно, ведь у порта права суперпользователя. Просто поменяв права командой chmod, мы изменим сутуацию ненадолго, до следующего подключения платы.
Для устранения проблемы нам надо внести коррективы в правила монтирования порта. В этом нет ничего сложного, для этого нам потребуется всего лишь создать файл с правилом в папке /etc/udev/rules.d. Но прежде нам необдхимо узнать некоторую информацию, это пара цифробуквенных значений. Их можно узнать выполнив команду lsusb. После выполнения мы увидим список устройств подключенных к компьютеру. В моем случае моя плата отобразилась как:
Bus 002 Device 009: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Определить как именно называется наша плата можно простым способом, выполнив команду не подключая плату и выполнив команду после подключения.
Теперь нам необходимо создать файл с правилами, для этого нам потребуется выполнить следующую команду:
sudo nano /etc/udev/rules.d/10-arduino.rules
Добавим в него следующий текст:
SUBSYSTEMS==»usb», ATTRS
MODE:=»0666″, GROUP:=»users»
Я отметил красным места, куда необходимо воткнуть значения, не забудьте поменять эти значения на свои и поменять GROUP:=»users», где «users» нужно заменить на свое, как правило группа соответствует имени пользователя в системе. Если сомневаетесь, то можете выполнить команду groups и самой первой будет та, которая нам нужна. Сохраняем изменения и выполняем ещё одну команду:
sudo udevadm control —reload-rules
Этим самым мы перезагружаем правила. На этом собственно и все, теперь при подключении нашей платы, её COM-порт будет доступен нам для записи. До того как я перешел на Ubuntu 17.10, я просто запускал IDE под sudo, но в 17.10 у меня вылезла ошибка «Can’t connect to X11 window server using ‘:0’ as the value of the DISPLAY variable» и я решил таки заморочиться с правилами монтирования порта.
Источник
How to Install Arduino Software (IDE) on Linux
Arduino is a widely-used, open-source electronics platform used to create devices that interact with their environment using sensors and actuators. It consists of a programmable hardware board and a software (Integrated Development Environment(IDE)) for writing and uploading programs to the board.
Before you can start building projects using Arduino, you need to set up the IDE to program your boards. The Arduino (IDE) is a free open-source and cross-platform desktop application that allows you to write code and upload it to the board. It runs on Linux, Windows, and Mac OS X, and Linux.
In this article, we will explain how to install the latest version of the Arduino Software (IDE) on Linux machines.
Installing Arduino IDE on Linux Systems
The Arduino Software (IDE) is a package that does not require any particular process for the various Linux distributions. The only needed requirement is the 32-bit or 64-bit version of the operating system.
Download the Arduino Software (IDE)
Go to the download page and grab the latest version (1.8.12 at the time of writing) of Arduino Software (IDE) for your supported system architecture. You can choose between the 32-bit, 64-bit, and ARM versions, as it is very crucial to select the right version for your Linux distribution.
Alternatively, you can use the following wget command to download the Arduino Software (IDE) package directly on the terminal.
Download Arduino IDE in Linux
Next, extract the downloaded archive file using the tar command.
Extract Arduino IDE in Linux
Run Arduino IDE Install Script
Now move into the extracted arduino-1.8.12 directory and run the installation script with root privileges as shown.
Install Arduino IDE in Linux
Once the installation is done, a desktop icon will be created on your desktop, to launch the IDE, double click on it.
Running Arduino IDE in Linux
It might happen that, you will get an error “Error opening serial port” while uploading a sketch after you have selected your board and the serial port. To fix this error, run the following command (replace tecmint with your username).
Besides, if you have a good internet connection, you can use the Arduino Web Editor (which has an up-to-date version of the IDE). The advantage with it is that it allows you to save your sketches in the cloud, and have them backed up, making them accessible from any device.
That’s it for now! For more information and advanced usage instructions, see the Arduino documentation. To reach us, use the feedback form below.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
Программирование Arduino из Linux, gentoo-way, быстрый старт
К сожалению, информация, необходимая для подключения Arduino к компьютеру, оказалась разрозненна по разным источникам на разных языках. Как известно, gentoo — это дистрибутив linux с непрерывной разработкой, фактически в нем и понятия такого быть не может, как «дистрибутив». Из-за этого решение проблемы, найденное в интернете, может оказаться неработоспособным просто потому, что на целевой системе другой набор пакетов и настроек.
Кроме того, авторы, как правило, приводят команды и решения специфичные для конкретной системы в конкретный момент времени. Проходит некоторое время, версии продуктов изменяются, меняются некоторые пути и файлы. Данная статься попытка не только консолидировать информацию, но и изложить так, чтобы информация устаревала как можно в меньшей степени, и было легко модифицировать команды под вашу систему. Возможно это будет полезно и в других дистрибутивах.
Установить в ядро поддержку USB конвертера
После подключения конвертера к USB порту видим следующее:
Для этого конвертера нужен драйвер ftdi_sio, предпочитаю не добавлять в ядро то, что не нужно при загрузке системы, а компилировать в виде модуля. Genkernel я не использую, а вы можете компилировать ядро удобным для вас способом.
Компилируем модуль и загружаем:
У нас появился интерфейс:
Обратите внимание на права. Необходимо добавить вашего пользователя в группу uucp
Если вы используете другой конвертер, то добавьте в ядро его поддержку, в остальном все должно быть аналогично.
Установка или обновление пакета rxtx
Актуально только для 64-битных систем:
В момент написания статьи стабильная версия пакета , но прошивка Arduino с ней работать не будет, необходимо поставить . Вероятно когда появится новая стабильная версия проблема будет устранена.
Установка java виртуальной машины sun
Можно использовать SDK или JRE, если не знаете, нужен ли вам SDK, то он вам не нужен, и выбирайте sun-jre-bin:
Из-за лицензионных ограничений вам придется вручную скачать соответствующий исходный файл и скопировать его в /usr/portage/distfiles. Кроме того, VM распространяется под отдельной лицензией, поэтому ее небходимо добавить в файл make.conf:
Убедитесь, что нужная VM выбрана:
Установка окружения toolchain для компиляции
Добавьте в файл /etc/make.conf строку, если ее еще нет, и создайте каталог:
Компилируем toolchain, опции по умолчанию соответствуют stage4 и использованию стабильных пакетов:
Установка собственно самой IDE для программирования
Постольку нет ни одной стабилизированной версии, то скорее всего она появится не скоро. Поэтому просто устанавливаем последнюю версию. Необходимо разблокировать следующие пакеты, добавив в файл /etc/portage/package.keywords следующие строчки:
Можно добавить флаги для установки примеров и документации:
Запускаем arduino
Выбираем в меню Сервис -> Плата ваш вариант Arduino и Сервис -> Последовательный порт – порт, который появился после подключения конвертера, обычно это /dev/ttyUSB0. Самый простой скетч Blink уже был загружен в мою плату производителем, поэтому чтобы проверить, как все работает, я его модифицировал: теперь светодиод моргает попеременно короткой и длинной вспышкой:
Нажимаете галочку «Проверить» и стрелочку «Загрузить» и будет вам счастье. На самом деле может и не будет, потому что необходимо устранить еще некоторые проблемы и об этом ниже.
Проблемы:
Если пункт выбора последовательного порта деактивирован, то вам снова нужно вернуться к началу статьи и
- проверить поддержку конвертера ядром:
- наличие модуля в памяти:
- можно попробовать его перезагрузить:
- проверить версию rxtx:
Если все проверили, попробуйте перезагрузить систему, в одном из случаев мне это помогло.
При компиляции выводится ошибка:
причина в том, что пути по которым установлен toolchain не соответствуют путям где его ищет arduino. Находим сначала где нужный файл:
затем создаем символическую ссылку:
При компиляции выводится ошибка:
Для вашей платы имя файла может быть другим, а решение то-же, необходимо создать соответствующую символическую ссылку. Ищем файл:
Существует проблема с binutils версии выше 2.19
Проблема выражается в том, что все вышеописанное работает, все компилируется, собирается и загружается в плату без малейшей ошибки. Но прошивка не работает. В моем случае плата просто моргает светодиодом, секунда горит, на секунду гаснет, то есть классический Blink.
Решение описано здесь, баг зарегистрирован на Gentoo’s Bugzilla.
Чтобы решить проблему следует переустановить toolchain следующим образом:
crossdev -C avr
USE=«multilib -cxx» crossdev —b 2.19.1-r1 -S -s1 —target avr
USE=«multilib cxx» crossdev —b 2.19.1-r1 -S -s4 —target avr
Все написанное выше по поводу некорректных путей остается в силе.
Для систем с hardened ядром:
USE=«multilib -cxx nopie nossp -hardened -pic -openmp» crossdev —b 2.19.1-r1 -S -s1 —target avr
USE=«multilib cxx nopie nossp -hardened -pic -openmp» crossdev —b 2.19.1-r1 -S -s4 —target avr
Вместо заключения
Сама плата и способы ее использования меня заинтересовали в контексте построения системы «Умный дом». Сейчас у меня капитальный ремонт квартиры в самом разгаре, и я могу проложить любые кабели, разместить любые коммутационные коробки и т. д.
Источник
Arduino в Linux: настраиваем Qt Creator в качестве среды разработки
Платформа Arduino популярна, независимо от того, ругают её или хвалят. Её создателям удалось снизить порог вхождения до уровня несколько кликов мышью + пара строк кода и вуаля — вот вам моргающий светодиодик. И вообще, для быстрого прототипирования поделок на AVR, Arduino вещь крайне удобная. Единственное что им не удалось это IDE, которую и IDE-то назвать сложно. Среди функций IDE она обеспечивает только одну — автоматизацию создания и сборки проекта.
Для пользователей Windows существует альтернатива: MS Visual Studio Community + плагин vMicro который позволяет писать скетчи, но уже со всеми вкусностями, предоставляемыми IDE. Плагин без проблем качается в самой студии через меню «Инструменты» и в триале работает сколько угодно. Платная версия в теории поддерживает пошаговую отладку, но меня, как владельца лицензионной копии vMicro они не очень-то и впечатлили.
Для пользователей Linux всё как всегда: хотим хорошую IDE — выбираем «жертву» и пытаемся прикрутить к ней нужный функционал. Существуют решения на базе Eclipse, но я не люблю эклипс, о чём уже однажды писал. Я мирюсь с ним как с неизбежным злом, когда под рукой нет вообще ничего подходящего. Из всех бесплатных IDE я больше всего уважаю мощный и замечательный Qt Creator, в котором я и моя команда работаем уже больше года. Поэтому и рассказывать буду о том, как превратить его в среду разработки для Arduino.
1. Подготовка почвы
Qt Creator имеется в репозиториях любого более-менее уважающего себя дистрибутива Linux. Например в арче его получают так
Кроме того, нам понадобятся пакеты, касающиеся самой Arduino
В тот день, когда мы наконец забудем Arduino нам понадобятся ещё компилятор, ассемблер, компоновщик и стандартная библиотека C для AVR, поэтому ставим и их
Отладчик и эмулятор мы опробуем уже в этой статье, поэтому установим ещё такие пакеты
2. Создаем проект в Qt Creator
Запускаем Qt Creator и создаем новый проект без Qt на языке C++
Выбираем расположение проекту и даем ему имя
В качестве системы сборки берем штатный qmake
Рабочий комплект оставляем по-умолчанию, поправим это потом
Под контроль версий добавляем проект по желанию
Получаем стандартный C++ проект
В проекте всего два файла: main.cpp и led-blink.pro. Первый удаляем, второй вычищаем от всего что там написано, получая совершенно пустой проект
Теперь ручками начинаем писать текст в *.pro файл, формируя структуру проекта для Arduino
Исключаем из проекта всё что касается Qt и выбираем шаблон проекта
Задаем каталог для собранного бинарника и его имя
Дальше подключим директории поиска заголовочных файлов
Задаем компилятор C и его ключи
и компилятор C++ и его ключи
задаем компоновщик и его ключи
Настраиваем постобработку ELF-файла, с целью перекрутить его в Intel HEX для последующей прошивки в плату
Указываем, какие заголовочные файлы включаются в проект
Задаем файлы исходных текстов Arduino Core
Так, ну а когда мы собственно начнем писать скетч? Сейчас и начнем, но то что мы проделали, благородные доны, это необходимый минимум для того чтобы код скетча заработал.
Теперь добавляем в проект исходник скетча. Правой кнопкой щелкаем по проекту в дереве и выбираем «Добавить новый. » Добавляем файл исходных текстов C++
Чтобы упорядочить исходники внутри проекта, в следующем окне
жмем «Обзор» и создаем папку src для файлов *.cpp
Теперь даем файлу имя
Жмем на следующем окошке «Завершить». Получаем такую картинку
IDE добавит этот файл в скрипт сборки led-blink.pro
но, чтобы не делать длинных списков исходников, я обычно делаю так
Теперь сделаем то, что Arduino IDE нам никогда не обеспечит: добавим к скетчу заголовочный файл, проделав действия аналогичные вышеописанным
В этот файл добавим необходимые проекту заголовки
настроим пути к заголовкам и исходникам
и вот теперь, наконец, напишем скетч
Теперь щелкаем правой кнопкой по дереву проекта и выбираем «Собрать»
Идем в папку проекта. У нас появился каталог bin/, в котором лежат продукты работы компилятора
Всё ок, присутствует ELF, который пригодится при отладке и hex для прошивки в контроллер. Теперь напишем очередную моргалку светодиодом на пине 13
Собираем проект, заходим в bin/. Втыкаем в усб вашу плату. В моем случае это Uno, в моей системе она выставляет для программирования порт с именем /dev/ttyACM0. Выполняем команду
- -P /dev/ttyACM0 — порт программатора
- -p m328p — модель контроллера
- -c arduino — тип программатора: встроенный в плату Uno
- -b 115200 — скорость порта
- -U flash:w:led-blink.hex:i — указываем область прошивки, тип операции (запись) и файл прошивки
Выхлоп, похожий на такой
сообщает нам, что процесс прошел нормально. Светодиодик будет моргать с частотой 2 Гц.
В принципе, можно настроить прошивку и в IDE. Для этого делаем настройки запуска такими
и, выбрав запуск проекта (нажав Ctrl + R) мы выполним прошивку и запуск так же точно, как это делает Arduino IDE.
Выводы
Описанный процесс настройки — довольно трудоемкая процедура. Но взамен мы получаем всю мощь одной из самых замечательных IDE, существующих в системах на базе ядра Linux (да и Windows это тоже касается). Автодописывание, рефакторинг, удобная навигация по коду — всё это теперь можно с успехом использовать.
Этот пример сделан, что называется, «в лоб». На деле Arduino IDE компонует Arduino Core в отдельную статическую библиотеку core.a и линкует с исполняемым файлом. В итоге прошивки собранные в стандартной среде выходят меньше по размеру, чем в описанном в статье методе. С этими нюансами мне ещё предстоит разобраться. А заодно в следующей заметке на эту тему мы поговорим о:
- структуре проекта, выясним где находится функция main() и покажем, почему чрезмерное зацикливание на Arduino это плохо
- пошаговой отладке с использованием эмуляторов
- разберемся с опциями компилятора, применяемыми при сборке
в общем постараемся прояснить многие вопросы, полезные для понимания происходящих процессов, без которого в будущем перейти с Arduino на нечто более продвинутое будет сложно.
Источник