Diese Anleitung beschreibt, wie man in der Loxone Visualisierung beim Türsteuerungsbaustein unter Letzte Aktivität Standbilder einer Kamera mit Digest Authentifizierung nutzen kann. Dies ist zum Beispiel bei der Trendnet TV-IP310PI der Fall.
Schritt-für-Schritt-Anleitung
Zuerst wird auf dem Webserver eine PHP Datei cam_connect.php erstellt, die folgenden Inhalt hat:
<?php
##################################################################################################
# Script zum Wandeln der HTTP-Authentifizierung einer Trendnet TV-IP310PI Kamera von Digest auf #
# Basic für die Verwendung in Verbindung mit dem Loxone Türsteuerungs-Baustein. #
# Version: 2016.02.26.23.56.30 #
# Aufruf mit: #
# http://fqdn/cam_connect.php?kamera=kamera-hostname/Streaming/channels/1/picture #
# oder #
# http://user:pw@fqdn/cam_connect.php?kamera=kamera-hostname/Streaming/channels/1/picture #
##################################################################################################
//Error Reporting aus
error_reporting(E_ALL);
//Kompletter Standbild-URL der Kamera
$url='http://'.addslashes($_GET['kamera']);
//Basic-Authentifizierung des Scripts
if (!isset($_SERVER['PHP_AUTH_USER']))
{
//Wenn nicht authorisiert
header('WWW-Authenticate: Basic realm="Kamerazugriff"');
header('HTTP/1.0 401 Unauthorized');
echo 'Zugriff auf Kamerabild verweigert.';
exit;
}
else
{
//Wenn authorisiert, werden die Daten verwendet
$curl=curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($curl, CURLOPT_USERPWD, $_SERVER['PHP_AUTH_USER'].":".$_SERVER['PHP_AUTH_PW']);
curl_setopt($curl, CURLOPT_URL, $url);
$picture = curl_exec($curl);
curl_close($curl);
if(mb_strlen($picture) < 500)
{
//Wenn Bild zu klein
header ("Content-type: image/png");
$im = @ImageCreate (320, 240)
or die ("Fehler bei Kamerazugriff");
$background_color = ImageColorAllocate ($im, 255, 240, 240);
$text_color = ImageColorAllocate ($im, 255, 64, 64);
ImageString ($im, 20, 50, 110, "Fehler beim Kamerazugriff", $text_color);
ImagePNG ($im);
}
else
{
//Wenn Bild scheinbar okay
$type = 'image/jpeg';
header('Content-Type:'.$type);
header('Content-Length: ' . mb_strlen($picture));
echo $picture;
}
}
- Jetzt kann in der Loxone Config auf das Script verwiesen werden (Beispiel):
Bild intern: http://web.server/cam_connect.php?kamera=kamera-vorgarten/Streaming/channels/1/picture
Bild extern: http://web.server.extern:8080/cam_connect.php?kamera=kamera-vorgarten/Streaming/channels/1/picture
Videostream intern: http://kamera-vorgarten/Streaming/channels/1/httpPreview
Videostrean extern: http://kamera-vorgarten.extern:802//Streaming/channels/1/httpPreview
- So sieht das dann unter Letzte Aktivität aus:
Beim Anklicken wird das Bild in voller Größe angezeigt.
Verwandte Artikel
-
Seite:
-
Seite:
-
Seite:
-
Seite:
-
Seite: