Schritt 3: Wie wir es getan haben: Hacking-Bewegung
Wir begannen mit einer Kamera mit einer Web-Seite-Schnittstelle und wollte es programmatisch steuern so was besser sein, herauszufinden, wie es funktioniert, als den Code überprüfen?
Wir die Webseite auf der Festplatte gespeichert und monitor.htm sah. Es war dort, dass wir einige interessanten aussehenden Variablen, z. B. PTZ_UP und PTZ_STOP, die erschienen fanden, Motion-Control-Konstanten sein. Die im Verstand halten, wir erschlossen die Webkonsole Inspektion (Strg + Umschalt + C in Chrom) und kontrolliert den Netzwerkverkehr während Sie auf die Tasten der Kamera-Bewegung. Fanden wir mehrere Anrufe auf eine decoder_control.cgi
Seite mit einer "Befehl =" Argument passende beginnt die konstanten, die wir früher in den HTML-Code - eine immer einen Klick gefunden, und ein anderes wenn ein Klick endet. Die Steuerelemente sind ON/OFF und per HTTP GET-Anforderung? Lassen Sie uns herausfinden!
Wir kopieren die Url, die wir gesehen haben:
http://192.168.1.19:81/decoder_control.cgi?loginus...
in den Browser und beladen begann die Seite, und sicher genug die Kamera bewegen! Ab dann war es eine Frage der werfen die konstanten und einem formatierbaren URL-Zeichenfolge in Python um den Controller zu vervollständigen. Getan.
Aber was ist mit Video? Eine Kamera ist keine Kamera ohne es, nachdem alle...