Kamera mit Digest Authentifizierung im Türsteuerungsbaustein verwenden

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

Voraussetzung

Für die Umsetzung wird ein Webserver mit funktionierender PHP/cURL Umgebung benötigt.

  1. Zuerst wird auf dem Webserver eine PHP Datei cam_connect.php erstellt, die folgenden Inhalt hat:

    cam_connect.php

    <?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.06.28.20.20.20 # # 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); echo $picture; } }
  2. 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

     

  3. So sieht das dann unter Letzte Aktivität aus: 


    Beim Anklicken wird das Bild in voller Größe angezeigt.

 

Dieser Artikel bezieht sich auf die Loxone Config und Miniserver-Version 7.3.2.24

Verwandte Artikel