Face Time Türklingel / Gegensprechanlage mit Videorecorder und Photoversand

So, nach dem ich jetzt schon ein paar Jahre hier bin und meistens nur Fragen gestellt habe möchte ich euch heute mal mein neues Projekt vorstellen, von dem ich glaube, dass es den ein oder anderen auch interessiert.

Ziel war es, dass wenn es an der Tür klingelt IPS dafür sorgt, dass ich eine Facetime-Verbindung zur Türkamera hinbekomme und ich mich mit demjenigen der vor der Tür steht unterhalten kann.

Das geht jetzt! :smiley:

An einigen Feinheiten fehlt es allerdings noch aber vielleicht kann mir ja da der ein oder andere helfen :relaxed:

Basieren tut das ganze (bei mir) auf einem MacMini Server auf dem auch unter Parallels IPS läuft. Vom Mac Mini muss jetzt per USB (leider) das Mikrophon und die Web Cam an die Tür gebracht werden. Lautsprecher nicht vergessen. (Irgendwo habe ich auch mal ne Logitech Cam gesehen die von USB über WLan läuft…) Ich glaube aber man kann USB auch über einen USB/LAN Extender erweitern, so das der Mac nicht hinter der Tür stehen muss… IPS ruft dann einen auf dem Mac laufenden Server auf, welcher in der Lage ist Apple Script zu starten.
Das Applescript in Verbindung mit einem Automator-Script wiederrum kümmert sich um den Facetimeaufbau.

Dann mal zum Ablauf…

  1. Als Türklingel verwende ich einen HomeMatic Taster. Dieser Triggert dann folgendes Script:
echo file_get_contents (http://192.168.178.100:1080/doorbell.app);  
  1. Auf dem Mac Mini habe ich dann „Say What 1.6“ Server von http://www.maccentric.com installiert. (5 Übertragungen sind frei / reicht zum testen danach 40$)

  2. In den Ordner „Action“ von Say What kommt dann die „Doorbell.app“

  3. Einige Vorbereitende Maßnahmen…

Zweiten Facetime-Account anlegen.

Auf dem MacServer: Systemeinstellungen->Bedienhilfen den Haken für „Zugriff für Hilfsgeräte aktivieren“ setzen.

  1. Mit dem Apple Automator das Script „take picture and email it“ anlegen siehe auch: http://www.tuaw.com/2008/04/22/mac-a...gered-spy-cam/

  2. Erstellen der Doorbell.app

Dafür brauchen wir den Appel Script Editor mit dem dann folgender Quellcode eingegeben wird (Hier besten dank an „macgeek“ von dem dieser stammt und von mir nur angepasst wurde).

Damit das Scrippt auch läuft muss auf dem Mac Quicktime 7 installiert sein, nicht 10.x! Das gibt es hier:
http://support.apple.com/kb/DL923?viewlocale=de_DE

-- Starts Facetime Session
open location "facetime://017012345678" -- hier die Handynummer des Anzurufenden Handys eintragen
delay 5
-- Entertaste drücken
tell application "System Events"
    keystroke return
    -- Prüfen ob Facetime Aktiev ist
    tell application "System Events" to set theCount to the count of (processes whose name is "Facetime")
    if theCount = 0 then
        do shell script "sleep 1"
    else
        tell application "FaceTime" to activate
        -- start automator script to take picture and email it
        tell application "Take Picture and E-mail" to launch
        tell application "Take Picture and E-mail" to activate
        delay 5
        -- Starts Video capture
        tell application "QuickTime Player 7.app"
            try
                --activate
                --new movie recording
                --start first recording
                do shell script "sleep 10"
                
                set status to true
                
                repeat until status = false
                    -- sets how long facetime will ring your phone (30 secs)
                    delay 30 -- if call is active wait 60 seconds before rechecking
                    --3600 is 1 hour, 1800 =1/2 hour, 60 =1 min, 300 =5 mins
                    --add 300 (5 mins) ahead/behind starting
                    
                    -- Check to see if call is still active
                    
                    tell application "FaceTime" to activate
                    tell application "System Events" to tell process "FaceTime"
                        if name of front window contains "verfügbar" then
                            do shell script "sleep 1"
                            set status to false
                            
                        else
                            
                            -- Check to see if call is still active
                            
                            tell application "FaceTime" to activate
                            tell application "System Events" to tell process "FaceTime"
                                if name of front window contains "verbinden" then
                                    set status to true
                                    do shell script "sleep 5"
                                    
                                    -- Check to see if call is still active
                                    
                                else
                                    -- Quit Facetime / video recording if call is not active
                                    tell application "System Events" to tell process "FaceTime"
                                        if name of front window contains "facetime" then
                                            set status to false
                                            tell application "FaceTime" to quit
                                            do shell script "sleep 1"
                                            tell application "QuickTime Player 7.app"
                                                «event MVWRstop» first record
                                                tell application "QuickTime Player 7.app"
                                                    quit
                                                end tell
                                            end tell
                                        end if
                                    end tell
                                end if
                            end tell
                        end if
                    end tell
                end repeat
            end try
        end tell
    end if
end tell
end
end
end

Wenn ihr das Script dann in den Script-Editor kopiert habt noch fix die Handynummer anpassen und als .app speichern. Bei ersten Aufruf der App noch schnell den Pfad für Quicktime 7 und die „take picture and email it“ mit angeben. (Kommt ein Fenster mit der Abfrage)

Beide Scripts kommen dann in den Ordner „Action“ von Say What.

Anmerkung:

Wem SayWhat zu teuer ist kann das bestimmt auch über den Apache Webserver des MacMini laufen lassen. Nur hab ich das nicht hinbekommen…

Jetzt kommen wir noch zu den Schwächen… leider läuft das Apple Script Doorbell nicht sehr zuverlässig und bietet hier wohl eher die Ausgangsbasis um das ganze zu einer Runden Sache zu machen… Hier hoffe ich jetzt mal auf die Lösungen der Profis :wink: Bin da noch ein wenig Laie…

Ich hoffe ich habe nun nix vergessen…

Interresant, ich will mein altes iPhone 4 in ein Diebstahlsicheres Gehäuse packen und als Klingel benutzen.

Auf dem iPhone gibts es ja URL Schema die man z.B. über eine Website aufrufen kann.

Also erstelle ich eine Webseite, da sind 2 Buttons, 1x für Facetime und 1 x für Skype :slight_smile:

Kennt jemand ein Solches Gehäuse ?

die Alterungsgeschwindigkeit dieser Geräte überrascht doch immer wieder… :rolleyes:

</ot>