Cubietruck(Cubieboard3) GPIO Active_low

Begonnen von Killermike007, 26 Mai 2015, 21:53:14

Vorheriges Thema - Nächstes Thema

Killermike007

Hallo zusammen,

habe es nun endlich geschafft, zwei Gpio-Ports zu aktivieren. Leider gibt es noch ein Problem damit.

Vielleicht kann ja einer helfen.

Habe einen Reedkontakt (Türkontakt) angeschlossen. Dieser wird im geschlossenen Zustand korrekt angezeigt.
Öffne ich dir Tür allerdings, springt der state munter zwischen on und off umher.

Hier mal ein Auszug vom Event Monitor:

2015-05-26 21:41:50 RPI_GPIO GPIOKeller Pinlevel: low
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Longpress: Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Pinlevel: high
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Geschlossen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Pinlevel: low
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Longpress: Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Longpress: Geschlossen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Pinlevel: high
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Geschlossen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Pinlevel: low
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Longpress: Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Pinlevel: low
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Longpress: Offen
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Pinlevel: high
2015-05-26 21:41:50 RPI_GPIO GPIOKeller Geschlossen
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Pinlevel: low
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Offen
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Longpress: Offen
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Longpress: Geschlossen
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Longpress: Geschlossen
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Longpress: Geschlossen
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Pinlevel: high
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Geschlossen
2015-05-26 21:41:51 RPI_GPIO GPIOKeller Longpress: Geschlossen
2015-05-26 21:41:52 RPI_GPIO GPIOKeller Longpress: Geschlossen


Am Raspi hatte es super funktioniert. Habe auch die gleichen Einstellungen in Fhem.

Und hier die Fhemeinstellungen für den besagten Gpio-Port auf dem Cubietruck:

(http://www.freaky-division.de/images/FhemGpio.jpg)

Der Counter hat nichts zu sagen, ist irgendwie mit reingerutscht.

Wäre für jede Unterstützung dankbar.

Ich vergaß, im Log steht folgendes: Can't open file: GPIOKeller, active_low

Gruß,
Mike
Cubieboard 3
Cul V3-868,Cul V3-433,JeeLink-868,HM-Lan
MAX Thermostat, MAX Thermostat+, MAX Fensterkontakt, MAX ECO-Taster,HM-Fensterdrehgriff/Klingelsignalsensor/Rolladenaktor,
IT-Funksteckdosen, Wandschalter, Rolladenaktoren, Funkschalter,LaCrosse,YoulessStromzähler,GPIOGaszähler+Türkontakt

klausw

Die Definition scheint ok.
Can't open file: GPIOKeller, active_low bedeutet, das du keine Zugriff auf die Datei active_low hast. Vermutlich ist die Rechtevergabe beim Cbi bisschen anders. Das sollte aber kein Problem sein. Die high/low Pegel sind dann halt einfach verdreht zu deinen Wünschen.

Das permanenete hin- und herspringen deutet eher auf einen fehlenen Pullup hin. Evtl. ist der beim Cubie nicht vorhanden.
Funktioniert das gpio utility von wiringpi überhaupt auf dem cubie? (über dieses wird der pullup/down eingestellt).
Aber dann müsste eigentlich eine Fehlermeldung im Log stehen.
Das ganze kannst du recht einfach testen: Widerstand zwischen GPIO und 3,3V so 10k
Wenn es dann weg ist funktioniert einfach das pud_resistor Attribut auf dem cubie nicht.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

klausw

Hallo Mike,

Kannst du bitte auch noch kurz schreiben, wie du vorgegangen bist?
Und was die Stolpersteine waren?
Es gibt ja doch paar Unterschiede zum Pi ;)

Evtl. muss ich die commandref noch anpassen.

Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Killermike007

Nun schaffe ich es endlich meine Vorgehensweise darzustellen.

1. Nach diesem Thread http://www.forum-cubieboard.de/Thread-wiringcb-wiringpi-und-cubietruck zur Installation von WiringCB vorgegangen.
2. Meine angepassten Dateien:

/etc/rc.local:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo cpu0 > /sys/class/leds/white:ph11:led3/trigger
echo cpu1 > /sys/class/leds/green:ph07:led4/trigger
echo disk-activity > /sys/class/leds/blue:ph21:led1/trigger
echo usb-online > /sys/class/leds/orange:ph20:led2/trigger

chgrp gpio -HR /sys/class/gpio
chmod -R 775 /sys/class/gpio
echo 3 > /sys/class/gpio/export
chgrp gpio -HR /sys/class/gpio/gpio3
chmod -R 775 /sys/class/gpio/gpio3

chgrp gpio -HR /sys/class/gpio
chmod -R 775 /sys/class/gpio
echo 4 > /sys/class/gpio/export
chgrp gpio -HR /sys/class/gpio/gpio4
chmod -R 775 /sys/class/gpio/gpio4

exit 0


Bei mir nand1 gemountet auf /boot Datei script.bin:

[gpio_para]
gpio_used = 1
gpio_num = 6
gpio_pin_1 = port:PH20<1><default><default><1>
gpio_pin_2 = port:PH10<0><default><default><0>
gpio_pin_68 = port:PH18<0><default><default><0>
gpio_pin_69 = port:PH24<0><default><default><0>
gpio_pin_3 = port:PI14<0><1><default><0>
gpio_pin_4 = port:PI15<0><1><default><0>

[gpio_init]
pin_3 = port:PI14<0><1><default><0>
pin_4 = port:PI15<0><1><default><0>


Türkontakt funktioniert. Gaszähler hat sehr stark geprellt. Mit 10K Widerstand, kamen nur sporadisch Signale an. Mittlerweile hat der Gebermagnet vom Gaszähler wohl sein magnetisches Feld verloren, da nun gar keine Signale mehr ankommen, nichtmal mit Durchgangsprüfung.

Hoffe, ich habe nichts vergessen und das der eine oder andere etwas damit anfangen kann.

Gruß,
Mike
Cubieboard 3
Cul V3-868,Cul V3-433,JeeLink-868,HM-Lan
MAX Thermostat, MAX Thermostat+, MAX Fensterkontakt, MAX ECO-Taster,HM-Fensterdrehgriff/Klingelsignalsensor/Rolladenaktor,
IT-Funksteckdosen, Wandschalter, Rolladenaktoren, Funkschalter,LaCrosse,YoulessStromzähler,GPIOGaszähler+Türkontakt

klausw

Zitat von: Killermike007 am 17 Juni 2015, 14:10:07
Bei mir nand1 gemountet auf /boot Datei script.bin:

[gpio_para]
gpio_used = 1
gpio_num = 6
gpio_pin_1 = port:PH20<1><default><default><1>
gpio_pin_2 = port:PH10<0><default><default><0>
gpio_pin_68 = port:PH18<0><default><default><0>
gpio_pin_69 = port:PH24<0><default><default><0>
gpio_pin_3 = port:PI14<0><1><default><0>
gpio_pin_4 = port:PI15<0><1><default><0>

[gpio_init]
pin_3 = port:PI14<0><1><default><0>
pin_4 = port:PI15<0><1><default><0>

Aus reiner Neugier..wozu wird das benötigt?

Zitat von: Killermike007 am 17 Juni 2015, 14:10:07
Gaszähler hat sehr stark geprellt.

hast du das attribut debounce_in_ms mal zum entprellen ausprobiert?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Killermike007

Zitat von: klausw am 17 Juni 2015, 16:08:27
Aus reiner Neugier..wozu wird das benötigt?

"Zitat: "Prinzipiell habe ich auch schon in python die GPIO-Pins ausgelesen und angesteuert. Bekanntermaßen müssen sie dazu einerseits in der fex-Datei als GPIO-Pin definiert werden und dann noch aktiviert und als Ein- oder Ausgang definiert werden."
Zumindest hatte es bei mir dann funktioniert. Vorher wurde unter /sys/class/gpio keine Portdefinitionen angelegt, und somit auch nicht für Fhem verfügbar.

Zitat von: klausw am 17 Juni 2015, 16:08:27hast du das attribut debounce_in_ms mal zum entprellen ausprobiert?

Nein, kann ich jetzt auch nicht mehr, da Gebermagnet defekt.
Cubieboard 3
Cul V3-868,Cul V3-433,JeeLink-868,HM-Lan
MAX Thermostat, MAX Thermostat+, MAX Fensterkontakt, MAX ECO-Taster,HM-Fensterdrehgriff/Klingelsignalsensor/Rolladenaktor,
IT-Funksteckdosen, Wandschalter, Rolladenaktoren, Funkschalter,LaCrosse,YoulessStromzähler,GPIOGaszähler+Türkontakt

Elektrolurch

Hallo,

suche schon verzweifelt nach einer PIN-Belegung für den Erweiterungsanschluss eines Cubietrucks. Leider ist da im Netz nichts zu finden.

http://docs.cubieboard.org/a20-cubietruck_gpio_pin

Leider verstehe ich da nicht die Zuordnung zu den IO-Kanälen des Moduls
1. Ist die 30 polige (2x15) Stiftleiste neben dem Ethernet-Anschluß der Erweiterungsanschluß?
2. Pin 1 neben dem Ethernetanschluß?
3. Welche Pins entsprechen den GPIOs - Nummern des Moduls?

Wenn mir da jemand weiterhelfen könnte, wäre das sehr nett. Danke.

Elektrolurch
configDB und Windows befreite Zone!

Killermike007

#7
Hallo Elektrolurch.

Die 30 polige (2x15) Stiftleiste neben dem Ethernet-Anschluß ist der Erweiterungsanschluß.

Neben dem Ethernetanschluß ist Pin 29.

Welche Pins entsprechen den GPIOs - Nummern des Moduls?

Die GPIOs - Nummern vergibst du selbst, in dem du sie in der script.bin definierst.

z.B.
[gpio_para]
gpio_used = 1
gpio_num = 6
gpio_pin_1 = port:PH20<1><default><default><1>
gpio_pin_2 = port:PH10<0><default><default><0>
gpio_pin_68 = port:PH18<0><default><default><0>
gpio_pin_69 = port:PH24<0><default><default><0>
gpio_pin_3 = port:PI14<0><1><default><0>
gpio_pin_4 = port:PI15<0><1><default><0>

[gpio_init]
pin_3 = port:PI14<0><1><default><0>
pin_4 = port:PI15<0><1><default><0>


Das ist meine config.


Gruß Mike
Cubieboard 3
Cul V3-868,Cul V3-433,JeeLink-868,HM-Lan
MAX Thermostat, MAX Thermostat+, MAX Fensterkontakt, MAX ECO-Taster,HM-Fensterdrehgriff/Klingelsignalsensor/Rolladenaktor,
IT-Funksteckdosen, Wandschalter, Rolladenaktoren, Funkschalter,LaCrosse,YoulessStromzähler,GPIOGaszähler+Türkontakt

Elektrolurch

Hallo Mike,

danke für die Info.
Mir fehlt aber jetzt trotzdem noch ein Schritt:

Zitat:
pin_3 = port:PI14<0><1><default><0>
pin_4 = port:PI15<0><1><default><0>


Ist das "pin_3" jetzt die physikalische Nummer des Pins (3) auf der Stiftleiste?
Oder "port:PI14" der Pin 14 auf der Stiftleiste?

Was bedeuten die restlichen Parameter: <0><1><default><0>


?

Wo kann man darüber etwas mehr nachlesen? Ev. habe ich nach den falschen Begriffen gesucht.

Wieviel Ausgänge sind da überhaupt verfügbar?
In der Beschreibung des Cubietrucks haben die Pins alle irgendwelche Interfacefunktionen. Mir ist da nicht klar, ob die alle tatsächlich frei programmierbar sind und die IF-Bezeichnungen nur quasi default für die per SW mögliche Funktion realisiert wird.



Elektrolurch
configDB und Windows befreite Zone!

Killermike007

Hallo Elektrolurch,

Nein, pin_3 ist der virtuelle Port den Fhem nutzt und ist Pin 14 auf der Stiftleiste.

Was die Parameter angeht, das kannst du hier, im Beitrag 7, nachlesen.

http://www.forum-cubieboard.de/Thread-gpio-ports-aus-der-scrip-fex

Soweit mir bekannt ist, funktionieren Pin 14 und 15 als Aus- bzw. Eingang.

Gruß Mike
Cubieboard 3
Cul V3-868,Cul V3-433,JeeLink-868,HM-Lan
MAX Thermostat, MAX Thermostat+, MAX Fensterkontakt, MAX ECO-Taster,HM-Fensterdrehgriff/Klingelsignalsensor/Rolladenaktor,
IT-Funksteckdosen, Wandschalter, Rolladenaktoren, Funkschalter,LaCrosse,YoulessStromzähler,GPIOGaszähler+Türkontakt

Elektrolurch

Ok und danke für die Info.
Wenn ich den Beitrag 7 aus dem Cubieforum da richtig verstehe, dann liefern die Ausgänge
3.3 V und sind programmierbar strombegrenzt, so dass man direkt eine LED oder eine Kombi aus LED und Schalttransistor ohne Vorwiderstand anschliessen könnte.

Dann werde ich mir mal eine 30 polige  Buchsenleiste 2 mm beim Conrad holen und den Lötkolben anwerfen und meine Tochter zum Löten verdonnern.

Elektrolurch

configDB und Windows befreite Zone!