|
| 1 | +--- |
| 2 | +title: Troubleshooting |
| 3 | +weight: 60 |
| 4 | +--- |
| 5 | + |
| 6 | +## Fehlerhafte PiGPIO Initialisierung |
| 7 | +Sollte beim Ausführen einer Applikation via Launcher eine Fehlermeldung erscheinen, dass PiGPIO nicht initialisiert werden kann, so sind |
| 8 | +entweder nicht ausreichend Rechte vorhanden oder es läuft bereits eine andere Java-Applikation welche PiGPIO blockiert. Da mit dem CrowPi |
| 9 | +Image und den beigelegten Run Konfigurationen die Rechte automatisch korrekt vergeben werden, handelt es sich im Normalfall um das zweite |
| 10 | +Problem. Die Fehlerausgabe auf der Konsole sieht in etwa so aus: |
| 11 | + |
| 12 | +``` |
| 13 | +[main] WARN com.pi4j.library.pigpio.impl.PiGpioNativeImpl - PIGPIO ERROR: PI_INIT_FAILED; pigpio initialisation failed |
| 14 | +java.lang.reflect.UndeclaredThrowableException |
| 15 | + at jdk.proxy2/com.sun.proxy.jdk.proxy2.$Proxy6.create(Unknown Source) |
| 16 | + at [email protected]/com.pi4j.context.Context.create(Context.java:325) |
| 17 | + at [email protected]/com.pi4j.internal.IOCreator.create(IOCreator.java:58) |
| 18 | + ... |
| 19 | +``` |
| 20 | + |
| 21 | +Neben einem Geräteneustart, welcher das Problem in jedem Fall beseitigen wird, lässt sich auch über das Terminal der nachfolgende Befehl |
| 22 | +ausführen, welcher alle Java-Prozesse auf dem System beendet: `sudo killall -9 java` |
| 23 | + |
| 24 | +{{< img alt="Beenden aller Java-Prozesse per Terminal" src="troubleshooting/terminal-killall.png" height="500px" >}} |
| 25 | + |
| 26 | +Anschliessend sollte es wieder möglich sein, Applikationen auf dem CrowPi zu starten. Sollte diese Alternative nicht zum Erfolg führen und |
| 27 | +weiterhin ein Fehler auftreten, so ist das Gerät stattdessen aus- und wieder einzuschalten. Hierbei ist zu beachten, dass das Gerät komplett |
| 28 | +stromlos gemacht werden sollte, da ein normaler Reboot nicht alle Komponenten zurücksetzt. |
| 29 | + |
| 30 | +## Überprüfung von I²C Bus |
| 31 | +Um schnell zu überprüfen, ob der I²C Bus ordnungsgemäss initialisiert wurde und alle Geräte zur Verfügung stehen, lässt sich am einfachsten |
| 32 | +der Befehl `i2cdetect -y 1` via Terminal ausführen: |
| 33 | + |
| 34 | +{{< img alt="Auflisten von I²C Bus" src="troubleshooting/terminal-i2cdetect.png" height="500px" >}} |
| 35 | + |
| 36 | +Die Ausgabe des Befehls sollte bei Ausführung auf einem CrowPi 1 die drei Adressen `21`, `5c` und `70` auflisten. Auf anderen Gerätetypen |
| 37 | +oder einer neuen Hardwarerevision des CrowPi kann die Ausgabe entsprechend abweichen. |
0 commit comments