Modul zur Nutzung der Raspberry Pi GPIO

Jo, auch mein Respekt. Interrupt bei Pin Änderung, wie ich sehe, super!
Gruß Helmut

…„so“ (beim MCP23017 „solo“) geht das - wie die Interrupts bei den von Euch gezeigten Platinen herausgeführt sind, entzieht sich aber (bisher) meiner Kenntnis.
Interrupts gibt es aber auch schon bei anderen I/O-Bausteinen (z.B. dem PCF8574 8-fach I/O) - bin kein Freund des „ewigen“ Pollens…:smiley:

Joachim

Das stimmt, wie Das mit dem Raspi bei zB 4 Bausteinen geht weiß ich nicht, bei meiner Pokeysersatzplatine macht es ein PIC Kontroller. Aber dafür gibt es bestimmt auch eine Lösung, irgend welche Pin’s müssen dafür herhalten können.

Wenn ich mehr Spaß an den Raspi finde mache ich nochmal eine Pokeysersatzplatine mit einem Raspi oder Raspi Zero.

Gibt ja schon was ähnliches als SPS, etwas teuer finde ich, ein Raspi, der IP-Symcon hat und die 24-In / 24 Out wär vielleicht nicht schlecht?

Gruß Helmut

…na, dann schaue Dir mal die GeCoS-Module von GeDaD an. Da gibt es schon so einiges…

Joachim

Hi JPaeper,

Ich meine den Coldstart / Reboot des Pi`s.

Ich vermute auch stark, dass sich Symcon deshalb nicht mehr normal Neustarten / Stoppen lässt.

Auch finde ich diese Instanz nicht, welche in der PHP Info genannti ist "new IPS2GPIO_IO(52721)
Die Instanz existiert bei mir nicht.

LG

Hallo Heisti89,

hast Du mal nach der Instanz 52721 gesucht? Die IPS2GPIO_IO ist wenn dann eine Splitter-Instanz…

Joachim

Mir ist aufgefallen, dass die RequestAction(…) Methode des IPS2GPIO_Output Moduls bei Ausführung von SetValue() bzw. SetValueBoolean() auf die „Status“ Variable nicht ausgeführt wird.

Weder bei Änderung des Variablenwertes aus dem Kontextmenü noch per SetValue()/SetValueBoolean() aus einem Script wird daher der Ausgang am RPi verändert.

Woran könnte denn das liegen?

Danke und Grüße,
Daniel.

Das sind halt nur status variablen.
Du musst über die entsprechende Funktion des Moduls schalten.

z.B. I2GOUT_Set_Status

Danke! Habs inzwischen auch selbst in der Doku gefunden.

Aber vielleicht noch eine Frage zu dem Thema:

Ich verwende das IPSCam Modul, wo ich eine Kamera eingebunden habe, dessen Stromversorgung (per Relais) über den Digitalen Ausgang am RPi geschalten wird.

In der Konfiguration der IPSCam lässt sich jetzt nun per IPSCAM_PROPERTY_SWITCHPOWER die ID einer Variablen einbinden, um eine Power-Button im WebFront anzuzeigen, über den die Stromversorgung ein- bzw. ausgeschalten werden kann:

SCAM_PROPERTY_SWITCHPOWER - ID der Varible, die für das Schalten der Stromversorgung verwendet wird

Mir fehlt jetzt leider ein wenig das Symcon Wissen, wie ich das jetzt am besten anstelle, um dieses Feature mit dem GPIO Ausgang zu verknüpfen.

Das mit der Statusvariable hab ich jetzt gecheckt, dass ich diese nicht Schreiben darf/kann.
Ein Script hier bei SCAM_PROPERTY_SWITCHPOWER einzubinden scheint nicht geplant zu sein.
Wie wäre nun der richtige und saubere Weg?

Danke!

Lege Dir eine Hilfsvariable (boolean) an, welche du aus IPSCAM setzt (true/false). an diese dann eine Aktion welche bei Änderung ein Skript ausführt. In diesem Script setzt du dann den GPIO .

Ok, danke! So wäre jetzt eh mal mein Ansatz gewesen, war mir nur nicht sicher ob das der „richtige/saubere“ Weg ist.

Einen schönen Abend,

suche gerade nach einer Lösung meines Problems. Hab hier schon etwas gesucht leider nichts direkt gefunden.

Hab das Modul hier mit welchem ich direkt auf den Raspi zugreife. Starte ich die Instance geht soweit alles die 1wire Temperatur Daten werden Geladen und alles schein nett. Bis nach ein paar Sekunden die Meldung kommt da „Eine Übergeordnete … scheint inaktiv…“ In dieser mal rein geschaut steht „Schnitt stelle ist geschlossen.“

Nun deaktiviere ich und aktiviere wieder alles. 1Wire Daten werden aktualisiert und wub wieder geschlossen.

Hat wer eine idee?

So, das hätte ich jetzt hinbekommen. Und es funktioniert auch :D.

Nur noch ein kleines Problem:

Beim Start von IP-Symcon wird der GPIO-Ausgang (per Definition in den Einstellungen) automatisch mit FALSE initialisiert (d.h. Stromversorgung aus).
Der Zustand der „Hilfsvariable“ scheint aber gespeichert zu werden, d.h. Zustand des GPIO und der Hilfsvariable läuft auseinanden :(.
Was ist denn hier der richtige Weg?
Gibt es eine Möglichkeit zu Definieren, dass die Hilfsvariable beim Start ebenfalls mit FALSE initialisiert wird?
Oder sollte das anders umgesetzt werden?

Danke schon mal,
Daniel.

Wieso auch immer, Instance gelöscht und neu angelegt. Nun gehts wieder…

Danke und schönen Abend noch

Hallo Leute,

mal ein kleiner Zwischenstand zum MCP23017: Nachdem ich nun schon diverse Vorbereitungen ohne den Baustein selbst gemacht hatte, war es nun an der Zeit die ersten „Livetests“ zu machen. BerndJ, der bei mir um die Ecke wohnt war so gut, mir zwei MCP23017 zum Testen zur Verfügung zu stellen.
Was bereits im Modul integriert ist, ist das Setzen der Konfiguration, das Lesen des aktuellen Zustandes und das Setzen über Funktionen bzw. die jeweiligen Ports sowie das Setzen über das Webfront also einzelner Ausgänge. Was insbesondere noch fehlt ist der Umgang mit Interrupts - kommt aber noch…:wink:
Allgemein musste ich feststellen das die Funktionalitäten des MCP23017 schon ziemlich genial sind, insbesondere die „Interrupt-Fang-Einrichtung“ die mir auch nach Wegfall des eigentlichen Eingangssignals noch sagt, welcher Eingang den Interrupt verursacht hat… (dieses ist insbesondere bei Tastern am Eingang ein Riesenvorteil!)
Aber: Das Bauteil scheint auch ziemlich „zickig“ zu sein! Aktuell funktioniert das Lesen nur einige Male, dann bekommt man keine Informationen mehr aus dem MCP23017 bis man ihn kurzzeitig von der Spannungsversorgung getrennt hat.:confused:
Nach dem „Reset“ funktioniert es dann wieder einige Male alles super, habe noch keine Idee was das verursachen könnte…

Wenn jemand dazu eine Idee hat, gerne her damit…:cool:

Joachim

Hört sich schon einmal gut an.

Mir ist noch aufgefallen, dass der PI IO Zero 16 Ports hat, wohingegen der PI IO 2x 20 Pin hat. Sollte aber denke ich kein Problem sein, oder?

…benötigt wird ja eigentlich nur die beiden I²C-Pins, Spannungsversorgung und ggf. die GPIO für die Interrupt-Eingänge. Sollte also kein Problem darstellen…

Joachim

Ich könnte Dir schnell noch so eine Pio 32 Platine schicken? Ich habe 10 Stück davon, habe ich gerade gesehen, ich nehme sie mit nach Lübeck.
Gruß Helmut

Hallo Helmut,

kaum macht man es richtig funktioniert es…:smiley:
War nicht komplett angeschlossen, der Reset muss auf VDD gelegt werden, hatte ich übersehen…

So, wenn Gelegenheit ist werde ich mich an die Interrupt-Funktionalitäten machen. Wer Zeit und Muße hat mag ja gerne mal den bisherigen Teil testen. Im Debug werden eine Menge Daten ausgegeben, da mal hinschauen wenn etwas nicht funktionieren sollte.

Joachim