DoorPi Proxy

  • Hallo,


    ich hatte ja mal an anderer Stelle erwähnt, dass ich sowas wie eine iOS App zur Torsteuerung suchte, aber natürlich nicht gefunden hab.
    OpenHab oder FHEM sind mir im Augenblick noch ne Nummer zu groß, da der Rest meines Hauses (Jalousien etc.) einfach noch nicht so weit ist. Wir sind ja auch erst im letzten Jahr hier eingezogen. Ein gutes 3/4 Jahr hatten wir auch keine Klingel, was den Druck meiner Angetrauten auf mich doch stetig wachsen ließ.
    Kurz zur Erklärung:
    Unser Haus steht in zweiter Reihe. Bis zur Straße sind es vom Hau rund 60m. Das Tor ist vom Hause aus nicht bzw. nur sehr schlecht einsehbar. Während der Bauphase habe ich mir ein Cat7 bis nach vorn gezogen. Der Pi bekommt seinen Strom nun via PoE unmittelbar von einem Ubiquiti USW 8 150W Switch (sehr, sehr cooles Teil, befeuert auch meine Unifi AP´s) (vorm Pi ist natürlich noch ein Splitter, den ich günstig in der Bucht geschossen hab).
    Während die meisten von Euch am Vatertag umhergezogen sein dürften, hab ich die Zeit an dem separaten Kasten über dem Briefkasten verbracht und die Kabel durch extrem enge Führungen gezogen. Zusätzlich geht vom Haus auch noch ein Stromkabel, das im HWR an einem 12V Trafo endet. Zum Tor gehört auch noch eine Pforte, in die ein Summer verbaut ist.
    Ursprünglich hatte ich eigentlich nur eine Lösung gesucht, mit der ich zuverlässig das Tor öffnen und schließen konnte. Aus 60m Entfernung war das mit der Fernbedienung doch immer mit etwas Artistik und Fluchen verbunden. Über einige Irrwege mit Erkenntnisgewinn bin ich dann bei DoorPi gelandet. Einen Pi hatte ich noch rumliegen. Also ging es los.
    Irgendwann hatte ich den Torantrieb und den Summer überredet, mit den Relais des PiFace zusammen zu arbeiten.
    Schon beim Testen hatte mich der doch etwas umständliche Weg, Events auf dem Pi auszulösen, genervt, sodass ich eine schnelle und einfache Lösung zum Öffnen des Tores bzw. Betätigen des Summers (später auch Grabben eines Screenshots bzw Livestreams) herbeigesehnt hatte.
    Da ich besitzer eines iPhones, aber kein iOS Developer bin, blieb eigentlich nur eine webbasierte Lösung.
    Im Haus läuft ohnehin ein Server mit Nginx (Apache geht natürlich auch). Da nur für vorgenannte Zwecke nicht noch extra Ports aufmachen wollte und der Nginx recht komfortabel mit LetsEncrypt-Zertifikaten zwangsweise nur via https erreichbar ist, kam dann eins zum anderen.
    Der Ansatz war: Möglichst mit maximal 2 Tastendrücken bzw. Touches alle häufig benötigten funktionalitäten erreichen, um das Hantieren mit der Funkfernbedienung überflüssig zu machen.
    Deswegen ist die Oberfläche auch sehr rudimentär mit Bootstrap "gestaltet".
    Der Weg ist nun:
    Internet --> Fritzbox --> Webserver (https - Nginx - proxy_pass) --> DoorPi (Torsteuerung und MJPG Streamer)
    Die Umsetzung selbst habe ich mit PHP und ein paar Shellscripten, die die Requests am DoorPi auslösen und die Bilder mit Imagemagick bearbeiten und nach Wunsch auf dem Server speichern, gemacht. Mit Imagemagick erstelle ich auch zur Laufzeit das Thumbnail für den KameraScreenshot. Das hochauflösende Bild wir erst auf Wunsch mit Fancybox 3 nachgeladen. Authentifizieruung läuft via .htpasswd auch direkt über nginx.Hier mit mehreren unterschiedlichen Nutzern.
    ToDo ist noch VLAN, um die Sachen sauberer voneinander zu trennen. Erkennung, ob das Tor geöffnet oder geschlossen ist. Eine Lampe vorne wäre natürlich auch noch nett. Eine Wechselsprechanlage soll das ganze bewusst nicht ersetzen. Das wird auf diesem Weg nicht so ohne Weiteres möglich sein.


    Schlicht und einfach eine Fernbedienung mit Bild. Da mein Setup und insbesondere der Bedarf doch recht speziell sind, wird sich eine Veröffentlichung nicht lohnen. Ist ja auch nur quick 'n dirty zusammengenagelt. Wollte mit dem Veitrag hier einfach mal zeigen, in wieviele Richtungen sich DoorPi entwickelt.


    Kurze Demo


    edit:
    Doch recht viel Text. Sorry.
    Bevor jetzt irgendein Schlaufuchs feststellt, dass Uhrzeit auf dem iPhone und Zeitstempel auf dem Screenshot nicht übereinstimmen: Ja. Vorführeffekt. Sonst funktioniert das tatsächlich zuverlässig. Vermutlich noch eine Caching-Sache, an der ich bei Gelegenheit noch etwas tweaken sollte.
    Noch vergessen zu erwähnen, ein Watchdog, der mir sagt,ob DoorPi noch lebt und ggf. via Telegram Alarm schlägt, läuft auf dem Server im HWR auch noch.