Arduino Software unter Ubuntu

Hallo alle zusammen,

meine Kollegen wollen “Arduino Software” auf Ubuntu aufgespielt haben.
Kurze Recherche bringt die Arduino IDE:

https://wiki.ubuntuusers.de/Arduino/

Da steht, dass man den User der Gruppe dialout hinzufügen muss: wie kann ich den alle Nutzer der Gruppe hinzufügen: auch die, die noch nicht angemeldet waren?

Noch eine Frage: was installiert man den am Besten?
Reicht die IDE?
Ich hätte mich für die manuelle INstallation entschieden um das aktuellere Paket zu haben.

LG

Holger

Hallo Holger,

Ich verwende lieber das offizielle Package hier : https://www.arduino.cc/en/Main/Software
Die Version unter Ubuntu war letztes Jahr zu alt.

Die IDE reicht, aber danach sollen die User auch Bibliothek installieren und in ihren Homeverzeichnis verlinken.

Als Post-Mount-Skript habe ich folgendes gemacht :

sed -i s:/home/linuxadmin/Arduino:${HOMEDIR}/Home_auf_Server/Arduino:g $HOMEDIR/.arduino15/preferences.txt

Die User können dann alles im Home_auf_Server/Arduino legen.

Wegen dialout, ich denke ich habe es in /etc/security/group.conf eingetragen, noch zu überprüfen.

Gruß

Arnaud

Hallo

genau! Ich wurschtle mich grad durch Leoclient2 und da steht (Zitat Wiki):

um für die Domänenbenutzer alle Optionen von VirtualBox frei zu geben, müssen diese ebenfalls Mitglied der Gruppe vboxusers sein. Hierzu ergänzt man in der Datei /etc/security/group.conf in der Zeile ;;*;Al0000-2400;dialout… den Eintrag vboxusers. Diese Zeile könnte dann wie folgt aussehen:

*;*;*;Al0000-2400;dialout,cdrom,floppy,audio,dip,video,plugdev,scanner,vboxusers

so wie es ausschaut, ist dialaout da standardmäßig aber schon eingetragen.
LG
Max

Hallo, Holger !

Ich empfehle den Einsatz der originalen Arduino-Software, so haben wir es vor einiger Zeit hier auch gemacht. Zwar muss man das Problem mit dem vollaufenden home lösen, sofern man nicht - analog zu wine - Dateien auslagert und allgemein benutzbar macht. Aber bei Einsatz modernerer Arduino-Varianten - wir haben hier mal den „Photon“ ausprobiert…

und auch den Teensy:

…haben wir festgestellt, dass die aktuellen und passenden libs nicht über die veraltete Ubuntu-Version zur Verfügung standen.
Das Arbeiten mit der Version von der Arduino-Website gestaltete sich schmerzfrei.

Viel Spaß,
Christoph Gü

Hallo Arnaud,

Die IDE reicht, aber danach sollen die User auch Bibliothek installieren
und in ihren Homeverzeichnis verlinken.

Als Post-Mount-Skript habe ich folgendes gemacht :

sed -i s:/home/linuxadmin/Arduino:${HOMEDIR}/Home_auf_Server/Arduino:g
$HOMEDIR/.arduino15/preferences.txt |

Die User können dann alles im Home_auf_Server/Arduino legen.

Wegen dialout, ich denke ich habe es in /etc/security/group.conf
eingetragen, noch zu überprüfen.

also: alle sind der Gruppe dialout in der /etc/security/group.conf
zugeordnet: anscheinend keien Probleme von dort.
Ich habe arduino von der Homepage als tar.xz heruntergeladen und extrahiert.
Es liegt auf dem Client unter /opt/arduino-1.8.5

Danach hab ich die install.sh als linuxadmin ausgeführt, was das Icon
auf den Desktop gelegt hat.
Nun bin ich also an dieser Stelle:

sed -i s:/home/linuxadmin/Arduino:${HOMEDIR}/Home_auf_Server/Arduino:g
$HOMEDIR/.arduino15/preferences.txt

Ich habe die Zeile in eine neue Datei 010-arduino die in
/etc/linuxmuster-client/port-mount.d/ liegt und die Rechte 755 hat,
geschrieben.
Die Verzeichnisse ~/Arduino und ~/.arduino15/ gibt es im Home des
linuxadmin. Die preferences.txt liegt an der richtigen Stelle.

Nun ist die Frage: wird das Verzeichnis Home_auf_Server/Arduino bei
jedem User der sich anmeldet erschaffen, oder muss ich das vorher
anlegen bei den Nutzern?

LG

Holger

Hallo Holger,

Ich habe die Entscheidung genommen : jeder User, der Arduino nutzen will, soll selber einen Ordner Arduino in Home_auf_Server erstellen. Ansonstens gibt es Verwirrung wegen einen unbekannten Ordner.

Gruß

Arnaud

Hallo Arnaud, hallo Holger,

ich stehe bei Arduino nun vor dem Problem, dass die Nutzer Bibliotheken installieren, jedoch nicht in Home_auf_Server sondern auf /home/teachers/…/sketchbook oder /home/students/…/sketchbook installieren. Diese Dateien sind natürlich nach Neustart weg, was nicht unbedingt schön für jede Stunde ist.

Ihr habt es so gelöst, dass ihr ein Post-Mount-Skript durchführt. Reicht es nicht in Arduino den direkten Sketchbook-Pfad zu hinterlegen?

Ein Nachschauen im Client unter /etc/linxmuster-client/post-mount erbrachte mir kein Script 010-arduino. Muss ich das dann für das Mounten des Verzeichnisses selbst scripten (so wie es Holger tat:

Es wird jedoch schon ein Ordner /arduino/sketchbook vor Start des Programmes Arduino in Persönliche Ordner angelegt. Ich finde aber nirgends, wo dies gescriptet wird. Meine Idee wäre nun, den Sketchbook-Speicherort für alle User auf /arduino/sketchbook zu verlinken, der ja immer bestehen bleibt.

Könnt ihr mir helfen?

LG und Danke,
Marcus

Hallo Marcus,

ich stehe bei Arduino nun vor dem Problem, dass die Nutzer Bibliotheken
installieren, jedoch nicht in Home_auf_Server sondern auf
/home/teachers/…/sketchbook oder /home/students/…/sketchbook
installieren. Diese Dateien sind natürlich nach Neustart weg, was nicht
unbedingt schön für jede Stunde ist.

ich würde das verzeichnis einfach auch ins Serverhome/Einstellungen
verlinken lasen mit linuxmuster-client-extras.
Dann muß jeder nur einmal für sich die Bibliotheken installieren.

Schau mal in die Datei auf dem Cleint:
/etc/linuxmuster-client/profile/usersettings.conf

Dabei steht links des Doppelpunktes das Verzeichnis, in dem die Daten im
Serverhome unterhalt von Home_auf_Server/Einstellungen liegen und rechts
davon das Verzeichnis, wie es auf dem Client liegen soll.

LG

Holger

Hallo Holger,

vielen Dank für die Nachricht.

Verstehe ich das richtig? Muss ich dann nur die Verlinkung in usersettings.conf rechts des Doppelpunktes in das Verzeichnis Home_auf_Server setzen? Oder muss ich hier auch noch ein Script aus linuxmuster-client-extras laufen lassen, um die Verlinkung korrekt auf alle Homverzeichnisse zu setzen?

LG
Marcus

Hallo Marcus,

Schau mal in die Datei auf dem Cleint:
/etc/linuxmuster-client/profile/usersettings.conf

Dabei steht links des Doppelpunktes das Verzeichnis, in dem die Daten im
Serverhome unterhalt von Home_auf_Server/Einstellungen liegen und rechts
davon das Verzeichnis, wie es auf dem Client liegen soll.

Verstehe ich das richtig? Muss ich dann nur die Verlinkung in
usersettings.conf rechts des Doppelpunktes in das Verzeichnis
Home_auf_Server setzen?

Nein: rechts des Doppelpunktes steht der Pfad relativ zum Home auf dem
Cleint.
Sichert dein Programm also nach ~/.arduino/
Dann schreibst du dort .arduino hin.

Oder muss ich hier auch noch ein Script aus
linuxmuster-client-extras laufen lassen, um die Verlinkung korrekt auf
alle Homverzeichnisse zu setzen?

nein: kein Script nötig.
Das Ding ist intelligent genug um fest zu stellen, dass das Verzeichnis
auf dem Server (also im Home des gerade anmeldenden Users) leer ist:
dann wird der Inhalt des auf dem Cleint vorhandenen Verzeichnisses kopiert.
Gibt es das nicht, wird nur der Link gesetzt.
Erschafft der user dann Daten in diesem Verzeichnis, landen sie
unterhalb von Einstellungen auf Home_auf_Server

LG

Holger

Hallo!
bei mir funktioniert nur die Variable ${HOME} für den sketchbook-Pfad.
Ich lasse die preferences.txt ebenfalls über usersettings-opt.conf mit ALL:ALL verlinken, die SuS müssen sie dann einmalig wegkopieren.
Nur: Ich brauche einen Proxy-Server, und den kann ich nicht automatisch für jeden Schüler eintragen. Habt Ihr eine Lösungsidee, außer dem Proxy auf transparent schalten?

LG
Max

kannst du das erklären? Wer braucht einen Proxy-Server und welchen hast du momentan( IPFire, wie authentifiziert?)
VG, Tobias

Hallo Tobias,
jeder, der eine neue Bibliothek installieren will, braucht Internet und bei mir proxyauth, da ich nichttransparent wegen identd bin (der aber nicht zuverlässig den Bentuzer “lehrer” sperrt).
LG
Max

Seltsames Phänomen

Liebe Liste,

ich habe seit Weihnachten ein seltsames Phänomen, dessen Grund ich nur erahnen kann. Vielleicht hat jemand aus Karlsruhe ähnliche Probleme.

Wir haben 2 NwT-Räume in denen wir Fujitsu-Laptops als NwT-Rechner mit Arduino-Software laufen lassen. In beiden Räumen ist die selbe Hardware auf der das allerselbe Image und die gleiche Arduino-Software-Version installiert ist. Hängen 20 Rechner am Netzwerk und wird mit diesen 20 Rechnern mit Arduino-Sketch gearbeitet, dann frieren die Rechner in dem einen Raum regelmäßig ein, so dass ich die wohl jetzt vom Server abhängen muss und im anderen Raum sporadisch.

Vor Weihnachten wurde ein Switch durch MCT getauscht. Nach diesem Tausch häuften sich die Freezing-Fälle jedoch nicht gleichzeitig an 20 Rechnern. Erst seit unser Core-Switch von MCT getauscht wurde, häufen sich die Freezingfälle auf 20 Rechnern gleichzeitig. Das ist natürlich absolut ungut, da hier sehr viel Unterrichtszeit verblasen wird.

Da die Probleme nun seit dem Switch-Tausch vermehrt auftreten, vermute ich irgendein Konfigurationsproblem des Switches.

In der Ursachenforschung beschäftigt mich auch eine Frage: Dated Arduino-Sketch irgendetwas im Hintergrund up, dass zu einem Timeout an der Firewall führen kann?

Unser System ist nach wie vor linuxmuster 6.2 auf kvm.

Bin ich mit meiner Vermutung auf dem Holzweg, oder seit ihr konform mit der Geschichte?

Danke für eure Hilfe und

LG
Marcus

@Marcus : Das kommt drauf an, wo deine Arduino-Installation liegt. Liegt sie im Netzlaufwerk, kann könnte das im Zusammenhang mit dem Switch für Probleme sorgen.
@all: Lest Euch das arduino-install Skript mal durch, schaut, welche Dateien wohin kopiert werden.
Ich habe basierend darauf eine arduino.desktop geschrieben für einen Starter, habe die Dateien nach /opt kopiert, läuft super. Dann liegt es auf der lokalen Festplatte, belastet das Netz nicht, alles gut.
Das mache ich mit der Lego Software auch so. ist eine Pest, dass lokale Installer geschrieben werden, die keine Option bieten, etwas für alle zu installieren.

Die Arduino-Version direkt von der Arduino Seite enthält eigentlich auch schon alle Bibliotheken. Wenn man was nach installieren will, ist das ein Problem, weil der normale Nutzer unter Opt nichts installieren darf.

Was den Dialout-Nutzer betrifft: Unter v7 muss man da Änderungen am System anbringen, damit die /etc/groups.conf überhaupt gelesen wird. Da hatte ich einen längeren Faden dazu, findet man leicht in der Suche. Braucht man auch für Lego-Software.

Ich kann die .desktop-Datei auch nachreichen, nur gerade bin ich unterwegs und habe keinen Zugriff darauf!

Was genaus heisst „einfrieren“? Ist der gesamte Rechner „tot“, also der Bildschirm bleibt unverändert, die Maus steht und ein Ctrl-Alt-F1 kann nicht mehr auf die Console schalten oder hängt ein einzelnes Programm aber alles andere (Bildschirm, Maus, …) geht noch?

Wenn eine Korrelation zwischen Netzwerk und Freeze bestehen soll würde ich ja lediglich zweiteres vermuten.

Ein Schuss ins Blaue: Bei Freeze&Netzwerk ist MTU immer ein beliebter Grund. MTU Probleme führen zu random Freezes und unglaublich komischem Netzwerkverhalten. Je nach Komplexität des Setups (VPNs, Jumboframes durch Virtualisierung, …) sind MTUs ein Thema.

Hallo,

ich halte Andreas Lösung für die Beste:
Software deinstallieren und nochmal so installieren, dass sie eben nicht
im userhome oder auf dem Server liegt.
Dann sollten Netzwerkprobleme nicht auftauchen.

Generell würde ich aber sagen:
hier kann man mal wieder sehen was den so passiert wenn jemand ein
Netzwerk nutzt (Schule) ein anderer es Betreut (Stadt) und ein Dritter
im Auftrag des zweiten in das Netz eingreift (Dienstleister hier: MCT).

Dein Vorgehen sollte also auch sein, dass du der Stadt zurückmeldest,
dass sich die Probleme verschlimmert haben, seit eine Zentrale
Hardwarekomponente ausgetauscht wurde.

Weswegen wurde die eigentlich getauscht?
Um Probleme zu beheben? (hat nicht geklappt)
Um diese Probleme zu beheben? (…lustig)
oder etwa „weil das jetzt Stand der Technik“ ist (hat der Dienstleister
MCT der Stadt aufgequatscht: für alle Schulen … bestimmt auch gaaanz
günstig).

Ich find das schon ein Starkes Stück wenn eine „Fachfirma“
Netzwerktechnik austauscht ohne auf die Bedingungen vor Ort zu achten:
dann hätten die den Switch auch dem Hausmeister schicken können und der
hätte ihn eingebaut: weswegen wurde den eine Fachfirma beauftragt, wenn
sie „fachlich“ nichts geleistet hat?

… aber vielleicht hab ich auch gerade nur schlechte Laune, weil die
Haselnuss so stark blüht …

LG

Holger

Hi Andreas,

ich würde auch Arduino vom Home_auf_Server runternehmen. Das ist vermutlich das Nadelöhr, denn darin läuft ja die ganze Java-maschinerie, das gehört nach /opt und dann kopierst du die arduino-ardunioide.desktop nach /usr/share/applications/
Im Fall von arduino lässt sich die Software wunderbar „für alle“ installieren.

Bei uns wird für das große WLAN-Festival aufgerüstet. In diesem Fall ist die Stadt Schuld: Ganz Karlsruhe bekommt upgrades ohne Ende in Sachen Hardware.
Ob und wieviel da der Dienstleister „aufgequatscht“ hat, lässt sich nicht beurteilen. Dass es eine ganze Meile zu viel Geld kostet ist aber dem ersichtlich, der nach Alternativen gefragt hat.

VG, Tobias, der mit @baumhof leidet… ganz geschickt für meine heuschnupfen geplagten Augen: ich habe mir eine Pflanze ins Auge gestochen. Einziger Vorteil: es war eine Aloevera, soll ja gut tun…

Hallo,

ich wollte mal nachfragen, ob jemand den Vorschlag von Holger umgesetzt hat, damit die User sich Bibliotheken selbst installieren können über die Funktion von linuxmuster-client-extras (Admin-Eintrag in usersettings-opt.conf oder usersettings.conf).

  • Muss man dazu beide Ordner nach „Einstellungen“ umbiegen mittels Eintag in usersettings-opt.conf oder usersettings.conf?
    Also
    arduino15:.arduino15
    und
    Arduino:Arduino

  • Muss man preferences.txt verändern?
    sketchbook.path=???
    Wie lautet dann der richtige Pfadname und wie patcht man den am besten - per Postsync gleich im Verzeichnis des linuxadmins?

  • Braucht man noch weitere Anpassungen?

Mit besten Wünschen
Stefan

Hallo Arnaud,
gilt dieses Script auch in der lmn7? Ich habe gerade das Problem, dass meine Schüler keine Bibliotheken installieren können.
Bzw. wie funktioniert das allgemein in v7. Hat da einer eine Anleitung? linuxmuster-client-extras gibt es da ja meines Wissens nicht mehr.

LG
Daniel