Problem mit pi4j, wiringpi, gpio und SPI

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute,
    ich bin neu hier, und hab erstmal ein Problem. (wie könnte es anders sein...)

    Ich verwende ein Raspberry Pi B mit 512MB und eine SD-Karte die ich "fast" leer von einem Teampartner bekommen habe.
    Dieser hat da ein OSGI draufgepackt mit bereits vorinstallierten und lauffähigen bundles.
    Ich pack dazu jetzt einfach noch ein weiteres kleines Programm dazu, welches ich mit Maven builde.

    So, nun aber zu dem Problem selbst.
    Ich habe im Prinzip ein Java Programm von dem ich mir zu 100% sicher bin, dass es Funktioniert, da es ohne verwendung von pi4J oder wiringpi auch startet und läuft.
    Wo ich schon bei dem großen ??? wäre.

    Sobald ich nun z.B.:
    diese Codezeile "final GpioController gpio = GpioFactory.getInstance();" ausführen will,
    (natürlich wurde der GpioController und die GpioFactory importiert, sonst würde Maven auch nicht builden...)

    dann kommt folgender Fehler:
    ...
    Caused by: java.lang.NoClassDefFoundError: Could not initalize class com.pi4j.wiringpi.Gpio
    at com.pi4j.io.gpio.RaspiGpioProver. ....
    ...

    Nun ist es wie beschrieben, bei verwendung der "neuen" SD-Karte auf der ich "nur" wiringpi und pi4J installiert hab (nach den anleitungen auf den entsprechenden seiten) kommt diese Fehlermeldung.
    Ich habe noch eine SD-Karte, die mir zugespielt wurde, und auf welcher das Programm tadellos läuft.

    Leider weiß ich nicht genau was alles auf dieser "alten" SD-Karte alles installiert wurde.

    Daher frage ich mich ob man außer den beiden (pi4j und wiringpi) noch weitere sachen auf der SD-Karte installiern muss um diese verwenden zu können.


    Vielen Dank für eure Hilfe!

    • Offizieller Beitrag

    Hi LukeLucky,

    eigentlich sollte es ausreichen das WiringPi installiert wurde... aber was meinst du mit Pi4J installiert?

    ich könnte mir gut vorstellen das du deine dependencies nicht mit einbindest schau dir am besten mal die generierte jar Datei an ob dort die entsprechenden Bibliotheken von Pi4j mit drin sind.
    Ich denke da wird der Wurm drin liegen ;)


    gruß
    Turael

    Ich bin ein gefallener Engel namens Turael.

    Einst vor langer Zeit rebelierte ich im Himmel bis Gott mich auf die Erde verbannte.

    Doch meine taten werden kein ende finden....

  • Hi Turael,
    wie kann ich mir denn die jar Datei so anschauen, dass ich sehen kann welche Bibliotheken drin sind?
    Das würde mir bei der Fehlersuche bestimmt weiterhelfen.

    Pi4j braucht man doch um die GPIOs ansprechen zu können, oder?
    Außerdem meine ich gelesen zu haben, dass WiringPi pi4j verwendet.
    Zudem lässt die Fehlermeldung:
    ... Could not initalize class com.pi4j.wiringpi.Gpio ...
    darauf schließen, dass die beiden irgendetwas miteinander zu tuen haben, da WiringPi im package pi4j sein sollte.

    Vielen Dank für deine Schnelle Antwort!

    ---Edit
    haha logo, jar ist ein Archive, einfach aufmachen....:thumbs1:
    so, aber da ist alles drin was drin sein soll, also den Pfad com/pi4j/wiringpi/gpio gibts (in dem fall die .class datei)

    Also sind die Dateien in der .jar file vorhanden...:denker: ... :@

    Einmal editiert, zuletzt von LukeLucky (14. April 2014 um 15:34)

    • Offizieller Beitrag

    Entweder mit deinem Archivierungs Tool deiner Wahl (zbs: winrar) oder mit dem Tool vom JDK/JRE? (jar).


    > Pi4j braucht man doch um die GPIOs ansprechen zu können, oder?
    japp so ist es ;)


    > Außerdem meine ich gelesen zu haben, dass WiringPi pi4j verwendet.
    Genau anders rum: Pi4j benutzt einige Native Methode die letztendlich nur die WiringPi Funktionen aufrufen.

    • Offizieller Beitrag

    Hmmm vielleicht hilft uns ja die pom weiter - evtl ist da noch was nicht ganz richtig?


    und wenn es gar nicht mehr fluppen will würd ich am besten ein komplett leeres Projekt schaffen und dort ein paar Pi4J Methoden aufrufen -> wenn es dann zu fehlern führt kannste dir sicher sein das es nicht an deinem Projekt liegt ;)

    Ich bin ein gefallener Engel namens Turael.

    Einst vor langer Zeit rebelierte ich im Himmel bis Gott mich auf die Erde verbannte.

    Doch meine taten werden kein ende finden....

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!