Garagentor-Oeffner fürs Smartphone: garage oPIner

  • Hallo zusammen,


    ich arbeite gerade an einem Projekt um meine Garage mit meinem Smarphone zu schalten, da ich nicht immer den Sender bei mir tragen möchte und ich das Smartphone ja eh immer dabei habe.


    Für das Projekt verwende ich ein einfaches Relais, dass ich mit Hilfe von WebIOPi und einer Smartphone App steuern kann. Die Verbindung findet über WLAN statt.


    Die App hat bislang folgende Features:
    - Schalten aus der App heraus
    - Schalten über ein Widget
    - Schalten über ein Lockscreen Widget
    - Zeitsteuerung (Geht nach x Minuten wieder zu)


    Das Projekt mit Anleitung findet ihr auch auf Github:
    Garage Opiner


    Neu!! Jetzt gibt es eine Version 2.0, diese erlaubt es 2 Garagentore zu steuern.
    Wer die App updated, muss auch das Programm auf dem Raspberry Pi updaten. Und die Verkabelung auf das neue Schema ändern.


    Ich hänge ein paar Screenshots an, die sagen bekanntlich mehr als 1000 Worte.


    How To:


    Hardware:
    Für das schalten der Garage wird neben dem Raspberry Pi lediglich ein Relay benötigt. Auf dem angehängten Bild, sieht man die einfache Verkabelung.


    Software:
    Dinge Installieren die man benötigt:

    Code
    1. sudo apt-get update
    2. sudo apt-get install python-dev python-pip
    3. sudo pip install rpi.gpio Flask configparser


    Jetzt die Server Software von Github herunterladen:

    Code
    1. wget https://github.com/wirthual/garageoPIner-server/archive/twoGarageDoors.zip
    2. unzip twoGarageDoors.zip
    3. cd garageoPIner-server-master/


    Dann die Config anpassen:

    Code
    1. [Settings]
    2. port = 80 # port garageoPIner is running on
    3. pin1 = 4  # pin for toggle door1
    4. pin2 = 17 # pin for toggle door2
    5. [Credentials]
    6. username = admin # username for authentication on webpage and app
    7. password = garageopiner # password for authentication on webpage and app


    Und den Server starten:

    Code
    1. sudo python garageoPIner.py &


    Android App:
    Der Sourcecode für die Android App steht unter Android App Sourcecode auf Github bereit. Die App befindet sich im Play Store unter garage oPIner:
    https://play.google.com/store/…com.wirthual.garageopiner


    Hier müsst ihr noch die IP Adresse des PIs eintragen und den Port, den Bentzername und das Passwort aus dem Config-File: Default: 80.



    Auto-Start:
    Damit garageoPIner beim starten des Raspberrys automatisch gestartet wird:


    1. Soll garageoPIner auf Port 80 laufen, so müssen die nachfolgenden Schritte als root durchgeführt werden (bei Ports >1024 ist dies nicht nötig z.B. 8080):

    Code
    1. su


    2. Erstellen eines cron Eintrags mit crontab:

    Code
    1. crontab -e



    Dann diese Zeile anfügen (!natürlich mit dem richtigen Pfad!):
    @reboot cd /home/pi/garageoPIner-server-twoGarageDoors/ && /usr/bin/python ./garageoPIner.py

    Um zu kontrollieren ob der Eintrag funktioniert hat:

    Code
    1. crontab -l


    jetzt muss der neue Eintrag erscheinen.



    Nach dem Neustart sollte garageopiner laufen.


    3. Optional aber empfohlen: Logging für cron einschalten:

    Code
    1. nano /etc/rsyslog.conf


    Hier die Raute vor der Zeile entfernen:
    # cron.* /var/log/cron.log





  • Moin Moin,
    wie habt Ihr beide es unter Android gelöst oder realisiert?
    Spiele auch schon seit längerem mit dem Gedanken solch eine Lösung bei meiner Garage einzubauen.
    Ich häng bei der Realisierung der App oder sonstiges auf dem Smartphone.:denker:
    Wäre auch unter iOS eine Realisierung möglich?


    Gruß
    Der Hesse

    Edited once, last by der hesse ().

  • Hallo,


    hesse cool das dich das Projekt interessiert. Arteck cool das es für dich alt ist und dir trotzdem die Zeit nimmst zu kommentieren. Wo findet man den Code oder die Anleitung zu deinem Projekt?


    Nun zu deiner Frage Hesse:
    Auf dem Raspberry PI ist WebIOPi installiert, dies ermöglicht es die GPIOs an dem das Relais zum Garagentor hängt über WLAN zu schalten. Dazu stellt WebIOPi eine sogenannte "REST API" zur Verfügung. (https://code.google.com/p/webiopi/wiki/RESTAPI)


    Man kann sagen, alles was die App machen muss, ist ein Befahl "Tor schalten" an den Raspberry PI zu senden.
    Ein Befehl sieht zum Beispiel so aus: 192.168.2.107:8000/GPIO/4/1 --> diesen Befehl nimmt Webiopi entgegen, interpretiert ihn und führt ihn aus. (Im Beispiel wird GPIO auf High gesetzt und da ist das Relais angeschlossen und das Garagentor geht auf).


    Um diese Befehle einfach zu senden bietet WebIOPi auch eine Java-Bibliothek an. Diese kann direkt in Android verwendet werden. Das habe ich gemacht, da ich alle Möglichkeiten der Android Plattform ausnutzen möchte (Widgets, Notifications, etc.)


    Nun zu iOS: Auch unter iOS ist es möglich die Befehle an den Raspberry Pi zu senden. Leider kenne ich mich nicht im Detail mit iOS aus.


    Aber eine fast so Gute Alternative ist die Steuerung über den Browser. Auch hierfür bietet WebIOPi direkte Schnittstellen an. Das heißt die Garage lässt sich von jedem Gerät mit einem Browser steuern. Ein erste Version dieser Steuerung ist im Scrennshot zu sehen. (Auch hier kann man die Garage durch ein Passwort schützen). Die Seite kann mit Hilfe von HTML5, CSS und Javascript richtig aufgepeppt werden um eine schicke Oberfläche zu erhalten.


    Wenn man nun nicht nur die Garage über ein Lesezeichen im Browser steuern möchte, so hat man die Möglichkeit die Webseite in eine Applikation zu verpacken. Hierzu bietet sich z.B. PhoneGap (http://phonegap.com/) an. Dann kann man Apps für alle Möglichen Plattformen bauen. (iOs, Android, Firefox OS, Blackberry, bada, webOS,...)


    Kurzum: Ja es gibt Möglichkeiten das ganze mit iOS und auch anderen Plattformen zu steuern. Das geht auch schon nur sieht nicht so schön aus :).


    Hoffe da wurde einiges klar :) Wenn nicht, frage gerne nach.

  • Tja, so eine Garagensteuerung hat wohl "jeder" ;)


    Spaß beiseite - die Steuerung der Garage mittels Handy (hier bevorzugt Android) ist doch das Interessante.


    Ich kann die Garage (& Hoftor) übers I-Net öffnen und schließen in dem ich eine URL aufrufe:
    https://meinedyndnsadresse.de/homectrl/garage?befehl=auf


    Was ich aber weder mit Tasker noch AutomatIt hinbekommen habe:


    Wenn ich mich meiner Garage nähre (Abstand wird kleiner 200m) und im Auto (Handy ist mit BT verbunden) sitze soll obige URL ausgeführt werden =(


    Leider wird bei Tasker/AutomatIt nicht der Zustandswechsel vom Abstand >200m zu <200m zur Heimadresse abgefragt sondern der Status und das führt zu seltsamen verhalten - Bsp.:


    Ich steige ins Auto, fahre los, das Handy braucht einige Sekunden bis es eine BT Verbindung mit dem Auto hergestellt hat => das Tor öffnet sich wenn die BT Verbinung steht, da dann beide Zustände Position & BT Status zutreffen :@


    Hat da jemand Erfahrung mit Tasker/AutomatIt wie es besser geht? Oder muss man das selber Programmieren?

  • Hi WernerPI,


    sehr coole Variante die du dir da gebaut hast, da kommt man ja auch noch auf Ideen für mehr Verbesserungen.


    Also Programmieren geht auf jeden Fall. Da du dort ja auf das Überschreiten des Radius warten kannst und daran siehst von welcher Seite du kommst. Zusätzlich kannst du noch den Accelerometer auslesen um sichere Ergebnisse zu erhalten :)


    Hast du zwei Verschiedene Befehle für auf und zu? Wenn es einer wäre würde es ja passen wenn es immer einmal schaltet wenn Position und BT gegeben ist. Morgens einmal um es zu schließen, abends um es zu öffnen.


    Eine Idee noch das du es Vll Zeitlich abregelst? Also das der PI sich merkt wann er das Letzte mal geschalten wurde und das als 3. Bedingung einfließt?

    Edited once, last by wirthualr ().

  • Quote

    Hast du zwei Verschiedene Befehle für auf und zu?


    Es sind 2 Befehle - auf/zu.
    Die URL hab ich noch Passwort geschützt und mittels https abgesichert.


    Da werde ich noch einiges mehr bauen:


    Ein Hoftor & eine Garage & Hofbeleuchtung ...
    Ich überprüfe den Zustand des Hoftors (mit einer Messschleife)/Garage (mit einem Reed Relais). Je nachdem gibt es einen Impuls zum öffnen bzw. schließen oder eben nicht falls der gewünschte Zustand schon vorherrscht. Die Unschärfe während des öffnen/schließen ignoriere ich tapfer.


    Als nächstes steht die Hofbeleuchtung an - Wenn das Hoftor aufgeht & es Dunkel ist => Licht für 5 Minuten an. Der Licht-Sensor ist im Zulauf (China)


    Quote

    Also Programmieren geht auf jeden Fall. Da du dort ja auf das Überschreiten des Radius warten kannst und daran siehst von welcher Seite du kommst. Zusätzlich kannst du noch den Accelerometer auslesen um sichere Ergebnisse zu erhalten


    Das habe ich befürchtet - deshalb habe ich mir zumindest Literatur dazu bereits beschafft. Leider ist das Wissen noch nicht durch das Kopfkissen in mein Hirn diffundiert :(


    Die zusätzliche Idee mit der Geschwindigkeit ist klasse - macht das ganze bestimmt sicherer!


    Zeitlich absichern - eher weniger. Dazu ist mein Verhalten zu "unregelmäßig"

  • Leider wird bei Tasker/AutomatIt nicht der Zustandswechsel vom Abstand >200m zu <200m zur Heimadresse abgefragt sondern der Status und das führt zu seltsamen verhalten - Bsp.:


    Ich steige ins Auto, fahre los, das Handy braucht einige Sekunden bis es eine BT Verbindung mit dem Auto hergestellt hat => das Tor öffnet sich wenn die BT Verbinung steht, da dann beide Zustände Position & BT Status zutreffen :@




    das geht anders.. aber dazu musst du den Zustand des Tores wissen (Magnetkontakte)
    ich habe mir Regeln definiert ..


    wenn ich ankomme : bist du innerhalb des 200m Radius gib das Signal. (Kontakt Tor bewegt sich-> Tor ist auf)
    wenn ich weg fahre: regel besagt wenn kein WLAN verbunden dann mach Tor zu (kontakt steht auf tor auf) wobei der Pi jetzt weisst, dass das Tor auf ist.


    allerdings habe ich eine 2 Stufige Absicherung des Tors.
    In der App (im 2 ten Post) der Push Button setzt mir das Tor im Bereitschaft (nur zum aufmachen) . Erst dann kann ich es öffnen.. Das schliessen funktioniert immer..

  • Hallo arteck,


    :danke_ATDE:
    Danke für Deine Antwort. Den Zustand des Tors erkennt mein php-prg. Auch wird der Impuls nur ausgelöst, wenn das Tor "zu" meldet. Trotzdem ist es vorgekommen, dass das Tor unkoordiniert aufging.
    Das mit WLAN statt Bluetooth geht bei mir nur eingeschränkt - da ich "eigentlich" kein Auto habe und mit dem Fahrrad zur Arbeit fahre. Wenn ich mit dem Fahrrad ankomme soll das Tor zubleiben.


    :denker:
    ABER ich glaube ich werde es Zeitlich noch "entschärfen". Wenn das Tor aufgeht (um das Auto wegzufahren) wird kein Öffnen-Befehl vom Handy in den nächsten 5 Minuten angenommen. Dann bin ich sicher außerhalb der 200m Zone.


    Das Schließen kann ich auslösen, wenn ich 210m weg bin & BT Verbindung habe.

  • Ich habe noch eine Idee um nicht nur den Zustand sondern auch den Wechsel festzustellen.


    Kannst du nicht 2 Kreise nehmen? Ein Großen und ein kleinen und irgendwie Speichern in welchem du zuletzt warst? Somit könnte man auch feststellen von wo du kommst, bzw. ob du abfährst oder kommst. :)

  • Möchte mich hier mal einklinken.
    Meine Garargensteuerung habe ich mit RaspberryControl realisiert.
    Ein tolles Tool, welches leider scheinbar nicht mehr weiterentwickelt wird.
    An dem Pi ist eine Relaiskarte angeschlossen, über die ich Licht, sowie auch das Tor
    über die App betätigen kann. Ausserdem ist eine Webcam vor Ort. Auch die kann über
    RaspberryControl aufgerufen werden. Der Pi registriert über eine Lichtschranke,
    ob das Tor offen oder geschlossen ist. Der Pi loggt Aktivitäten und sendet täglich einen Bericht per Mail.
    Ist das Tor länger als 6 min geöffnet, sendet der Pi einen Schnappschuß der Webcam. Ist es lägner als 15 min. offen schickt er eine Warn-Mail + Snapshot. Die Garage liegt am anderen Ende des Grundstücks, ca. 90 m entfernt und es ist schon häufiger vorgekommen, das man vergessen hatte es zu schließen. Naja, es befinden sich halt auch teure Gegenstände, wie z.B. ein Satz Felgen in der Garage oder teuere Werkzeuge auf die man ungern verzichtet.
    An eine automatische Torbetätigung habe ich mich noch nicht herangetraut. Aber ich habe hier über AutoIt gelesen und hoffe, dass ich noch dazu lernen kann.
    Würde gerne das Tor automatisch öffnen, wenn ich mit meinem Smartphone ins dortige WLAN Netz komme.
    Bliebe noch zu sagen, dass ich fix eine VPN Verbindung zur FritzBox aufbauen kann, so dass das ganze auch genauso gut aus der Ferne funktioniert.


    Viele Grüße

  • Moin moin zusammen,


    aufgrund meines Interesses an moderner Technik und Elektronik möchte ich nun auch in das Thema PI einsteigen.


    Mein besonderes Augenmerk liegt nun auf der Garagentorsteuerung und habe mir das als erste Projektumsetzung ausgesucht.


    Allerdings würde ich gleich gerne 2 Tore ansteuern können.
    Habt Ihr da auch schon Erfahrungen machen können?


    Von der Konstellation her sollte es doch passen mit 1x PI & 2 Toren sowie 2 Handys!? ;-)
    Leider bin ich nicht so bewandert, was die App Programmierung angeht, aber den Rest traue ich mir schon zu... *g*


    Über weiteres Fachsimplen würde ich mich freuen
    und verbleibe


    mit PI-kameradschftlichen Grüßen


    Thomas

  • Hallo mjchiphazard,


    also was jetzt schon geht, ist 2 Tore mit 2 Smartphones zu steuern.


    Smartphone A kann aber nur Tor A steuern, Smartphone B nur Tor B. Momentan müsstest du die Einstellungen ändern um mit einem Smartphone beide Tore steuern zu können.


    Oder willst du beide Tore direkt mit beiden Smartphones steuern können? Dann müsste die App leicht angepasst werden.

  • Hi Wirthualr,


    tut mir leid für die späte Antwort!


    Ja ich würde gerne für meine Frau und mich jeweils mit dem separaten Handy des anderen auch über kreuz beide Tore steuern können!


    Wir haben leider nur noch jeder einen Handsender für jeweils ein Motor und wenn man morgens mal in aller Eile losrennt, vergisst man schon mal den richtigen Öffner.


    Daher wäre es genial mit 2 Handys auch 2 Tore ansteuern zu können!


    Wo finde ich denn die APK?


    Danke für Dein Nachfragen und SG retour,


    Thomas

  • Hi,


    vielen Dank dafür.


    Ja der PI kommt zentral an die Zwischenwand der beiden Garagen.
    Von da ab gehen dann die Steuerungskabel jeweils zu den Motoren.


    Ich bin jetzt kein Programmierer, aber als Netzwerkadmin hoffe ich nach ersten Einblicken die Dateien so erweiternzu können, das ich beide Tore ansteuern kann.


    Ansonsten würde ich mich nochmal melden! ;-)


    Besten Dank nochmal und schöne Grüße retour,


    Thomas

  • Hi mjchiphazard,
    Wie weit bist du denn schon gekommen? ansonsten wollte ich dir bescheid geben, dass ich auch dabei bin die unterstützung für ein 2. Tor zu implementieren :)


    Also vll noch etwas Gedult und deine Anforderung löst sich von selbst :)

  • Hallo,


    ich habe auch vor mein Tor so zu öffnen. Kann mir aber bitte einer sagen wie ich den Motor des Antriebes an das Relay anschliesse? Ich habe drei anschlüsse am Relay N0 Com und NC.
    Was muss wohin?


    Gruß Adam


  • Hallo,


    ich habe auch vor mein Tor so zu öffnen. Kann mir aber bitte einer sagen wie ich den Motor des Antriebes an das Relay anschliesse? Ich habe drei anschlüsse am Relay N0 Com und NC.
    Was muss wohin?


    Gruß Adam


    Also com is common. Das ist wahrscheinlich in der mitte.


    NC bedeuter normally closed. Heißt wenn ein low pegel anliegt gibt es eine verbindung zwischen NC und com.


    NO bedeutet normally opened. Das bedeutet das im normalen zustand keine verbindung zwischen NO und com besteht, sondern erst wenn ein high pegel darauf gegeben wird so das das relays schaltet.


    Beim garageopiner wird der Pegel auf low und dann auf high gesetzt. Das heißt du müsstest das Tor zwischen NC und com anschließen. Es kann sein das das Tor beim verbinden von NC und com schaltet, da vor dem schalten des pins evtl. Schon ein low Pegel anliegt. Nach dem ersten schaltet sollte es aber funktionieren.


    Probiers mal aus und lass mich das Ergebnis wissen :)

  • Hi,


    Ich bin neu hier und lese schon die ganze Zeit mit einfach spitze diese Forum. Habe nun auch paar Sachen realisieren können so wie ich sie wollte, unter anderem diese Garagen Tor Steuerung.Habe es auch hin bekommen meine Funk Steckdosen zu schalten über die konsole. Jetzt zu meiner Frage wie kann ich es am einfachsten realisieren diese befehle auf der schönen Weboberfläche zu integrieren? Schön wäre es wenn es mal so funktioniert das man auf der Weboberfläche eine Konfigurations Seite hat bei der man dann die master und Steuer codes einträgt und diese dann als button auf der Hauptseite unter den Tor buttons erscheinen. Ist evtl. etwas viel für mich der sich nicht sehr mit programmieren auskennt, schön wäre es mal einfach 2 buttons unter der Steuerung zu haben mit der ich mein Licht ein und aus schalten kann. Wie gehe ich da am besten vor mit welcher Programmiersprache muss ich mich da anfreunden. Wenn ich das richtig erkannt habe wird diese steuerung mit java realisiert!?!


    vielen dank schon mal


    Gruß