Ist es möglich, NXT-G-Software unter Linux mit Wine auszuführen?

19

Ich möchte Lego Mindstorms NXT-G verwenden, habe jedoch keinen regelmäßigen Zugriff auf einen Computer unter Windows oder OS-X. Ich habe versucht, die offizielle Software unter Linux mit Wine zu verwenden, aber sie wurde nicht einmal installiert. Ich habe mich gefragt, ob jemand besseren Erfolg hat und wenn ja, wie es gemacht wurde, was funktioniert und was immer noch nicht.

Mir ist bewusst, dass es andere Möglichkeiten gibt, den Baustein zu programmieren, und dass einige (die meisten?) Davon unter Linux laufen. Diese sind jedoch in Wettbewerben wie FIRST Lego League nicht erlaubt, was sie für meinen Zweck etwas weniger geeignet macht.

Jan Hlavacek
quelle
2
Ich befürchte, dass Sie eine vollständige virtuelle Windows-Maschine oder so etwas benötigen, aber das ist nicht wirklich etwas, bei dem ich helfen kann.
2
@mfg: Warum nicht Ubuntu oder Unix / Linux fragen, oder ... hier? Alle diese anderen Sites werden wahrscheinlich nur die anderen Programmierumgebungen empfehlen - IMO macht es hier zu einer vernünftigen Frage, innerhalb der standardmäßigen Lego-Wettbewerbsregeln zu bleiben.
1
@muntoo Hast du eine Referenz für NXT-G, das auf Flash basiert? Das verwirrt mich.
2
@pcantin: In den Regeln der FIRST Lego League heißt es beispielsweise eindeutig: " Der Roboter darf nur mit LEGO MINDSTORMS, RoboLab oder NXT-G-Software (jeder Version) programmiert werden. Keine andere Software ist zulässig. "
Jan Hlavacek
1
@Jan: Ja! Hier ist noch eine Linux-Person! :) Oh, und schau in meinem Blog (in meinem Profil) nach Linux-Ports für Lego-bezogene Software. (Aber nicht NXT-G, sorry.)
1.

Antworten:

4

Ich habe einige Nachforschungen angestellt und einen dieser Threads gefunden , der behauptet, dass die Programmiersprachen unter Wine funktionieren sollten. Jemand im selben Thread sagte, er / sie habe es in VirtualBox anstelle von Wine ausgeführt.

Die Mindstorms-Software wird jedoch in den Anwendungsdaten von Wine als "Müll" aufgeführt. Ich denke, das heißt, es läuft überhaupt nicht.

Daviesgeek
quelle
1
Ich kann bestätigen, dass NXT-G in VirtualBox ausgeführt wird. Ich habe das vor einigen Jahren verwendet, und das einzige Problem, das ich damit hatte, war, dass jedes Mal, wenn der NXT herausgezogen wurde, die virtuelle Maschine den Besitz des USB-Geräts verlor und es nach dem erneuten Anschließen des NXT zurückgefordert werden musste. Ärgerlich, aber kein Showstopper. Die neueren Versionen von VirtualBox bieten eine viel bessere USB-Unterstützung, sodass das Problem wahrscheinlich nicht mehr besteht.
Jan Hlavacek
Die Probleme bei der Verwendung einer virtuellen Maschine sind: Erstens müssen Sie eine leistungsfähigere Maschine haben, da Sie zwei Betriebssysteme gleichzeitig ausführen, und zweitens benötigen Sie noch eine Windows-CD, um auf der virtuellen Maschine zu installieren. Früher hatte ich eine XP-CD herumliegen, die ich nur für diesen speziellen Zweck verwendet habe, aber das habe ich vor ein paar Jahren verlegt.
Jan Hlavacek
Es scheint, dass ich dies als die richtige Antwort akzeptieren muss. Es scheint keine Möglichkeit zu geben, NXT-G unter Linux auszuführen (ohne eine virtuelle Maschine zu verwenden).
Jan Hlavacek
2

Folgendes würde ich versuchen. Sie können eine MS Windows Micro-Instanz (virtuelle Maschine / VM) in Amazon Web Services (AWS) starten . Eine AWS-Micro-VM kostet nichts, wenn Sie Linux verwenden. Da Sie jedoch Windows benötigen, sind es 0,03 US-Dollar pro Stunde. Die Preisliste finden Sie auf dieser Seite . Wenn die Mikroinstanz zu klein oder zu langsam ist, können Sie eine größere Instanz verwenden (eine besonders große Instanz kostet 0,96 USD / Stunde).

Sie können die LEGO-Software darauf installieren und remote arbeiten. Um zu vermeiden, dass die LEGO-Software jedes Mal installiert wird, können Sie sogar Ihre eigene VM erstellen und bei Bedarf neu starten.

Der einzige Nachteil, den ich sehe, ist das IO zwischen der VM und dem physischen LEGO NXT-Baustein. Dies könnte wahrscheinlich gelöst werden, indem auf Ihrem Heimcomputer ein Proxy-Port erstellt wird, über den die LEGO-Software auf der VM mit dem Baustein kommunizieren kann. Dies muss getestet werden, da ich keinen NXT habe. Wenn dieser Teil zu kompliziert (oder unmöglich) ist, können Sie nach anderen Möglichkeiten suchen, um den Code von der Windows-VM auf den NXT hochzuladen.

Wenn Sie noch nie mit AWS gespielt haben, empfehle ich, mit einer Linux-Mikroinstanz (z. B. Ubuntu) zu beginnen. Da es nichts kostet, ist es ein guter Weg, um zu experimentieren, wie das Ganze funktioniert.

pcantin
quelle
1

Die neue Ev3-Software steht zum Download zur Verfügung und unterstützt die Programmierung von NXT 2.0-Bausteinen.

Es unterstützt jedoch wie NXT-G nur OSX und Windows. Es kann unter Playonlinux / Wine installiert werden, startet jedoch aufgrund von Abhängigkeiten zu Mono 4.3 und anderen Abhängigkeiten nicht.

Ich kann verstehen, warum FLL die Verwendung von fremder Softwarekonsistenz einschränken möchte, aber ich wünschte, sie würden so etwas wie Enchanting in Betracht ziehen, wenn niemand in der Lage ist, die Probleme beim Ausführen von Ev3 unter Wine zu lösen.

Marco
quelle
Ich hatte gehofft, da der neue Brick Linux tatsächlich als internes Betriebssystem verwendet, dass sie Linux auch mit der Ev3-Software unterstützen, aber anscheinend nicht. Eine Schande.
Jan Hlavacek
@JanHlavacek - Interessant ist auch, dass es immer noch auf National Instruments läuft, aber die Benutzeroberfläche scheint auf Silverlight / Mono zu basieren. NI kann unter Linux ausgeführt werden, und für Linux gibt es ein von Miguel de Icaza geschriebenes natives Mono. Das Potenzial ist also vorhanden, aber es müsste neu geschrieben werden. Ich habe einen Brief an Lego geschickt, in dem ich darum gebeten wurde, und ich denke, dass es einen Lego-Botschafter-Forenthread gibt, der dies diskutiert, sodass Lego selbst vielleicht irgendwann eine Antwort geben wird.
Marco