Gymnasium Himmelsthür

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
rcx_und_nxt [2014/09/05 08:37] fschuettrcx_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