Setzen der GIPO Pins auf High oder Low im Skript
Moderator: Co-Administratoren
Setzen der GIPO Pins auf High oder Low im Skript
Guten Abend. Ich habe da folgendes Problem. Ich möchte in der Raspberrymatic im Skript einen GPIO auf High oder Low setzen, der dann bei (high, also 1) ein Relai einschaltet und bei (LOW, also 0) wieder ausschaltet. Bin doch etwas verzweifelt, da ich nix gefunden habe. Kann mir da bitte jemand helfen? Meine Befehle funktionieren nicht. Vielen Dank!
[codesystem.Exec("echo 24 > /sys/class/gpio/export");
system.Exec("echo out > /sys/class/gpio/gpio24/direction");
system.Exec("echo 1 > /sys/class/gpio/gpio24/value");
var a = system.Exec("cat /sys/class/gpio/gpio24/value");
WriteLine(a);
][/code]
[codesystem.Exec("echo 24 > /sys/class/gpio/export");
system.Exec("echo out > /sys/class/gpio/gpio24/direction");
system.Exec("echo 1 > /sys/class/gpio/gpio24/value");
var a = system.Exec("cat /sys/class/gpio/gpio24/value");
WriteLine(a);
][/code]
-
- Beiträge: 2393
- Registriert: 19.09.2012, 10:53
- System: CCU
- Wohnort: Jottweedee
- Hat sich bedankt: 251 Mal
- Danksagung erhalten: 352 Mal
Re: Setzen der GIPO Pins auf High oder Low im Skript
Es kann leider nicht ganz ausgeschlossen werden, dass ich mich irre.
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!
- Baxxy
- Beiträge: 10851
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 610 Mal
- Danksagung erhalten: 2230 Mal
Re: Setzen der GIPO Pins auf High oder Low im Skript
Ich hatte dir doch letztens für deine Lichtschranke ein Script gemacht was nach deinen Angaben auch funktioniert(e).
viewtopic.php?f=60&t=79927&start=10#p778026
Das kannst du doch als Ausgangslage nutzen.
Zum Auslesen des Wertes musst/kannst du immer folgendes Schema verwenden:
viewtopic.php?f=60&t=79927&start=10#p778026
Das kannst du doch als Ausgangslage nutzen.
Zum Auslesen des Wertes musst/kannst du immer folgendes Schema verwenden:
Code: Alles auswählen
string stdout;
string stderr;
integer Ergebnis = 0;
system.Exec ("cat /sys/class/gpio/gpio24/value",&stdout,&stderr);
Ergebnis = stdout.ToInteger();
WriteLine("Ergebnis: "# Ergebnis);
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
Re: Setzen der GIPO Pins auf High oder Low im Skript
Ja. Danke. Das ist richtig. Ich möchte jetzt aber den PIN direkt auf HIGH oder LOW setzen. Nicht auslesen, sondern setzen.
- Baxxy
- Beiträge: 10851
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 610 Mal
- Danksagung erhalten: 2230 Mal
Re: Setzen der GIPO Pins auf High oder Low im Skript
Ich habe von dem GPIO-Zeugs keine Ahnung, ein kurzer Crash-Kurs im Netz zeigte aber das du das soweit richtig machst.
https://www.ics.com/blog/gpio-programmi ... -interface
(hier setzt du auf high)
Anschließend willst du den Wert von gpio24 auslesen und als WriteLine ausgeben.
Und das machst du falsch, daher der Hinweis im vorigen Post von mir.
https://www.ics.com/blog/gpio-programmi ... -interface
Das machst du doch über die Zeile:
Code: Alles auswählen
system.Exec("echo 1 > /sys/class/gpio/gpio24/value");
Anschließend willst du den Wert von gpio24 auslesen und als WriteLine ausgeben.
Und das machst du falsch, daher der Hinweis im vorigen Post von mir.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 2393
- Registriert: 19.09.2012, 10:53
- System: CCU
- Wohnort: Jottweedee
- Hat sich bedankt: 251 Mal
- Danksagung erhalten: 352 Mal
Re: Setzen der GIPO Pins auf High oder Low im Skript
Dank WiringPi, das in der RaspberryMatic integriert ist, geht das ganz simpel. Siehe Link in meinem vorangehenden Post ...
Es kann leider nicht ganz ausgeschlossen werden, dass ich mich irre.
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!
Re: Setzen der GIPO Pins auf High oder Low im Skript
Vielen Dank. Ich weiß Deine Bemühungen zu schätzen. Jedoch habe ich es nicht kappiert. Wo muss ich die Zeile einfügen? Danke!
- Baxxy
- Beiträge: 10851
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 610 Mal
- Danksagung erhalten: 2230 Mal
Re: Setzen der GIPO Pins auf High oder Low im Skript
Welche Zeile?
Ich lese heraus das du am GPIO24 ein Relais hängen hast welches du EINschalten möchtest mittels:
Code: Alles auswählen
ystem.Exec("echo 24 > /sys/class/gpio/export");
system.Exec("echo out > /sys/class/gpio/gpio24/direction");
system.Exec("echo 1 > /sys/class/gpio/gpio24/value");
Hast du GPIO24 gemessen nachdem du den Befehl abgesetzt hast (wenn kein Relais dran)?
Hast du sichergestellt das GPIO24 nicht anderweitig genutzt wird (Funkmodul)?
M.E. machst du das mit den 3 Befehlszeilen richtig.
Der Rest deines Codes zielte darauf ab "value von GPIO24" wieder auszulesen.
Der konnte nicht funktionieren daher musst du Zeile 3+4 deines Codes durch alles was ich postete ersetzen.
Grundsätzlich kannst du dir das aber auch sparen den du weißt ja welchen Wert "value von GPIO24" hat, da du den Wert (1) eine Zeile vorher selbst setzt.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
Re: Setzen der GIPO Pins auf High oder Low im Skript
Vielen Dank. Wie bekomme ich denn heraus welcher PIN noch frei ist? Ich habe das große Funkmodul.