Ausgangspunkt diese Projekts war zunächst das Bedürfnis, den Drehwaagenversuch, ohne die Mühen eines jedesmalig erneut erforderlichen Versuchsaufbaus, für den Unterricht jederzeit zur Verfügung zu haben und einfach zu bedienen können

Dafür wurde die Drehwaage auf ein stabiles Stahlchassis gesetzt, die Feldkugelverstellung wurde mittels eines Motors realisiert, die 220V - Lampe wurde wegen der besseren Sichtbarkeit durch eine Laser ersetzt und das Ganze, zur berührungslosen Bedienung, mit einer Infrarot (IR-) - Empfäner (Rx) versehen. Die Signalvearbeitung (Infrarot-Empfang, Motorsteuerung) erfolgt mittels eines µControllers auf der Drehwaage

Im Rahmen des Java - Programmier Unterrichts des Beruflichen Gymnasiums wurde die Idee geboren, ein unter Java laufendes Webinterface für die Gravitationsdrehwaage zu programmieren. Damit war zunächst Java als Programmierumgebung für die Realisierung des Projekts festgelegt. (Das man das auch anders machen kann, steht außer Frage.)

Als erstes mussten dann  dafür die Hardwarevoraussetzungen geschaffen werden und, um diese Hardware lauffähig zu machen und zu testen, wurde eine C - Bibliothek geschrieben, welche ein Interface zur  Steuerung der Drehwaage und Erhebung der Skalen-Messdaten bildet. 

Die Drehwaage im Netz:

 

Relation Drehwaagen-Hardware / Java-Web-Umgebung

 

Es gibt in Java unterschiedliche Methoden, auf die Skalenhardware (AD-Wandler) und Steuerfunktionen für die Drehwaage zuzugreifen. 

  • Kommunikation über eine TCP/IP - Verbindung
  • Komunikation über eine Datenbank
  • Kommunikation über ein Java IDL Interface
  • JNI - Java Native Interface

Eine schnelle Messdatenerfassung und die Tatsache, dass bereits eine geeignete C-Bibliothek programmiert war, gaben des Ausschlag für die Verwendung des Java Native Interface.

Auf dem Linuxboard, welches bereits den Host für den IR-Sender zur Steuerung der Drehwaage und den zum Lesen der AD-Wandler der Skala bildete, wurde für die Webanbindung noch eine Java Virtual Machine (JVM), der Java Webserver und das Java Native Interface (JNI) installiert.