Hallo Leute,
ich habe jetzt etwas "Erfahrung" mit der Programmierung in Java mit pi4j und Eclypse.
Weil ich mit dem Debugging in Eclypse nicht so zufrieden bin, wollte ich mal schauen was es sonst noch so gibt und habe bei ner Suche etwas über JavaME und Netbeans gefunden und wollte das mal ausprobieren. Da wird direkt in Java auf die Schnittstellen zugegriffen ohne pi4j.
Hier ist die Oracle Seite dazu: Oracle Embedded 8.0
Aber ich hänge bereits bei den Grundeinstellungen. In der jwc_properties.ini soll unter dem Punkt odt_run... von true auf false gesetzt werden. Doch leider gibt es den Punkt nicht in der ini. Bei Java ME3.3 gab es den Punkt noch. Kann es sein, dass es den unter Java ME8.1 nicht mehr gibt?
Dann habe ich gestern ein kleines Testprogramm gestartet:
import jdk.dio.UnavailablePeripheralException;
import jdk.dio.DeviceManager;
import jdk.dio.gpio.GPIOPin;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.microedition.midlet.MIDlet;
public class GPIOExample1 extends MIDlet {
GPIOPin pin;
public void startApp() {
try {
pin = (GPIOPin) DeviceManager.open(7);
System.out.println("----------------------------------------");
Thread.sleep(5000);
for (int i = 0; i < 20; i++) {
System.out.println("Setting pin to true...");
pin.setValue(true);
Thread.sleep(10000);
System.out.println("Setting pin to false...");
pin.setValue(false);
Thread.sleep(5000);
System.out.println("----------------------------------------");
}
} catch (IOException ex) {
Logger.getLogger(GPIOExample1.class.getName()).
log(Level.SEVERE, null, ex);
} catch (InterruptedException ex) {
Logger.getLogger(GPIOExample1.class.getName()).
log(Level.SEVERE, null, ex);
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
try {
pin.close();
} catch (IOException ex) {
Logger.getLogger(GPIOExample1.class.getName()).
log(Level.SEVERE, null, ex);
}
}
}
Display More
Den Punkt import jdk.dio.UnavailablePeripheralException; bringt mir der Compiller ein Fehler, weil es diesen Punkt unter den dio nicht gibt. Aber wenn ich das weg lassen kann ich es starten. Dabei ist dann 3 mal Java weggeklatscht und beim 4ten mal ging das Programm dann. Aber es blinkte halt nichts. Habe das Multimeter am richtigen Pin gehabt Das wegklatschen hängt bestimmt mit der Exception zusammen die ich ja gelöscht habe, weil es die nicht gibt
Ich glaube das pi4j wikrlich einfacher ist. Wieso ist das bei Oracle so kompliziert :s Aktuell isses für mich also keine Alternative, abr ich denke das ich einfach noch zu wenig wissen darüber gesammelt habe. Sind ja nicht nur in der Software Einstellungen zu tätigen. Selbst in Netbeans muss man unter Application Descriptor noch Sachen einstellen.
Benutzt das jemand von euch schon erfolgreich? Gibt es Vorteile gegenüber pi4j? Ich könnte mir halt vorstellen, dass pi4j auf dem neuen B+ halt nur die "alten" Pins kann, oder? Habe es aber noch nicht getestet!
Oder habt ihr mal ein einfaches lauffähiges Programm für mich wo einfach ein Port getoogelt wirdoder man ein Taster drücken kann und der zeigt da was an.
Danke
Arno