![]() |
ArduinoProf. Jürgen Plate |
Es scheint eigentlich sehr einfach zu sein, die Arduino-IDE unter Ubuntu zu installieren - einfach das Paket mit Aptitude oder apt-get auf dem Rechner vollautomatisch einrichten. Nur leider ist die Version im Repository von Ubuntu schon etwas in die Jahre gekommen. Da ist es besser, sich die frische Version direkt von der Arduino-Webseite zu holen. Bei der Gelegenheit kann man dann auch gleich noch etwas tunen.
Die Installation läuft in einigen Schritten ab. Übrigens müssen Sie die Kommandos nicht alle von Hand eingeben, denn weiterunten finden Sie den Link auf ein Bash-Script, das alle Schritte vollautomatisch erledigt. Da alle Kommandos Root-Berechtigung erfordern, erzeugen Sie sich am Besten mit sudo bash eine Root-Shell. Um die Arduino-Oberfläche zu installieren, gehen Sie folgendermaßen vor.
apt-get -y install openjdk-6-jre libjna-java libjna-java-doc
apt-get -y install extra-xdg-menus
Falls sich mehr als eine Java-Variante auf der Platte befindet muss mittels
update-alternatives --config java die richtige Version aktiviert werden.
apt-get -y install gcc-avr avr-libc avrdude avrdude-doc \
binutils-avr gdb-avr ponyprog
# Variablen nach Bedarf anpassen:
NAME=<Namen des Standard-Users>
AVERSION=<Aktuelle Version der Arduino-Software>
# Nun die Kommandos:
cd /home/$NAME/
wget http://arduino.googlecode.com/files/${AVERSION}-linux.tgz
tar xzvf ${AVERSION}-linux.tgz
ln -s $AVERSION arduino
Nun kann die IDE schon mal testweise gestartet werden. Sinnvoll ist es, gleich mal das Arduino-Board per USB mit dem PC zu verbinden, damit sich das verwendete Schnittstellen-Device feststellen läßt. Normalerweise wird der Treiber automatisch geladen. Wenn Sie nun die IDE starten (cd arduino; ./arduino) und unter Tools → Serial Port den Port auswählen, sehen Sie gegebenenfalls einige Standard-COM-Ports (/dev/ttyS0, /dev/ttyS1 ...) und den USB-Port des Arduino. Sind es mehrere, können Sie mit dem Kommando dmesg nach dem zuletzt eingesteckten USB-Device suchen (meist /dev/ttyACM0 oder /dev/ttyUSB0).
Jetzt wird das Ganze noch etwas aufgemotzt. Die Arduino-IDE verwendet das Swing-Fenstersystem anstelle von GTK, was bei manchen Rechnern zu einer IDE führt, die etwas holperig läuft. Das lässt sich durch Editieren des Arduino-Startscripts ändern:
cd arduino # falls Sie nicht schon/noch im Verzeichnis sind test -f arduino.orig || cp arduino arduino.orig # Backup anlegen # Hier wird der ganze Schlauch "-Dswing..." entfernt sed -e 's/^java.*$/java processing.app.Base/' < arduino.orig > arduino
Damit der User auch über die serielle Schnittstelle mit dem Arduino kommunizieren darf, muss er gegebenenfalls noch in die Gruppen "tty" und "dialout" aufgenommen werden:
usermod -aG tty $USERNAME usermod -aG dialout $USERNAME
Mit dem neueren Modellen des Arduino Uno hat ja auch der Chip für die USB-Anbindung gewechselt, es ist nicht mehr der gute alte FTDI-Baustein. Deshalb heisst das Device auch anders, nämlich /dev/ttyACM0. Nach dem letzten Update der Arduino-IDE zeigte sich plötzlich das Phänomen, dass die serielle Schnittstelle zum Arduino in der IDE nicht ausgewählt werden konnte. Grund dafür waren die unzureichenden Zugriffrechte. Da kann man aber gleich Nägel mit Köpfen machen und ein für alle mal passende UDEV-Regeln formulieren und in der Konfiguration verankern. Die Kommandofloge trägt dann passende Regeln für den Arduino in die Datei ein:
sudo su
cat <<EOF >> /etc/udev/rules.d/50-local.rules
#Arduino FTDI + NANO
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", RUN+="chmod 555 /dev/ttyUSB0"
#Arduino UNO
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idProduct}=="0043", ATTRS{idVendor}=="2341", RUN+="chmod 555 /dev/ttyACM0"
EOF
udevadm control --reload-rules
Wer möchte, kann auch die Zeilen noch duplizieren und für die Devices /dev/ttyUSB1
und dev/ttyACM1 erweitern - falls mal zwei Arduinos am PC stecken.
In manchen Fällen macht auch der Modemmanager von Ubuntu Ärger. Wenn Sie sowieso keine
Modems etc. im EInsatz haben, können Sie den Modemmanager auch löschen:
sudo apt-get remove modemmanager
Zum Schluss kann man der IDE noch einen Starter auf dem Desktop spendieren. Wer die deutsche Version installiert hat, muss statt "Desktop" "Arbeitsfläche" verwendet werden:
cat </home/$USERNAME/Desktop/Arduino.desktop #!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Terminal=false Icon[de_DE]=arduino Name[de_DE]=Arduino Exec=/usr/bin/arduino Name=Arduino Icon=arduino Comment=Arduino EOF7 chmod 755 /home/$USERNAME/Desktop/Arduino.desktop chown $USERNAME.$USERNAME /home/$USERNAME/Desktop/Arduino.desktop
Das Gesamt-Script heisst arduinoinstall und benötigt nur einen Parameter, den Usernamen (was man z. B. durch DoArduino.sh franz für den Unser "franz" erreicht. Zusammen mit der Arduino-IDE wird auch noch das serielle Terminalprogramm putty inklusive Starter installiert (putty kann auch als ssh-Client dienen).
Vor dem Aufruf (./arduinoinstall) muss das Script mittels chmod +x arduinoinstall ausführbar gemacht werden. Oder man ruft es einfach mit der Bash auf: bash arduinoinstall.