Hi zusammen…
Da hab ich doch am Wochenende ein netten Besuch in meinem Bastelkeller gehabt von dem ich euch unbedingt was erzählen muss. Es handelte sich um eine Axis 207, die mir schon in der Vergangenheit mehrfach positiv aufgefallen war. Ein Kumpel hatte sie günstig bei ebay geschossen und nun Probleme damit. „Stell mal hin, schau ich mir am Wochenende an“, hab ich ihm gesagt. In Wirklichkeit konnt ichs kaum abwarten, dass er sein Pils ausgetrunken hatte und ich mit der Kleinen allein war.
Die kleine, damals verhältnismäßig günstige, Netzwerkkamera, die es übrigens auch als WLAN Variante gab, ist mir im Job schon mal über den Weg gelaufen und war dort als besserer Bewegungsmelder eingesetzt. Damals hab ich eine Software entwickelt, die direkt Aktionen ausgeführt hat wenn sie einen Alarm ausgelöst hat. Also eigentlich genau das richtige für IPS. Also frisch ans Werk und schau wir mal was da so geht.
Ich will hier mal auf bewusst niedrigem Niveau ein kleines Einsteiger-Tutorial tippen. Es soll mal rein mit „Bordmitteln“ und so knapp wie möglich zeigen wie man sowas realisieren kann. Auch das benötigte Script ist so kurz gehalten wie möglich und aufs Wesendliche reduziert.
Einstellungen an der Kamera
Zunächst sollte die Kamera wie vom Hersteller beschrieben in Betrieb genommen werden. Das mehrsprachige Handbuch hat der Hersteller online gestellt.
Wenn man sie dann im Browserfenster mit ihrer IP Adresse ärgert sollte sie sich direkt mit dem Livebild wehren. In dem Fall hat die Einrichtung geklappt und die Integration in IPS kann beginnen. Was sie so interessant macht ist die Tatsache, dass man ihr die Information, dass sich jetzt im Moment gerade etwas bewegt, entlocken kann. Das wollen wir mal über die „TCP Notification“ machen. Dafür oben rechts auf Setup gehen und ggf. einloggen. Im Hauptmenü sollte sich links der Punkt „Event Configuration“ und „Event Settings“ finden lassen.
Ganz unten findet sich unser Punkt „Send TCP Notification“. Diese kleine, unscheinbare Punkt macht hier den Unterschied zu den meissten anderen günstigen Netzwerkkameras aus. Bei „Message“ kann man noch hinterlegen was genau die Kamera melden soll, aber das spielt für uns keine Rolle. Wir tragen also irgend einen Unsinn ein und kümmern uns ums Wesendliche, den Button „TCP server settings“. Dort sollte sich die kleine Fenster öffnen.
Wie der Server heisst spielt normal keine Rolle, wichtiger ist die Netzwerk Adresse. Hier kommt die IP unseres IPS-Servers rein. Wie im Screenshot zu sehen verwende ich den Port 556. Ich kann gar nicht mehr sagen ob ich den dort eingegeben hab oder ob es die Standardeinstellung war. Es spielt auch keine Rolle. Wichtig ist nur, dass hier und nachher in IPS der selbe Port eingestellt sind.
Sehr komfortabel ist der Testbutton, den uns die Firma Axis hier zur Verfügung gestellt hat. Wird er uns doch gleich ermöglichen unser IPS Script auszuprobieren ohne aufwändig Bewegung simulieren zu müssen. Also lasst das Fenster ruhig noch einen Moment offen.
Einstellungen in IPS
In unserem IPS benötigen wir nun eine Server Socket Instanz. Fieser weise ist die ein wenig versteckt. Dafür müssen wir beim Erstellen der Instanz (Rechtsklick, Objekt hinzufügen, Instanz hinzufügen) zunächst einmal unten rechts den Haken bei „Alle Module zeigen“ setzen und finden den Server Socket dann bei den I/O Instanzen. Als Namen hab ich, damit wir nicht ins Schleudern geraten, „Axis 207“ vergeben. Ein Doppelklick auf die gerade erstellte Instanz (sie versteckt sich im Objektbaum unter I/O Instanzen) öffnet die Konfigurationskonsole. Erleichtert werden wir feststellen, dass man kaum etwas einstellen muss. Einfach den Port, den wir auch der Kamera gegeben haben und den Haken bei Aktiv rein. Dann die Einstellungen übernehmen. Nun kann sich die Kamera auf unseren IPS-Server verbinden.
Aber wie gehts weiter? Irgendwie müssen wir ja noch definieren was passieren soll wenn die Kamera sich meldet, oder? Richtig. Dafür legen wir ein neues Script an. Um die Anweisungen selbst kümmern wir uns gleich. Zunächst reicht uns das leere Script, das ich mal „OnMotion“ genannt habe. Das „On“ bedeutet für mich, dass das Script auf etwas reagiert. Auf was genau es reagiert sehe ich daran, dass ich es als Unterpunkt meiner „Axis 207“ Instanz erstellt hab, wie ihr im letzten Bild, weiter unten, im Objektbaum sehen könnt. Das könnt ihr grundsätzlich aber handhaben wie ihr wollt. Ich finds halt übersichtlicher so.
Um den Server Socket mit unserem noch leeren Script zu verbinden benötigen wir eine „Register Variable“. Die findet ihr ganz normal beim Erstellen einer Instanz unter „Sonstiges“. Weil hier unsere Daten „versenkt“ werden (Datensenke ist tatsächlich ein Fachbegriff) habe ich sie mal „Datasink“ getauft. Auf einen Doppelklick hin öffnet sich wieder die Konfigurationskonsole. Dort wird oben unser leeres Script eingetragen und unten unser Server Socket namens „Axis 207“ als übergeordnete Instanz. Jetzt die Einstellungen übernehmen und wir können auch schon den ersten Test fahren.
Das Browserfenster mit unserem Testbutton hatten wir ja noch offen. Wenn wir dort drauf klicken sollte sich im Objektbaum hinter unserem Script die aktuelle Uhrzeit, also der Zeitpunkt wann das Script zuletzt ausgeführt wurde, wieder finden. Dann hat es geklappt. Die Kamera hat unser Script ausgeführt und wir können sehen wann sie zuletzt einen Grund dafür gesehen hat. Wenns nicht geklappt hat solltet ihr alle Einstellungen und vor Allem die Firewall prüfen.