Разблокировать порт для ардуино линукс

Обновлено: 06.07.2024

Эта статья покажет вам, как установить Arduino IDE на Ubuntu 20.04. Существует три различных способа установки Arduino на Ubuntu – с помощью официального сценария установки, с помощью пакета snap и apt.

Установка Arduino IDE с помощью скрипта

Это самый простой и рекомендуемый способ установки Arduino IDE в Ubuntu Linux.

Шаг 1: Убедитесь, что ваши системные пакеты Ubuntu обновлены:

$ sudo apt-get update
$ sudo apt-get upgrade

Шаг 2: Загрузка Arduino IDE и его извлечение

Загрузите последнюю версию Arduino IDE для Linux 64bit со страницы загрузки. Очень важно, чтобы вы выбрали правильную версию для своего дистрибутива Linux, которым в нашем случае является Ubuntu Linux 64bit.

Следующие команды загружают файл Arduino IDE версии 1.8.15 tar.xz во временный каталог с именем ‘arduino’:

Шаг 3: Извлеките файл tar.xz.:

Делается это командой

Шаг 4: Установка Arduino с помощью скрипта установщика

Измените каталог, а затем запустите установленный скрипт:

По умолчанию Arduino устанавливается в /usr/local/bin/arduino.

Вы должны найти новый значок на рабочем столе и в списке приложений:

Arduino IDE – Иконка на рабочем столе

Arduino IDE – Иконка на рабочем столе

Добавление пользователя в группу использования порта Arduino

Чтобы избежать возможных проблем при использовании Arduino IDE, добавьте системного пользователя в группу dialout.

Это процедура доступа к последовательному порту из программного обеспечения Arduino (IDE), если вы получаете ошибку.

Может случиться так, что при загрузке эскиза вы получите следующую ошибку:

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

Введите в терминале следующую команду:

вы получите что-то вроде:

Теперь нам просто нужно добавить нашего системного пользователя в группу:

где <username> ваше имя пользователя Linux. Вам нужно будет выйти из системы и снова войти в систему, чтобы это вступило в силу.

В моем случае это так:

$ sudo usermod -a -G dialout smilojkovic

После этой команды вы сможете нормально запустить IDE и загрузить код на свою плату или использовать последовательный монитор.

Запуск Arduino IDE в первый раз

Перед запуском IDE подключите плату Arduino к компьютеру с помощью USB-кабеля.

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

Если все было установлено и настроено правильно, мы должны увидеть главное окно редактора IDE.

Окно редактора Arduino в Linux

Окно редактора Arduino в Linux

Установка Arduino IDE с помощью Snap

Arduino IDE также доступна из пакетов Snap. Мы можем установить его с помощью следующей команды:

Ответ в терминале:

arduino 1.8.15 from Merlijn Sebrechts installed

Установка Arduino IDE в Linux с помощью Apt

Arduino IDE доступен в репозиториях Ubuntu, вы можете установить его с помощью apt.

Репозиторию может потребоваться некоторое время, чтобы получить последнюю версию. Поэтому проверьте версию, доступную перед установкой.

arduino/focal,focal 2:1.0.5+dfsg2-4.1 all
AVR development board IDE and built-in libraries

Заключение

Из этой статьи вы узнали, как установить Arduino IDE на Ubuntu 20.04 LTS.

Для получения дополнительной помощи или полезной информации, мы рекомендуем вам проверить официальный сайт Arduino.

К сожалению, информация, необходимая для подключения Arduino к компьютеру, оказалась разрозненна по разным источникам на разных языках. Как известно, gentoo — это дистрибутив linux с непрерывной разработкой, фактически в нем и понятия такого быть не может, как «дистрибутив». Из-за этого решение проблемы, найденное в интернете, может оказаться неработоспособным просто потому, что на целевой системе другой набор пакетов и настроек.

Кроме того, авторы, как правило, приводят команды и решения специфичные для конкретной системы в конкретный момент времени. Проходит некоторое время, версии продуктов изменяются, меняются некоторые пути и файлы. Данная статься попытка не только консолидировать информацию, но и изложить так, чтобы информация устаревала как можно в меньшей степени, и было легко модифицировать команды под вашу систему. Возможно это будет полезно и в других дистрибутивах.

Архитектура amd64, ядро x86_64 3.7.10-gentoo
Установлены стабильные пакеты последних версий.
На аукционе ebay куплена плата Arduino Pro Mini 328p 16МГц 5V и USB конвертер к ней на чипе FTDI.

Установить в ядро поддержку 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. Находим сначала где нужный файл:

затем создаем символическую ссылку:

При компиляции выводится ошибка:

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


UPDATE: 28.03.2013

Существует проблема с binutils версии выше 2.19

Проблема выражается в том, что все вышеописанное работает, все компилируется, собирается и загружается в плату без малейшей ошибки. Но прошивка не работает. В моем случае плата просто моргает светодиодом, секунда горит, на секунду гаснет, то есть классический Blink.

Чтобы решить проблему следует переустановить 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

Все написанное выше по поводу некорректных путей остается в силе.

UPDATE: 13.04.2013

Для систем с 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 IDE на Linux Ubuntu

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

Установка

Для установки нам необходимо скачать собственно саму IDE, это можно сделать на этой странице.

Нам нужно скачать программу по ссылке Linux 64 bits если у Вас 64-битная система, и Linux 32 bits если у Вас 32битная система. Но скачивания не произойдет, поскольку мы просто попадем на другую страницу. Нам надо кликнуть по ссылке «JUST DOWNLOAD».

Ссылка на скачивание IDE для Arduino для Linux Ubuntu

И только после этого начнется скачивание. Проходим в полученную папку и запускаем файл «arduino». Вот и все, программа запущена, нам осталось внести некоторые изменения. При желании после запуска можно закрепить ярлык программы для быстрого доступа.

Настройка

К сожалению свежеустановленная IDE не начнет работать с платой Arduino. Для того, чтобы IDE смогла работать с нашим контроллером, нам необходимо произвести ряд не хитрых действий как с IDE, так и с системой. Первым делом настроим IDE, для этого кликаем «Инструменты» и выбираем модель нашей платы, модель контроллера и порт, на котором висит наш контроллер.

Настраиваем IDE для Arduino на Linux Ubuntu

Вроде бы все хорошо, можно приступать к написанию скетча, но проблемы начнутся когда мы захотим загрузить скетч в плату. Выскочит ошибка доступа к COM-порту. И это не удивительно, ведь у порта права суперпользователя. Просто поменяв права командой chmod, мы изменим сутуацию ненадолго, до следующего подключения платы.

Для устранения проблемы нам надо внести коррективы в правила монтирования порта. В этом нет ничего сложного, для этого нам потребуется всего лишь создать файл с правилом в папке /etc/udev/rules.d. Но прежде нам необдхимо узнать некоторую информацию, это пара цифробуквенных значений. Их можно узнать выполнив команду lsusb. После выполнения мы увидим список устройств подключенных к компьютеру. В моем случае моя плата отобразилась как:

Bus 002 Device 009: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Определить как именно называется наша плата можно простым способом, выполнив команду не подключая плату и выполнив команду после подключения.

Теперь нам необходимо создать файл с правилами, для этого нам потребуется выполнить следующую команду:

Добавим в него следующий текст:

sudo udevadm control --reload-rules


Уже пару лет прошло с тех пор, как я полностью отказался от Wndows в пользу Linux. Для себя я выбрал дистрибьютив Linux Mint.

Освоение платформы Arduino я начал гораздо раньше. Не хочу сказать, что я великий программист микроконтроллеров, но все устройства какие мне нужно было сделать — я сделал =).

К сожалению, если устанавливать Arduino IDE через стандартный менеджер программ в Linux Mint или Ubuntu, то будет доступна лишь морально устаревшая версия 1.0.5. Почему-то обновлять репозиторий давно забросили, а PPA для Arduino я не нашел.

Поэтому придется устанавливать среду вручную, впрочем это совсем не сложно. Сначала нужно скачать архив по этой ссылке.
Распакуйте его в любую удобную директорию и запустите файлик install.sh.


После этого на рабочем столе (или в списке приложений) появится ярлык Arduino и через который можно будет запускать среду.

Однако при попытке загрузить скетч в плату будет вылазить такая ошибка:


Для устранения этой несправедливости необходимо добавить своего пользователя в группу dialout. Для этого в Linux Mint необходимо открыть Меню-Администрирование-Пользователи и группы.

В появившемся окне кликаем по области, где расположен список групп, к которым принадлежит ваш пользователь.


В списке ставим галочку напротив группы dialout. Потом жмем ОК и перезагружаем компьютер(или выходим из сеанса и входим обратно).


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

Добавление поддержки семейства ATTiny
Все-таки Arduino это плата для разработки. Готовое устройство необходимо собирать на основе микроконтроллера и соответствующей обвязки.

В них можно загрузить точно такие же скетчи(правда не все библиотеки поддерживаются), что и в обычную Arduino. Правда для этого потребуется программатор. Я использую самодельный USBAsp, но можно использовать и имеющуюся на руках Arduino в качестве ISP программатора.


Далее в меню выбрать Инструменты-Плата-Менеджер плат и в появившемся окне в списке Тип выьрать пункт Внесены и в списке дополнений найти и кликнуть по attiny by David A. Mellis. Появится кнопка Установить, которую и следует нажать.


После этого вы можете выбрать одну из поддерживаемых микросхем attiny в списке плат.

Настройка поддержки USBAsp в LInux
Для программирования ATTiny и ATMega внутрисхемно необходим программатор. Как я уже писал, я использую USBAsp и в Linux по умолчанию нет разрешения работать с USB устройствами напрямую для обычных пользователей. Можно просто запускать Arduino IDE с правами root, но гораздо удобнее прописать разрешение на работу с USBAsp.


В появившемся текстовом редакторе вставляем(ctrl-shift-v) следующий текст: SUBSYSTEM=="usb", ATTR=="16c0", ATTR=="05dc", GROUP="dialout", MODE="0666". После этого жмете ctrl-O и ctrl-X, чтобы сохранить файл и выйти.


После перезагрузки компьютера вы сможете без проблем использовать программатор USBAsp в системе Linux.

Программируем ATTiny
Для примера возьмем ATTiny45. Сначала нужно присоединить микроконтроллер программатору. Можно сделать это на макетной плате по следующей схеме.


Но гораздо лучше сделать свою плату для разработки для attiny и atmega как у меня. Также хорошим решением будет предусматривать 6-пиновый разъем для внутрисхемного программирования, куда можно будет подключить программатор, чтобы перепрошивать микроконтроллер непосредственно в устройстве.

Далее программатор можно подсоединить к компьютеру и запустить Arduino IDE где в меню Инструменты-Программатор выбрать пункт USBAsp. Затем выбрать Attiny25/45/85 а меню Инструменты-Плата. В меню Инструменты-Процессор выбрать Attiny45.

Также необходимо выбрать генератор частоты и саму, на которой будет оперировать микроконтроллер, в меню Инструменты-Clock . Если в вашей схеме нет кварца, то выбирайте частоты только с приставкой Internal. Это означает, что микроконтроллер будет полагаться на свой внутренний генератор частоты. Если вы выберите пункт с приставкой External, то микроконтроллер не будет работать, пока вы не подключите кварц к соответствующим ножкам. Частоту можете выбирать какую угодно. Если в вашей программе нет действий, которые должны выполняться за микросекунды, то имеет смысл использовать самую малую частоту. Если вам важны точные промежутки времени(например, измерение частоты), то лучше использовать частоту побольше и внешний кварц соответствующей частоты. В нашем примере выберем Internal 1MHz.


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

Теперь вы можете загрузить скетч в микроконтроллер просто нажав кнопку Загрузка.

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

Читайте также: