Inhaltsverzeichnis

Installation der aktuellen Arduino Version

Die Anleitung habe bei mir funktioniert. Ich hatte zwei Probleme zu lösen:

  1. Die Konfigurationsdatei .arduino muss für den jeweiligen Nutzer gepatched werden.
  2. Der Standardordner für die Arduino-Programme wird im Homeverzeichnis erstellt, sollte aber in Home_auf_Server erstellt werden.

Ich wollte an der Standardkonfiguration von Ubuntu so wenig wie möglich ändern. Deshalb habe ich die veraltete Arduino IDE mit Hilfe von apt-get installiert. So werden alle Abhängigkeiten und Verknüpfungen (z.B öffnen einer Arduino Datei) richtig angelegt. Die Aktuelle Version öffne ich mit Hilfe eines Skriptes, das von der modifizierten ardiuno.desktop Datei aufgerufen wird.

Aktuelle Version mit allen Abhängigkeiten installieren

Alle Anhängigkeiten installiert man am Schnellsten, wenn einfach die Arduino IDE über apt-get installiert wird:

 apt-get install arduino arduino-core 

Wenn man jetzt die Arduino IDE öffnet, stellt man fest, dass die Version 1.0.5 geöffnet wird. Aktuelle ist aber die Version 1.6.8 (März 2016) auf der Homepage vorhanden. Da die neue Version wesentliche Verbesserungen besitzt benutze ich für den Unterricht diese Version. Dazu muss die aktuelle Version von der Arduino Homepage https://www.arduino.cc/en/Main/Software herunter geladen und anpackt werden. Den ausgepackten Ordner dann nach /opt/ verschieben und in arduino umbenennen:

tar -xvf arduino-1.6.8-linux64.tar.xz
sudo mv arduino-1.6.8 /opt/arduino

Wenn man Java schon installiert hat, dann kann auch noch der Ordner /opt/arduino/java gelöscht werden. Die Arduino IDE sollte trotzdem noch funktionieren.

Anpassungen an die Linuxmuster

Konfigurationsdatei Patchen

Da beim Anmelden die Konfigurationsdaten des Default Nutzers (bei mir linuxadmin) kopiert werden, muss in der Datei .arduino/preferences.txt der Speicherort für den Sketch-Ordner angepasst werden. Dies löse ich mit Hilfe eines Anmeldeskriptes. (Eventuell muss im Script der Name des Konfigurationsordners .arduino der Arduino IDE angepasst werden. Ich patche zusätzlich noch den Ordner .arduino15, für die Version 1.6.8);

patch_arduino.sh
#!/bin/bash

# Das Skript "patch_arduino.sh" ändert die Arduino config Datei preferences.txt fuer 
# den angemeldeten Nutzer ab.

NEWPATH=$HOME/Home_auf_Server/sketchbook

sed -i 's|/home/linuxadmin/sketchbook|'$NEWPATH'|g'  $HOME/.arduino/preferences.txt

sed -i 's|/home/linuxadmin/sketchbook|'$NEWPATH'|g'  $HOME/.arduino15/preferences.txt

Dieses Skript unter /usr/bin/ speichern und ausführbar machen:

sudo chmod +x /usr/bin/patch_arduino.sh

Anschließend als Anmeldescripte konfigurieren

sudo linuxmuster-client-extras-setup --type login --on /usr/bin/patch_arduino.sh --order 045

Projektordner beim Anmelden wenn noch nicht vorhanden in Home_auf_Server erstellen

Wenn ein Nutzer die Arduino IDE zum ersten mal benutzt wird ein Ordner für die Sketche (Arduinoprogramme) angelegt. Die Arduino IDE hat als Standart hier das home-Verzeichnis des Benutzers! Da dies bei vielen Schülern/-innen zu Missverständnissen geführt hat, habe ich noch ein Startskript für die Arduino IDE erstellt, das den Ordner sketchbook (wenn noch nicht vorhanden) in Home_auf_Server erstellt. Dieses Startskript erlaub es auch ganz einfach die aktuelle Arduino IDE einzubinden.

arduino_start.sh
#!/bin/bash

sketchbook=$HOME/Home_auf_Server/sketchbook
file="$1"

echo $file
if [ -d $sketchbook ]
then
  /opt/arduino/arduino $file &	
else  # $dir existiert noch nicht, also anlegen
  mkdir $sketchbook	
  /opt/arduino/arduino $file &
fi

Dieses Skript unter /usr/bin/ speichern und ausführbar machen:

sudo chmod +x /usr/bin/arduino_start.sh

Um die Arduino IDE über das Dash oder per Doppelklick auf eine Arduino-Datei zu starten muss noch die arduino.desktop Datei angepasst werden. Diese Datei findet man im Ordner /usr/share/applications/:

Arduino.desktop
[Desktop Entry]
Type=Application
Name=Arduino IDE
GenericName=Create physical computing projects
Exec=arduino_start.sh %u
Icon=arduino
Terminal=false
Categories=Development;Engineering;Electronics;
MimeType=text/x-arduino
Keywords=embedded electronics;electronics;avr;microcontroller;