Для получения более подробных инструкций, выберите ваш дистрибутив:
Требования
Чтобы использовать Arduino под Linux вам нужно будет установить некоторые программы, (как это сделать зависит от вашего дистрибутива):
- openjdk-7-jre (хотя пакеты openjdk-6-jre, sun's java 6 runtime, sun-java6-jre package или oracle JRE 7 тоже должны подойти)
- Настоятельно рекомендуется использовать Arduino IDE 1.0.1 и выше, потому что в этой версии используется внутренний компилятор GCC. Это исключает все проблемы взаимозависимостей инструментов, или по крайней мере гарантирует, что у нас у всех есть одна и та же проблема. Кроме того, это означает, что вам не нужно устанавливать все нижеописанные пакеты. Вот и все, больше нет требований и вы можете пропустить оставшуюся часть этого раздела.
- Если вы хотите использовать компилятор вашей системы, удалите папку ./hardware/tools/avr в папке, где установили Arduino IDE.
- Если вы все же хотите использовать старую версию Arduino IDE, то вам нужно avr-gcc ("gcc-avr") версии 4.3.2 или более позднюю версию 4.3.x (4.4.x и 4.5.x кажется, имеют некоторые проблемы).
- Версия 4.3.0 имеет значительную ошибку, которая влияет на умножение целых чисел типа long. Это версия по умолчанию в стоит в Ubuntu Intrepid (8.10). Проверьте версию с помощью команды "
avr-gcc --version " и при необходимости обновите.
- Версии до 4.3.0 не поддерживают микроконтроллер ATmega328 (который установлен на Arduino Duemilanove). Люди, до сих пор использующие дистрибутивы Hardy Heron (Ubuntu) или Etch (Debian) и более ранее, должны обновить свою версию avr-gcc.
- В версии 4.7 была прекращена поддержка некоторых старых стандартов и класс ядра arduino иногда выдает ошибку при компиляции.
- avr-gcc-c++ (иначе вы получите сообщение об ошибке: Cannot run program "avr-g++":j ava.io.IOException:Error=2: No such file or directory)
- avr-libc
Загрузите последнюю версию дистрибутива Arduino под Linux из раздела загрузки Arduino. Распакуйте и скопируйте эти файлы в каталог (например, на рабочем столе) и запустите скрипт "arduino". Убедитесь, что в полном имени этой директории нет пробелов.
Зависимости дополнений
Программное обеспечение Arduino включает в себя пользовательские версии двух дополнительных утилит:
- RXTX - библиотека Java для связи с устройствами по последовательному порту, такими как платы Arduino.
- avrdude - консольное приложение для загрузки программ (прошивки) в микроконтроллеры AVR (такие как в платах Ардуино).
- Начиная с версии Arduino IDE 1.0.1, в дистрибутив включен полностью рабочий пакет avr-gcc.
Версии этих программ, которые поставляются с дистрибутивом Arduino, должны быть работоспособными.Однако, если они не будут работать на вашем компьютере, вам может понадобиться скомпилировать специальные версии этих программ для Arduino для себя, а не использовать стандартные из пакетов из дистрибутива.
Утилита AVRDUDE, которая поставляется с Arduino была изменена, чтобы обеспечить надлежащее функционирование автоматической перезагрузки платы Arduino перед прошивкой (без который прошивка не получиться). Исходный код версии avrdude под Arduino доступен на GitHub.
Библиотека RXTX, поставляемая с Arduino, была изменена для поддержки устройств вида /dev/ttyACM*, которые используются в платах Arduino Uno и Mega 2560 (в них для преобразования USB-последовательный порт вместо FTDI установлен чип ATmega8U2). Исходный код версии RXTX под Arduino доступен на GitHub.
В библиотека RXTX требуется указать последовательные порты через параметр командной строки java gnu.io.rxtx.SerialPorts, поэтому вам придется изменить shell-скрипт arduino и добавить в последней строке, где вызывается java так:
java -Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0 -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel processing.app.Base "$@"
Примечания
Блокировка ошибки подтверждения от Java при использовании Xinerama
Для исправления:
sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun/jre/lib/amd64/motif21/libmawt.so
Устройства USB-Serial (USB-последовательный порт)
Arduino (и другие USB-serial устройства) определяются как /dev/ttyUSB# или /dev/ttyACM#.
Если у вас есть более одного такого устройства, то некоторая Udev-магия может помочь избежать путаницы.
Конфигурация ядра
Если вы настроили свое собственное ядро, драйвера, либо в разделе "Device Drivers => USB Support => USB Serial Converter Support => USB FTDI Single Port Serial Driver" или "Device Drivers => USB Support => USB Modem (CDC ACM) support" выбрали [Y], чтобы он встроен в ядро или [M], чтобы он был собран как модуль, то Dmesg должен показать устройство, в виде:
ftdi_sio 2-2:1.0: FTDI USB Serial Device converter detected
или
cdc_acm 5-2:1.0: ttyACM0: USB ACM device
Права пользователей
Убедитесь, что вы находитесь в группе tty. В некоторых дистрибутивах вам может понадобиться создать правила Udev для конвертера FTDI USB последовательного устройства.
Проверьте версию avr-gcc
Это работает, только если вы используете версию Arduino IDE 1.0 или более раннюю или если вы удалили папку ./hardware/tools/avr.
Запустите команду в терминале avr-gcc --v для проверки версии.
С чего начать
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://playground.arduino.cc/Learning/Linux |