Меню Рубрики

Установка ардуино в linux

AlexxNB › Блог › Настройка Arduino IDE в Linux и добавление поддержки семейства ATTiny.

Настройка Arduino IDE в среде Linux

Уже пару лет прошло с тех пор, как я полностью отказался от 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 это плата для разработки. Готовое устройство необходимо собирать на основе микроконтроллера и соответствующей обвязки.

Обычно для моих поделок не нужно очень много портов IO и в целях миниатюризации и удешевления изготовляемых устройств имеет смысл использовать контроллеры семейства ATTiny25/45/85/24/44/84. В них нету некоторых возможностей, которые есть в ATMega328(на которой базируется Arduino), но зато они очень маленькие — всего на 8 или 14 ножек.

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

Чтобы иметь возможность работать с ATTiny нужно в Arduino IDE открыть меню Файл-Настройки и в появившемся окне вставить ссылку raw.githubusercontent.com…amellis_attiny_index.json в поле Дополнительные ссылки для Менеджера плат и нажать Ок.

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

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

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

Для этого в терминале пишем следующую команду sudo nano /etc/udev/rules.d/10-usbasp.rules:

В появившемся текстовом редакторе вставляем(ctrl-shift-v) следующий текст: SUBSYSTEM==»usb», ATTR< . После этого жмете 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 соответствуют ножкам микроконтроллера.

источник

Установка ардуино в linux

This document explains how to install the Arduino Software (IDE) on Linux machines.

Quick Start

The Linux build of the Arduino Software (IDE) is now a package that doesn’t require any specific procedure for the various distributions availabe of Linux. The only relevant information is the 32 or 64 bit version of the OS.

Читайте также:  Установка кронштейна для телевизора samsung

Download the Arduino Software (IDE)

Get the latest version from the download page. You can choose between the 32, 64 and ARM versions. It is very important that you choose the right version for your Linux distro. Clicking on the chosen version brings you to the donation page and then you can either open or save the file. Please save it on your computer.

Extract the package

The file is compressed and you have to extract it in a suitable folder, remembering that it will be executed from there.

Run the install script

Open the arduino-1.6.x folder just created by the extraction process and spot the install.sh file. Right click on it and choose Run in Terminal from the contextual menu. The installation process will quickly end and you should find a new icon on your desktop.

If you don’t find the option to run the script from the contextual menu, you have to open a Terminal window and move into the arduino-1.6.x folder. Type the command ./install.sh and wait for the process to finish. You should find a new icon on your desktop.

Proceed with board-specific instructions

When the Arduino Software (IDE) is properly installed you can go back to the Getting Started Home and choose your board from the list on the right of the page.

Please Read.

It might happen that when you upload a sketch — after you have selected your board and the serial port -, you get an error Error opening serial port . If you get this error, you need to set serial port permission.

you will get something like:

crw-rw—- 1 root dialout 188, 0 5 apr 23.01 ttyACM0

The «0» at the end of ACM might be a different number, or multiple entries might be returned. The data we need is «dialout» (is the group owner of the file).

Now we just need to add our user to the group:

where is your Linux user name. You will need to log out and log in again for this change to take effect.

This is the procedure to access the serial port from the Arduino Software (IDE) if you get an error

After this procedure, you should be able to proceed normally and upload the sketch to your board or use the Serial Monitor.

Last revision 2016/08/10 by SM

The text of the Arduino getting started guide is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the guide are released into the public domain.

источник

Установка и настройка Arduino > Автор Бидюков Денис

ОкМне очень часто поступают вопросы по поводу установки и настройки 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: >1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

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

Читайте также:  Установка педали газа классика

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

sudo nano /etc/udev/rules.d/10-arduino.rules

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

SUBSYSTEMS==”usb”, ATTRS< >1a86 “, ATTRS< >7523 “, \
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» и я решил таки заморочиться с правилами монтирования порта.

источник

Установка Arduino > Do It Yourself

Всем привет! В своём блоге, я пишу в основном о путешествиях, но также я плотно увлекаюсь робототехникой и схемотехникой, и хотелось бы иногда писать об интересных решениях, связанных с этой областью. Начнём с установки arduino ide на ubuntu, которую я использую как основную на своём ноутбуке. К сожалению, по основной работе я много работаю с аппаратурой, для которой требуется Windows, поэтому полностью отказаться от этой системы не могу. Ранее я это делал из маркета приложений, или мне так казалось по старой памяти, но в этот раз я ардуино тут не нашёл. Быстро нашёл мануал по установке на официальном сайте, и всё сделал, правда пара моментов всё-таки отличалось, может из-за версии 18. Сначала переходим на страницу загрузок

На момент написания статьи это была версия 1.8.8, всё что нужно — скачать образ нужной разрядности, ну тут вы и сами знаете, какая у вас установлена система.

Теперь разархивируем скачанный архив, только так, чтобы файлы оказались в каталоге с названием arduino-1.8.8, этот каталог находится в архиве. Запускаем Терминал, и переходим в папку с установленным каталогом, если у вас русская версия – команда такая.

Потом переходим в папку со скачанным каталогом arduino

Затем по мануалу нам нужно запустить установку командой ./install.sh , но у меня эта команда, как и ожидалось завершилась провалом, потому-что её надо выполнять от имени супер-пользователя.

Подставляем супер-пользователя перед командой вот так:

Теперь всё готово – можно запускать саму оболочку. Но скорее всего вы столкнётесь с тем, что загрузка не будет происходить в плату после компиляции. Чтобы этого избежать, нам необходимо добавить пользователя в группу dialout. Что это такое? Группа dialout разрешает пользователю работать с серийными портами без ограничений, а так как мы программируем по сути через переходник USB-TTL, это и является серийным портом.

Сначала смотрим, наш порт, на официальном сайте приведена команда ls -l /dev/ttyACM*, которая у меня не работает, так-как либо в 18 версии, что-то поменялось, либо китайская ардуина работает немного по другому, так как она у меня висела на ttyUSB0, поэтому:

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

где Username – имя вашего пользователя, что легко подсмотреть в терминале слева, например у меня alex.

После этого, в программе прошивка должна записаться в контроллер!

источник

Установка новой версии Arduino IDE в Linux Ubuntu/Mint

Распаковываем архив с сохранением атрибутов файлов и от имени администратора:

Все файлы будут распакованы в папку «/opt/arduino-1.8.8», что можно проверить:

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

Читайте также:  Установка противотуманок от ближнего света

Далее переходим в нужную папку:

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

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

На скриншоте ниже можно убедиться, что новая версия работает, не создавая помех старой:

Слева − версия из репозиториев 1.0.5, справа − версия с сайта 1.8.7, установленная неделей раньше. Можно заметить разницу в настройках и внешнем виде, в частности, новая версия умеет отображать нумерацию строк скетча.

источник

Программирование 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

Вместо заключения

Сама плата и способы ее использования меня заинтересовали в контексте построения системы «Умный дом». Сейчас у меня капитальный ремонт квартиры в самом разгаре, и я могу проложить любые кабели, разместить любые коммутационные коробки и т. д.

источник

Популярные записи

Добавить комментарий

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