Ankündigung

Einklappen
Keine Ankündigung bisher.

Axis Kamera einbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Axis Kamera einbinden

    Hallo!

    Habe mir eine Axis M2036 zugelegt. Plan wäre es diese als Kamera und als Bewegungsmelder für den Aussenbereich zu nutzen um damit Leuchten anzusteuern. Mit dieser Kamera ist es möglich Ereignisse zu definieren und Aktionen zu setzen.

    Jetzt ist für mich die Frage welches der möglichen Aktionen ich verwenden sollte und wie ich das dann am besten per Logik auswerten kann.
    Get started with rules for events - Benutzerhandbuch (axis.com)
    AXIS M2036-LE Bullet Camera User manual

    Benachrichtigungen (Empfänger) könnten folgende Formate sein:
    FTP
    HTTP
    HTTPS
    SFTP
    SIP
    Email
    TCP
    MQTT

    Mit was sollte ich da am besten (einfachsten) arbeiten.
    Idealerweise so einbinden, dass ich den Expertenmodus nicht benötige. Hat das schon wer umgesetzt und kann mir Tipps geben?

    TCP habe ich etwas gefunden, jedoch weiß ich nicht ob die Kamera den Server stellt oder der Eibpc also welche IP Adresse ich nehmen müsste.

    Gleiches bei http.


    mfg
    Christi

    #2
    ich verwendet (bei Mobotix) TCP, aber mit Experten...
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      Freu mich gerade wie ein Schnitzel, dass ich es für das erste hinbekommen habe.

      Habe jetzt in der Axis Cam einen TCP Empfänger mit der IP des EibPC2 und dem Port 4809 angelegt.
      Mit TCP lesen bekomme ich ein Auslöser Signal mit dem ich schonmal ein Licht einschalten kann.
      Die Ereignisse habe ich so definiert das bestimmt Bereiche bestimmte Nachrichten sendet. So kann Ich beim Datenstring erkennen welcher Bereich ausgelöst hat.
      Testweise habe ich Boden und Licht vergeben. Also jenachdem welchen Bereich ich bei der Kamera aktiviere bekomme ich auch die Meldung am TCP Lesen Datenstring.
      Ziel ist es das der Datenstring Licht das eine und Datenstring Boden etwas anderes auslöst. Nun habe ich eine Konstante mit dem Namen Boden angelegt und mit dem Datenstring aus TCP Lesen verglichen. Leider funktioniert das nicht.
      Dann habe ich versucht mit der Typkonvertierung dieses c65... Format in f16 umzuwandeln und das zu vergleichen, funktioniert aber leider auch nicht.
      Im Debug Modus steht bei dem Datenstring jeweils Licht und Boden.

      Brauch jetzt nur noch Hilfe wie man das weiter verarbeiten kann.

      image.png

      Kommentar


        #4
        Du kannst die beiden Werte mal im echten Debugger vergleichen. Evtl schickt die Kamera noch ein Ende-Zeichen, das du nicht mit in der Konstanten definiert hast (im Debugger dazu "Rohdaten" aktivieren)?
        Am besten du legst über Objekte->Variablen eine Variable für die Ausgabe aus dem TCP:Lesen an, dann hast du einfacheren Zugriff im Debugger als wenn du über die interne Ausgangsvariable des Knotens gehen musst.

        Kommentar


          #5
          Habe eine Variable angelegt und im Debugger die Rohdaten ausgelesen:

          Boden: 42 6f 64 65 6e 0a 00 ... dann kommen sehr sehr viele 00
          Licht: 4c 69 63 68 74 0a 00 ... dann kommen sehr sehr viele 00

          Aber es sind dann nur Nullen keine anderen Zeichen dazwischen oder am Ende

          Habe die ganzen Zahlen jetzt auch in die const eingegeben, funktioniert auch nicht.

          Kommentar


            #6
            0a ist LF (gibt es als Konstante). Hast du das an deinen Konstanten mit angehängt? Musst du mit String-Verkettung machen, nicht einfach in der Definition der Konstanten.

            Kommentar


              #7
              Erstmal vielen Dank für die schnelle Hilfe!

              Das sagt mir leider alles gar nichts.
              Hab jetzt eine Konstante mit vordefinierter Variablen (<>LF c1400) erstellt.
              Muss die Verkettung eine Reihenfolge haben?
              Muss ich nur bis 0a eingeben? Oder muss 5a miteingegeben werden und dann LF?
              Stören die Leerzeichen die nach zwei Zahlen immer sind oder muss ohne Leerzeichen eingegeben werden?
              Muss die erste Konstante dann auch c1400 sein oder c65...?
              Muss ich am Ausgang Automatisch anwählen oder sollte ich c65... auswählen?

              image.png

              Trifft das hier auch zu?
              TCP POST (Grafana/InfluxDB) - KNX-User-Forum
              "... nur über Experte...Logik zusammengestellt aber dort ist ein Bug drinnen (kein LF als Trenner im Header)"​​
              Angehängte Dateien
              Zuletzt geändert von Distiller; 21.10.2022, 20:57.

              Kommentar


                #8
                So.

                Habe jetzt ein paar Dinge getestet.
                image.png
                Ich hab nun den gesendet Text auf eine Zahl umgestellt. 1 Für Boden 2 für Licht. Das ergibt bei den Rohdaten dann 32 0a. Das habe ich jetzt wie vorgeschlagen mit LF verkettet. Ausgang habe ich auf c65... umgestellt.32 habe ich als c65... definiert. Hat leider so noch nicht funktioniert.​

                Kommentar


                  #9
                  Zitat von Distiller Beitrag anzeigen
                  Erstmal vielen Dank für die schnelle Hilfe!
                  Trifft das hier auch zu?
                  TCP POST (Grafana/InfluxDB) - KNX-User-Forum
                  "... nur über Experte...Logik zusammengestellt aber dort ist ein Bug drinnen (kein LF als Trenner im Header)"​​
                  Nein, du machst ja keinen httprequest.

                  Die Zahlen entsprechen nur deinem Text als ASCII bzw. UTF-8-Codierung. c... gibt nur die Länge an, und bei Strings wird für gleichheit auf textuelle Gleichheit geprüft. D.h. $test$ == $test$c65534

                  Genauso wie du die TCP-Daten in eine Variable geschrieben hast zum Vergleich kannst du bei dem Referenz-String vorgehen. Im Debugger solltest du dann sehen, ob der richtige Wert ankommt. Aus dem Screenshot sehe ich leider nicht, wie du die Konstante 32 definiert hast. Vermutlich als Zeichenkette? Dann musst du dort aber auch 1 oder 2 reinschreiben. Alternativ als Numerische Konstante, und die über convert in die Zeichenkette konvertieren lassen.
                  konstante.png
                  Zuletzt geändert von foobar0815; 25.10.2022, 11:13.

                  Kommentar


                    #10
                    Hat so funktioniert!

                    Super Danke

                    Sowohl mit der Zahl als auch mit dem Wort. Perfekt

                    Kommentar

                    Lädt...
                    X