Hallo
Ich mache gerade meine eigene haussteuerung am pi.
ich schreibe alle programme mit php und speichere die Ergebnisse in die Dateien vom gpio.
Die eingangswerte werden auch aus den dateien vom gpio abgefragt.
Einer der pins vom gpio ist ein taktgeber für die schaltung außerhalb vom pi, die dann immer abwechselnd die befehle vom pi entgegennimmt und die informationen für den pi an den gpio liefert.
Dadurch kann man die pins vom gpio nacheinander als eingang und eine bestimmte anzahl an taktsignalen später als ausgang.
Da der pi das taktsignal liefert ist die schaltung immer genauso schnell wie der pi.
Ein zweiter pin wird zur Überprüfung genutzt indem nach jedem verarbeitetem taktsignal dort umgeschaltet wird.
Das hat den Sinn damit falls die Schaltung ein taktsignal nicht mitkrigt, dann nicht die schaltung denkt dass sie noch werte eingeben soll und der pi bereits die pins zu ausgängen umschaltet.
Die Schaltung außerhalb vom pi schickt nach jedem taktsignal auf dem überprüfungspin eine Antwort damit das nächste signal kommen kann.
Die schaltung speichert die werte bis neue kommen und speichert eingangsdaten bis diese erneut eingegeben werden können.
Wenn sich die werte im speicher so verändern, dass sich ein motor bewegen soll oder ähnliches wird an das betreffende gerät ein signal gesendet (immernoch digital) und dort wird es verarbeitet (motor ein bis auf der richtigen Stellung oder ähnliches.
Wenn ein sensor etwas wahrnimmt wird es mittels einer schaltung in ein digitales signal verwandelt und versendet.
die schaltung am pi speichert es bis der pi das nächste mal werte anfordert.
Das ist jetzt erstmal mein system und kann auch über alle schnittstellen, die php zugänglich sind kommunizieren.
Die programmierung setzt sich auch aus modulen zusammen.
Leider kann ich die quelltexte noch nicht veröffentlichen, da sie noch Sicherheitslücken enthalten , die ich erst noch schliessen muss