Gymnasium Himmelsthür

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
rcx_und_nxt [2014/09/05 08:37]
fschuett
rcx_und_nxt [2016/11/14 14:11] (aktuell)
fschuett
Zeile 1: Zeile 1:
 ====== Lejos für RCX/NXT ====== ====== Lejos für RCX/NXT ======
  
-===== Linux ===== +=== Inzwischen wird Netbeans ​für die Programmierung ​verwendet === 
- +Dieser Artikel ​ist in bezug auf den JBuilder veraltet. ​Netbeans ​dient inzwischen ​zur Programmierung.
-==== Installation (openSUSE) ==== +
- +
- +
- +
-  *Die Installationspakete befinden sich im Schulrepository (http:​%%//​%%arktur/​software/​local) +
-  *Installation von lejos-3.0.0-x.rpm (diese Bibliothek enthält die weiteren Teile 2 und 3) und lejos_nxj-0.9.0beta-x.rpm.\\ ​  +
-  *Einfügen von Umgebungsvariablen:​\\ ​ RCXTTY=/​dev/​legousbtower0\\ ​ LEJOS_HOME=/​usr/​share/​lejos\\ ​ NXJ_HOME=/​usr/​share/​lejos_nxj\\ ​ \\  Diese Variablen werden durch die Installation im Verzeichnis /​etc/​profile.d eingefügt.\\ ​  +
-  *Für das nun verwendete System „udev"​ müssen Regeln erstellt werden, die die entsprechenden Geräte ​für alle les- und schreibbar machen. Diese Regeln werden durch die Installation im Verzeichnis /​etc/​udev/​rules.d hinzugefügt.\\ ​  +
-  *Für die bequeme Nutzung vom JBuilder aus muss noch das Paket jbmt-4.0-x.rpm (von mir selbst programmiert) hinzugefügt werden.\\ ​  +
-  *Es müssen im JBuilder die entsprechenden Pfade eingestellt werden. +
- +
-{{:​lejos:​lejos_installation1.png|Einrichtungsdialog}} +
- +
-Die Einstellungen variieren etwas, je nachdem, ob der RCX- oder der NXT-Baustein ​verwendet ​werden soll (siehe unten). +
- +
-===== Programmierung mit Java ===== +
- +
-==== Voraussetzungen ==== +
- +
-6 Batterien werden für den RCX-Baustein benötigt, der NXT enthält einen Akku. +
- +
-Der RCX-Baustein muss mit der Infrarotschnittstelle gegenüber dem IR-Tower stehen, der an eine der USB-Schnittstellen des Computers angeschlossen ​ist, und eingeschaltet sein. +
- +
-Der NXT-Baustein dagegen wird direkt per Kabel an die USB-Schnittstelle des Rechners angeschlossen. +
- +
- +
- +
- +
-==== Programme ==== +
-Alle hier beschriebenen Programme werden als Pakete ​auf den Schulrechnern automatisch vorinstalliert,​ das sind die Pakete **borland**,​**jbmt**,​**lejos**,​**lejos_nxj** und neuerdings für die Netbeans-Unterstützung **netbeans-lejos**. +
- +
-  *JBuilder 2005 (Linux)\\ ​ Die Entwicklungsumgebung kann zur Programmierung ​eines RCX/​NXT-Programms eingesetzt werdenDazu wird ein Projekt mit nur einer Klasse verwendet.\\ ​  +
-  *JBMT 4.0 (Linux)\\ ​ Diese nach dem „Opentools-API"​ von Borland von mir programmierte Erweiterung stellt Menüeinträge und Symbole für die zur Kommunikation mit dem RCX/NXT benötigten Befehle von LeJOS bereit.\\ ​  +
-  *LeJOS 3.0.0 RCX bzw. LeJOS NXJ 0.9.0beta NXT (Linux)\\ ​ LeJOS enthält eine virtuelle Java-Maschine für den RCX/NXT, die die Ausführung von speziellen Java-Programmen auf dem RCX/NXT ermöglicht. Weiterhin gibt es die Programme „firmdl/​nxjflash",​ „lejosjc/​nxjc",​ „lejoslink/​nxjlink"​ und „lejosdl/​nxjupload"​ zum Installieren der virtuellen Maschine auf dem RCX/NXT, zur Kompilierung gegen die richtigen Bibliotheken,​ zum Zusammenfügen aller benötigten Dateien in eine RCX/​NXT-kompatible Binärdatei und zum Installieren dieser Binärdatei auf dem RCX/​NXT.\\ ​ \\  Die LeJOS-Installation wird in einem anderen Text beschrieben. +
- +
- +
- +
-=== Konfiguration von jbmt === +
-Das Archiv muss sich im Unterverzeichnis „ext"​ des JBuilders befinden, wird von dort beim Programmstart automatisch geladen und stellt die genannten Funktionen und Symbole in der Symbolleiste bereit.\\ ​ Die Kommunikation erfolgt textorientiert über das Meldungsfenster. Praktischer wären grafische Dialoge, die ich vielleicht in einer späteren Version hinzufügen werde. +
- +
-Für die Funktion von „jbmt"​ (Java Builder Mindstorms Tools) ist es nötig, das ein JAVA-SDK installiert ist, da der Java-Compiler (javac) von LeJOS benötigt wird. +
- +
-Im Konfigurationsdialog müssen der Pfad zu LeJOS/LeJOS NXJ, der Pfad zum Java-SDK und die Gerätedatei des IR-Towers(RCX) eingetragen werden (/​dev/​legousbtower0). +
  
 ==== Übertragung der LeJOS-Firmware ==== ==== Übertragung der LeJOS-Firmware ====
Zeile 60: Zeile 16:
 </​code>​)) </​code>​))
  
- 
-====Lejos-Projekt im JBuilder==== 
-Wird der JBuilder zum ersten Mal von einem Benutzer gestartet, so erscheint unter anderem das Willkommen-Projekt im Hauptfenster. 
- 
-{{:​lejos:​jbuilder_willkommen.png|}} 
- 
-Das Projekt wird über das Menü Datei→Projekte schließen geschlossen. 
- 
-{{:​lejos:​jbuilder_projekte_schliessen.png|}} 
- 
-Nun muss zunächst ein neues Projekt angelegt und die Lejos-Bibliothek eingebunden werden. Schließlich wird eine neue Klasse in diesem Projekt erzeugt. Der Quelltext dieser Klasse stellt das ausführbare Programm dar. 
- 
-Im Menü über Datei→Neues Projekt erscheint der Projektexperte,​ in dessen erstem Fenster man lediglich den Projektnamen festlegt (hier sinnvollerweise LEGO. 
- 
-{{:​lejos:​jbuilder_experte1.png|}} 
- 
-Dann klickt man auf __Weiter__ und gelangt auf die zweite Seite des Projektexperten. 
- 
-{{:​lejos:​jbuilder_experte2.png|}} ​ 
- 
-Auf der Karteikarte __Benötigte Bibliotheken__ klickt man auf __Hin­zu­fügen__ und fügt aus der Liste (siehe Abbildung unten) die Bibliothek „Lejos"​ für den RCX-Baustein bzw. „Lejos NXT" für den NXT-Baustein hinzu. Falls bereits die Bibliothek „Javagently"​ eingetragen ist, kann man sie entfernen. Damit sind alle Einstellungen auf dieser Seite vorgenommen und man klickt auf __Fertigstellen__,​ um den Projektexperten zu beenden. 
- 
-{{:​lejos:​jbuilder_klassenpfad.png|}} 
- 
-Als nächstes wird die Klasse erstellt. Im Menü unter Datei→Neue Klasse wird der Klassenexperte aufgerufen. Dort sind einige Eintragungen zu ändern. Zunächst wird als Klassenname „LEGO"​ eingestellt. Der voreingestellte Name unter „Package"​ muss gelöscht werden und bei den Optionen müssen die drei Optionen links gewählt und rechts abgewählt werden. 
- 
-{{:​lejos:​jbuilder_klassenexperte.png|}} 
- 
-Durch Klicken auf __OK__ erscheint der vorgefertigte Quelltext der Klasse. 
- 
-{{:​lejos:​jbuilder_programm.png|}} 
- 
-Im Quelltext muss eine „Import-Anweisung"​ für die Bibliothek und eine „Exception"​ ergänzt sowie die vordefinierte Programmzeile gelöscht werden. 
- 
-  *Import-Anweisung\\ ​ RCX: import josx.platform.rcx.*;​\\ ​ NXT: import lejos.nxt.*;​ 
-  *Exception\\ ​ public void main(...) throws Exception { 
-  *Programmzeile entfernen\\ ​ <​del>​LEGO lego = new LEGO();</​del>​ 
- 
-Bei der Eingabe der Import-Anweisung und anderer Programmzeilen blendet ein Eingabeassistent die Auswahlmöglichkeiten ein, sobald man einen Punkt eingibt. 
- 
-{{:​lejos:​jbuilder_eingabeassistent.png|}} 
- 
-Zum Abschluss soll ein kleines Java-Programm geschrieben werden, mit dessen Programmtext die Funktionsfähigkeit der Umgebung getestet wird.  
- 
-{{:​lejos:​jbuilder_testprogramm.png|}} 
- 
-Die speziellen Funktionen im Zusammenhang mit dem RCX/​NXT-Baustein befinden sich in einer eigenen Symbolleiste,​ die in der nächsten Abbildung zu sehen ist. 
- 
-{{:​lejos:​jbuilder_symbolleiste.png|}} 
- 
- 
- 
- 
-====Testen der Übertragung==== 
- 
- 
-Das Programm rechts zeigt den Text „Hello World" im LCD-Bereich des RCX  
-<​code>​ 
-import josx.platform.rcx.*;​ 
- 
-public class hworld 
-{ 
-  public static void main (String[] aArg) 
-  throws Exception 
-  { 
-     ​LCD.clear();​ 
-     ​TextLCD.print ("​hello"​);​ 
-     ​Thread.sleep(2000);​ 
-     ​TextLCD.print ("​world"​);​ 
-     ​Thread.sleep(2000);​ 
-  } 
-} 
-</​code>​ 
- 
-bzw. NXT 
- 
-<​code>​ 
-import lejos.nxt.*;​ 
- 
-public class hworld 
-{ 
-  public static void main (String[] aArg) 
-  throws Exception 
-  { 
-    LCD.drawString("​Hallo",​3,​4);​ 
-    Thread.sleep(2000);​ 
-  } 
-} 
-</​code>​ 
- 
- an. Es kann zum Test der Übertragung verwendet werden. Es sind immer die folgenden Schritte notwendig. 
- 
-  *Speichern des Java-Quelltextes\\ ​ (Datei→Alles speichern:​{{:​lejos:​button_speichern.png|}}) 
-  *Kompilieren\\ ​ (Tools→Kompilieren:​{{:​lejos:​button_kompilieren.png|}}) erzeugt aus der zuvor gespeicherten Java-Datei die „class"​-Datei. 
-  *Übertragen\\ ​ „Linken"​ und „Installieren"​ des ausführbaren Programms mit (Tools→Übertragen:​{{:​lejos:​button_uebertragen.png|}})\\  ​ 
-Hinweis: Die Schritte 3 und 4 können auch durch das dritte Symbol zusammengefasst werden.\\  ​ 
- 
-  *Ausführen\\ ​ RCX: Durch Betätigen der grünen „RUN"​-Taste auf dem RCX wird das Programm gestartet.\\ ​ NXT: Nach Einschalten befindet man sich im Hauptmenü des Textmenüs mit den Befehlen Files, Bluetooth, System. Man betätigt die orange Enter-Taste und und die Pfeiltasten links und rechts, um \\  „Files→hworld.nxj→Execute program"​ durchzuführen. 
  
 ====Test der richtigen Firmware==== ====Test der richtigen Firmware====
Anmelden