Heute möchte ich Euch Siriproxy mit dem Rasperry Pi vorstellen. Über die Installation lasse ich mich nicht aus, weil es dafür genügend Websites darüber gibt. So meint das zumindest Blog-Leser Tim.
Was Siriproxy ist, könnt ihr im Internet nachlesen. Nur kurz für Schnelleser: Wenn man der Siri sagen möchte, wie die Lottozahlen von Samstag lauten, findet Siri Lottostellen keine Lottozahlen. Oder wenn man wie ich an Homeautomation interessiert ist und mit Garage auf, oder Licht an oder Zeige Webcams der Siri Befehle beibringen möchte, rennt man bei ihr gegen die Wand. Hier muss zwischen der Sprach-Verbindung vom User zum Apple-Server eine Weiche gebaut werden, der solche ungewöhnlichen Kommandos erkennt, analysiert und schließlich auch ausführt. Dafür wird der Siriproxy benötigt. Glücklicherweise ist jetzt zumindest für die iPhone 5 / iPad 3 > auch kein Jailbreak mehr notwendig. Man installiert eine Zertifikats-Datei auf das iPhone und schon funktioniert Siriproxy mit dem Raspberry Pi.
[asa]B009RIOXFE[/asa]
Nun kurz und knapp im Stechschritt die Installation:
Image von Siriproxy herunterladen und auf einer SD-Karte mit Win32DiskImager kopieren. Gegebenfalls die englische Doku lesen.
Vielleicht auch nochmal meine anderen Blog-Beiträge lesen, hier und hier.
Wenn man eine Verbindung mit SSH zum Raspberry Pi hat, kann es losgehen.
User: root , Passwort: siriproxy
Ich habe anschließend mit apt-get install mc den Midnight-Commander installiert. Eine schöne Oberfläche, mit dem man einfache Dateien kopieren und bearbeiten kann. Bleibt aber jedem selber überlassen.
dnsmasq installieren: mit apt-get install dnsmasq . Den Editor vi aufrufen und mit vi /etc/dnsmasq.conf die Datei öffnen. Nach address suchen und address=/guzzoni.apple.com/deineRaspberryPi-IP eintragen.
Anschließend mit sh /etc/init.d/dnsmasq restart neu starten.
Dann aus dem Verzeichnis /root/.siriproxy/
die ca.pem Datei herunterladen. Ich habe das so hinbekommen das ich die Datei mit dem Midnight-Commander in das Verzeichnis /var/www kopiert habe und anschließend mit dem iPhone /iPad (Safari) die URL http://deineRaspberryPi-IP/ca.pem aufgerufen habe. Safari fragt sagt dann noch, das das Zertifikat nicht validiert ist, macht aber nix, installieren und gut ist.
Das war es eigentlich auch schon. Mit siriproxy server -d deineRaspberryPi-IP wird nun der Server aufgerufen. Jetzt sollte man Siri anwerfen und Test siri proxy ins Mikrofon sprechen. Wenn dann die Anwort kommt: Siri Proxy is up and running, funktioniert Siri Proxy.
Jetzt wird es interessant: Die ganze Struktur ist mit Ruby (kenn ich mit überhaupt nicht aus) aufgebaut und jetzt ist es möglich zusätzliche Plugins dem Siri Proxy Server hinzuzufügen. Dazu gibt es auf folgender Website einige Beispiele. Auf dieser Auflistung finde ich das Elvisimprsntr’s IPCam plugin sehr interessant. Ich zeige Euch anhand dieses Plugin, wie man Module SiriProxy hinzufügt. Die Vorgehensweise habe ich auf einer anderen Website gefunden, deren Link ich zur Zeit nicht habe.
Einmalig ein Verzeichnis erstellen
mkdir ~/plugins
dort hin navigieren
cd ~/plugins/
die aktuelle repo aus dem Projekt ziehen
git clone git://github.com/elvisimprsntr/siriproxy-ipcam
die Beispiel Konfiguration der Haupt-Konfiguration hinzufügen. Vorher nachschauen, ob die Datei config.yml überhaupt dort sich befindet.
cat siriproxy-ipcam/config-info.yml >> ~/.siriproxy/config.yml
Die config.yml anpassen
Am besten mit den Midnight-Commander. Die Datei liegt in siriproxy/config.yml . Mit F4 öffnen. und dort nach den Eintrag IPCam suchen. Die erste Cam-Url ist die URL der Wansview-IP-WLAN-Cam, der zweite die der hootoo.
- name: 'IPCam'
path: '~/plugins/siriproxy-ipcam'
camurls: {'balkon': {'url': 'http://IPderWansviewCam/tmpfs/snap.jpg', 'id': 'admin','pw': 'deinPasswortderIPCAM'},
'zimmer': {'url': 'http://IPderHootooCam:Port/snapshot.cgi', 'id': 'admin', 'pw': 'deinPasswortderIPCAM'}}
#Example configuration options that can be placed in your main SiriProxy config.yml
Ruby-Datei ggf. übersetzen: Jetzt sollte man ipcam.rb -Datei noch eindeutschen. Sie findet man in dem Plugin-Ordner. Hier werden auch alle nachfolgenden Module (z.b. Lottozahlen oder Google-Places) zu finden sein.
[sourcecode language=“text“ gutter=“false“]/plugins/siriproxy-ipcam/lib/siriproxy-ipcam.rb[/sourcecode]
Anschließend muß man die Dateien zusammenfassen mit folgendem Kommando
siriproxy bundle
Wenn also irgendwas an config.yml oder an den .rb-Dateien geändert wurde, immer siriproxy bundle ausführen!
Mit
<em>
siriproxy server -d deineRaspberryPi-IP
wird nun der Server aufgerufen.
Das obige Installation kann auch mit den anderen Plugins auf die gleiche Weise angewendet werden. Ich habe das mit dem Lottozahlen-Plugin und Google-Places ausprobiert.
Erweiterung der example.rb Datei:
Ich habe die Datei noch um ein paar Gimmicks erweitert, hier als Beispiel die WansView-Camera auf eine vordefinierte Position zu fahren und als zweites meine Synology-NAS per WakeOnLan einschalten. Man sieht, das Scripting ist im Grunde einfach.
listen_for /balkon kamera position eins/i do
say "Die Balkon-Kamera wird auf Position 1 verstellt!"
system "wget --user=admin --password=DeinPasswort 'http://IPderCam/cgi-bin/hi3510/preset.cgi?-act=goto$
request_completed
end
listen_for /nas einschalten/i do
say "Die Synology NAS wird jetzt eingeschaltet. Denke daran, das Du sie wieder ausschaltest, um Strom zu sparen$
system ("wakeonlan 00:13:33:12:66:33")
end
Falls noch Fragen sind, einfach in den Kommentaren posten. Wie Siriproxy beim Start von Raspberry-Pi aufgerufen werden kann, habe ich noch nicht herausgefunden.