Dahua VTO2000a - Ein Linux Programm welches bei Gong informiert

denim

Neuer User
Mitglied seit
4 Dez 2005
Beiträge
60
Punkte für Reaktionen
1
Punkte
8
Hallo zusammen, ich suche noch Freiwillige die ein Utility testen möchten :) oder auch einfach nur nach einer Lösung dafür gesucht hatten.

In Kurz: Jemand klingelt, ihr bekommt auf eurem Handy ein Foto (ohne die iDMMS app zu nutzen, z.b. über telegram oder einen push Dienst), oder andere Dinge die ihr in eurem Script definiert, passieren. Auf Github gibt es ein Beispiel mit Telegram.

:
mcl - lauscht auf dem Raspberry und führt ein Benutzer Script aus.
Damit wird man ein Stückchen unabhängiger von der app.

zu finden hier:
https://github.com/denimjeans/DahuaVTO-Gong
oder precomiled for arm / raspberry

starten: ./mcl Eure_lokale_ip /euer/script.sh

update 3.10.2019:
da war noch ein bug dass das angegebene script nicth angenommen wurde, wurde jetzt mit 0.4 gefixt. für rpi4 in anhang. ansonsten auf github mit
Code:
gcc main.c -o mcl
selber kompilieren
 

Anhänge

  • mcl.zip
    2.8 KB · Aufrufe: 25
Zuletzt bearbeitet:
  • Like
Reaktionen: INT_IP
Cool.
Hab mir sogar die Arbeit gemacht, dafür eine eigene App zu kompilieren, um nicht meine Telefonnummer usw. an Dritte abtreten zu müssen (Telegram). Aber ansonsten sieht meine Lösung über OneSignal sehr identisch aus.
door1.png door2.png
 
  • Like
Reaktionen: denim
Testen bringt dir nichts, weil die App hardcoded mit meiner OneSignal ID verknüpft ist. Dafür brauche ich die fertige .apk aber nur auf meine Devices schieben, installieren und gut - keine Authentifizierung beim Start,etc.
Bin kein Freund von WhatsApp/Facebook&Co, deshalb soll das alles anonym bleiben.

Bin ehrlich gesagt nur ein Scripter, war mein erster Kontakt mit APK Entwicklung. Anleitung gibts aber hier, hab sogar ich geschafft:
Gibts wohl auch für iOS, nur da kassiert Apple sicher mit.

Damit schicke ich mir Snapshots der Besucher (anläuten) und auch wenn jemand den Fingerprint benutzt (z.b. wenn meine Kinder von der Schule nach Hause kommen).
 
Habe das Script von Denim jetzt endlich mal ausprobiert. Habe die main.c nochmal selber kompiliert um den Pfad des Scripts anzupassen. Ansonsten hat alles funktioniert. Die Datei läuft jetzt permanent auf meinem Raspberry und erkennt wenn die VTO2000A klingelt. Ist dies der Fall so wie ein Script gestartet. Dieses Script kann alles machen was man will.

Mein Script habe ich so geschrieben das mein Linux Sat-Receiver auf den Kanal für die VTO Kamera wechselt, dann 15 Sekunden wartet und dann wieder auf den vorherigen Sender zurückschaltet.

So kann ich auf dem großen Fernseher sehen wer vor der Tür steht.

Alles bestens!
 
Hallo, ich würde dieses Script gerne dazu nutzen mir eine email mit Foto zu senden, wenn jemand klingelt - also kein Push via Telegramm oder irgendetwas anderem.
Mir ist im Moment noch nicht klar, was ich in der main.c benötige. Alles was "/* Join the multicast group 226.1.1.1 on the local 203.106.93.94 */" betrifft habe ich auskommentiert. Falls ich das nicht mache bekomme ich einen Fehlermeldung, liegt wahrscheinl. daran, dass ich keine telegramm installiert habe, oder ?
Zusätzlich habe ich geändert:
#define SCRIPT "/home/devops/door_bell.sh"
und dann natürlich "gcc main.c -o mcl" augeführt.

In der door_bell.sh habe ich auch alles was telegram und feh betrifft auskommentiert (nutze debian9 ohne GUI). Zusätzlich habe ich:
DOOR="192.168.178.30"
geändert.

Wenn ich das alleinige Kommando:
curl --user "view:eek:nly" --digest http://snapshot:[email protected]/cgi-bin/snapshot.cgi -s -o /tmp/door1.jpg
ausführe, also kein door_bell.sh, wird in /tmp zwar ein door1.jpg erzeugt, aber das Bild ist kein Bild, in der door1.jpg steht lediglich:
Error
Invalid Authority!

Mich wundert es, das nirgends User/Passwort für die VTO2000A definiert werden.

Mir reicht es, wenn ich die Bilder beim Klingeln speichern kann. Wie ich eMails versende weiss ich.

VG
kuzco
 
also in der main.c musst du nichts auskommentieren. Die multicast Adresse muss drinne bleiben weil die VTO dort hin Daten sendet. Werden auf dieser Multicast Adresse die Klingelbefehle erkannt so wird das Script door_bell ausgeführt. Hier musst du nun deine Anpassungen vornehmen.

die Adresse für die Snapshots lautet:
http://username:[email protected]/cgi-bin/snapshot.cgi

username und password natürlich ergänzen.
 
Danke. Heisst das, dass jedes Klingeln an 224.0.2.13 geschickt wird ?

Habe mir die door_bell so umgeschrieben, dass nur 2 Fotos gemacht werden. Diese werden dann in neue Verzeichnisse /year/month/day verschoben. Zusätzlich wird das zweite Foto per eMail verschickt (über python).
 
dass jedes Klingeln an 224.0.2.13 geschickt wird ?
scheint so, muss nicht bei jedem gleich sein. Kann auch ggf. mit der / neueren FW Version variieren.
würde sich aber mit Wireshark einfach ausfindig machen. Da wird nämlich, ähnlich wie auf dem RS485 Bus ziemlich viel Daten hingepollt...

In der Hoffnung, dass es erstmal so bleibt...
 
Gibt es eigentlich auch eine Möglichkeit damit den Fingerprint zu überwachen, also Foto beim Öffnen mit dem FP ?
Ich denke nein, da ich den FP über das externe Relais DEE1010 als TÖ2 laufen habe. Somit geht wohl alles über RS485, oder ? Nutze keine SIP FW (damit wird des wohl gehen, oder ?)

Das mit dem Gong läuft bei mir gut.
 
Ich triggere hier auf TCP SYN auf Port 5000. Sniffer mal mit, wenn du mit FP öffnest.

Gesendet von meinem SM-G930F mit Tapatalk
 
Ja. Weis aber nicht wohin das SYN bei Non-SIP FW geht, deshalb mitsniffern.
 
Zuletzt bearbeitet:
OK. Das werde ich dann wohl auf nach Ostern verschieben :) müssen.
Dachte man könnte die main.c gerimgfügig anpassen ;-).
 
Habe das nun doch noch vor Ostern probiert, aber leider sehe ich da nichts.

Mein PC mit Wireshark (3.0.1) habe ich direkt über einen Hub mit dem Dahua-POE-Switch verbunden (out-Port, am in-Port habe ich beim Test nichts angeschlossen).

Wenn ich die Klingel drücke, dann sehe ich ohne Ende UDP Daten von meiner VTO2000A an 224.0.2.13 (Src-Port: 20001, Dest.-Port: 30000. Soweit so gut.
Wenn ich den FP drücke, zeigt mir WireShark nichts an !?
 
Hast wohl einen Switch, keinen Hub. IP 224.0.2.13 ist nicht die IP der VTO2000A sondern eine Broadcast/multicast Adresse. Die siehst du überall im Netzwerk.
Promiscuous Mode aktiv? Bei DualSpeedHubs musst du alle Geräte auf der selben Geschwindigkeit haben (10 ODER 100 MBit). Dazwischen arbeitet ein Hub wie ein Switch und du siehst wieder nix.
Wie heißt denn dein Hub genau?
 
Also es ist def. ein Hub. (level one - EHU-0501TB 10Mbps EthernetHub).

Richtig, die 224.0.2.13 ist eine Broadcast. Aber das ist genau die, die die VTO (192.168.178.30) "anruft" wenn es an der Tür klingelt und so habe ich es ja auch geschrieben.
So steht es ja auch in der main.c des obigen Scripts. Das ist also soweit in Ordnung. Zumindest für die Überwachung des Tügongs.

Meine NIC im PC steht auf 10MBitFull-Duplex (keine Auto).
Der Promiscuous Mode ist aktiv - habe extra nochmals unter Capture-Options nachgeschaut.
Wenn er nicht aktiv wäre, dürfte ich beim Klingeln doch auch nichts sehen, oder ?

Kurzes Update:
Nutze den TÖ2 über das DEE1010, somit geht wohl alles über die 485-Schnittstelle, oder ?
 
Zuletzt bearbeitet:
Promiscuous Mode stellt die Netzwerkkarte im Layer 2 so ein, dass er Pakete an alle MAC's annimmt und nicht nur die Pakete, die an sie selbst gerichtet sind.
Da es ein HUB ist, dar auf keinen Fall Full Duplex eingestellt sein! Hub= HalfDuplex, oder einfach Auto in diesem Fall.
Kannst du mir ein kleines Schema deiner Verkabelung zeichnen, hab da den Überblick verloren.
 
Hallo, die Verkabelung ist beim Test ganz einfach.
VTO und VTH gehen über POE direkt auf den orginal Dahua-POE-Switch. Dieser geht dann direkt auf den Hub. Der PC geht ebenso direkt auf den Hub. Es gibt keine weiteren Geräte die am Hub angeschlossen sind.
Alle IP-Adressen sind statisch, die NIC vom PC habe ich mit HalfDuplex 10Mbits und Auto getestet.

Wenn ich die Klingeltaste drücke, wird alles im Wireshark protokolliert - so wie es sein soll. Somit sollte klar sein, dass die Verkabelung in Ordnung ist.
Wenn ich den FP nutze erscheint im Wireshark nichts.

Zur Info:
- Nutze die FW 3.12 (20181025) - also keine SIP
- Steuere die TÖ über TÖ2, also mithilfe des DEE1010
Somit geht doch alles, was den TÖ2 betrifft nur über die 485-Schnittstelle, oder ?
 
Klar, du musst schon zumindest ein Gerät (VTO oder VTH) über den HUB schleusen. Der Switch verbindet die Geräte direkt, da wirst du am HUB nie was sehen.
Du siehst nur ein paar Broadcast Meldungen, den RTP Stream etc. aber nicht.
Musst z.b. die VTH über den Mitgelieferten PoE Injector auf den HUB stecken, PC auf HUB und HUB zu Switch patchen. Dann siehst du alles von/zu VTH. Dabei könnte/sollte auch die Meldung auf Port TCP 5000 sein.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.