Hallo , ich versuche auf dem Raspy 3B ein Java Programm mit Pi4j zum Laufen zu bekommen. (Java Version 21)
Ich nutze das Beispielprogramm Minimal example application - Pi4J. Ich habe versucht die Installation nach Anleitung durchzuführen.
Als Hardware habe ich nur eine Lumi an einem GPIO Pin über Widerstand angeschlossen.
Das Programm blinkt nur mit der Lumi. Einmal hat es auch funktioniert. Dann wollte ich es modifizieren. Jetzt geht es nicht mehr.
Folgende Probleme habe ich:
1) Ich baue das Programm mit Maven. In der POM.xml sind für die pi4j Version die 2.7.0 eingetragen. Die in Github vorhandene Version ist aber eine Version 3.1
Ist die POM Versionsnummer eine Minimalangabe oder muss die Version die Nummer haben?
Maven meckert "Modul not found" - was ist in Maven ein Modul? ein Package, eine Klasse oder was.
2) Im Quellcode wird der Digitale Output mit dem Code "var led=pi4j.digitalOutput().create(PIN_LED);" erzeugt.
Diesen Quellcode finde ich nicht - keine Methode pi4j.digitalOutput() zu finden. (pi4j - ist ein Context.
Das var ist wieder ein neumodischer Unfug, der nur den Typ der Variablen unkenntlich macht.
3) Warum ging die Anwendung einmalig , wenn der Quellcode nicht übersetzbar ist?
4) Damit ich nicht dumm sterbe kann mir jemand die folgende Syntax erklären: aus der Klasse com.pi4j.platform.Platform
/** {@inheritDoc} */
Override
default <T extends Provider> T provider(IOType ioType) throws ProviderNotFoundException {
if(providers().containsKey(ioType))
return (T)providers().get(ioType);
throw new ProviderNotFoundException(ioType);
}
kann man sowas aufrufen, muss ich hier erst eine Klasse bauen die die Konstruktion implementiert oder erbt. Ich sehe nicht durch.
5) neuerdings geht das jar tool nicht mehr. jar -t sollte das Archiv auslisten, läuft aber ewig ohne eine Ausgabe.
Ich versuche noch die genaue BS Version zu bekommen.