NEWS
RPI 2.0 GPIOs können nicht angesteuert werden
-
Hallo an Alle,
Mein iobroker System besteht aus 2 Raspberry Pi 3. Auf dem "Erweiterungs Pi" habe ich eine Relais welches über GPIO 17 angesteuert wird angeschlossen.
Über die Shell kann ich nun den GPIO 17 ansprechen und das Relais öffnet.
Über RPI 2.0 wollte ich nun den GPIO 17 ansprechen, leider kommt nach dem speichern des Adapters folgend Fehlermeldung im Log:
Cannot setup port 17 as output: Error: Channel 17 does not map to a GPIO pin
und der GPIO lässt sich nicht ansprechen.
Natürlich läuft der RPI Adapter auf dem "Erweiterungs Pi" und iobroker ist auch als root installiert. Habe ich überprüft.
Mein Workarround:
Ich habe einen weiteren Javascript Adapter auf dem "Erweiterungs Pi" installiert, welcher nun per exec Kommando ein Shell Script ausführt. Dies funktioniert.
Aber die Lösung über den RPI Adapter würde ich bevorzugen.
Was mache ich falsch?
Viele Grüße Micky
-
Ich hatte auch Probleme damit. Die haben sich aber nach einiger Zeit nach und nach erledigt…
Schau mal hier: http://forum.iobroker.net/viewtopic.php?f=20&t=5237
-
Hmm,
Den Thread hatte ich gelesen.
Ich habe in rc.local entsprechende Anweisungen hinzugefügt, damit mein Script funktioniert.
sudo echo "17" > /sys/class/gpio/export
sudo echo "out" > /sys/class/gpio/gpio17/direction
Mein Script, welches von iobroker per Exec aufgerufen wird macht dann nur
echo "1" > /sys/class/gpio/gpio17/value
sleep 2
echo "0" > /sys/class/gpio/gpio17/value
Das funktioniert.
Trotzdem kann der Adapter GPIO 17 nicht einrichten.
-
Dann gehe ich mal davon aus, dass du den GPIO 17 auch von ioBroker aus schalten kannst!?!
War bei mir so ähnlich. Ich müsste direkt mal schauen, ob ich beim Starten des Adapters die Fehlermeldung auch noch habe.
Läuft der ioBroker bei dir auf dem RasPi eigentlich als root?
-
Sind jetzt alles nur Vermutungen! Kenne mich mit Linux nicht wirklich aus…
Da "gpio readall" bei dir was ausgibt gehe ich davon aus dass du WiringPi installiert hast...? Meiner kennt nämlich das Kommando nicht.
Kann es sein, dass WiringPi quasi "exklusiv" auf die GPIO-Ports zugreift und deshalb der RPI-Adapter keinen Zugriff bekommt?
Was ich gerade noch in der Adapter-Readme gefunden habe:
` > Be sure, that python and build-essential are installed:sudo apt-get update
sudo apt-get install -y build-essential python `
-
Erstens zu dem gpio readall, das funktioniert bei allen Jessie's die ich installiert hatte (auf Raspi 2B und 3B).
Der RPI2-Adapter macht bei mir auch die selben Mucken dass er die Konfiguration irgenwie nicht durchführt. Hab schon Adapter neu installiert und alles probiert.
Allerdings hab ich 2 Raspies, und das Problem nur auf dem mit Node 4.7 (jetzt 4.8). Bei meinem Produktionssystem m,it Node 6.9 (jetzt 6.10) funktioniert der Adapter (noch) immer!
Also hab ich nicht weiter gegraben da ich das Testsystem nur zum POrüfen von selbst geschriebenen Adaptern oder Scripten verwende und ich nicht davon Abhängig bin.
Am Produktiionssystem hängen PIR-Sensoren dran und auch Led's und die funktionieren noch.
p.s.: Beides auf dem letzten Jessie's mit USB-Boot (ohne SD).
-
Hmm,
ich habe iobroker exakt so installiert wie in der Anleitung auf der Webseite. Danbei wird node 4.8 installiert.
Läuft iobroker denn mit node 6.9 einwandfrei? Ich denke mal dass die Entwickler sich etwas dabei gedacht haben, dass nur node 4.8 installiert wird.
Kann ich denn node 6.9 einfach so als update installieren?
Und falls ja, wie?
-
Läuft iobroker denn mit node 6.9 einwandfrei? `
sogar mit node 6.10 ;-)Ich denke mal dass die Entwickler sich etwas dabei gedacht haben, dass nur node 4.8 installiert wird. `
Damals gab es node 6.x noch nicht.Einige meiner Images haben auch bereits node 6.x
Kann ich denn node 6.9 einfach so als update installieren? `
das ist die große Frage.Bin da nicht soo tief drin, aber angeblich kann es zu Problemen kommen, wenn Pakete unter node 4.x auf dem Raspi selbst kompiliert wurden.
Gruß
Rainer
-
leute ein Problem nach dem anderen
gpio readall ````ist ne funktion vom wiringpi.. also alles gut bis dahin 17 ist als OUT definiert.. aber meine vermutung ist der Pi nimmt nicht die BCM auflistung nur mal testweise mach bitte ein program nano gpiotest.py#!/usr/bin/python
import RPi.GPIO as GPIOGPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)reinkopieren speichern dann chmod +x gpiotest.py dann ausführen dann nochmal probieren mit dem gpio17 zu schalten -
Um mal die Nummerierung klarzustellen - ist so auch in der Doku zum RPI-Adapter erklärt:
RPI2.GPIO.17 ist ist physisch am RPI Pin-Nr.11 und entspricht somit wohl der BCM-Auflistung.
Was mir allerdings in Deinem Screenshot von gpio readall auffällt: Pin11, also BCM 17 hat den Namen GPIO.0. Auch die anderen GPIO-Namen sind "durcheinander", z.B. gibt es da gar keinen GPIO.17.
Ich kann das jetzt nicht vergleichen und habe auch nicht wirklich Ahnung - was sagen die RasPi-Experten dazu?