Cynob
Enthusiast
- 1.019
Hallo erstmal!
(Wenns das falsche Unterforum ist bitte verschieben)
Um was es hier geht:
Ich hab mir vor ner Weile eine Action Cam von der Firma Denver zugelegt. Die Modellbezeichnung ist 8030W. Das kleine Teil lässt sich über wlan mit dem Handy verbinden und darüber steuern.
So das gleiche will ich nun mit meinem PC auch machen können - leider gibt es dafür kein Programm vom Hersteller - also dachte ich mir: Neue Hobbybeschäftigung!
Dies soll ( damit ich später auch noch weiß was ich gemacht hab ) jetzt so eine Art Anleitung werden wie man nicht nur mein Modell sondern auch andere "knacken" kann. Wobei knacken jetzt wohl der falsche Ausdruck dafür ist.
Egal ich fang einfach mal an:
Was bei mir bisher geht:
- Setzen von Einstellungen vom PC aus
- Datentransfer über ftp und/oder ptpip
- Live Bildübertragung
- Auslösen für Foto
Was noch aussteht:
- Aufnahme von Video auslösen
Das Problem bei Bild/ Video Aufnahme ist die das sich der Camhersteller bei mir nicht an Standards hält - zur Zeit bin ich noch am Infos zusammensuchen und versuch die Android Apk zu dekompilieren und debuggen. Dazu aber weiter unten mehr.
Was man braucht ( Also was ich bisher benutzt hab ):
- PC mit Linux (Windows geht auch bald)
- Wlan Stick für den PC
- Ne Actioncam (in meinem Fall Denver Action Cam 8030W)
- viel Zeit
- Android Smartphone
Zuallererst verbinden wir das Smartphone über Wifi mit der cam so das dieses Setup schonmal funktioniert.
Wenn alles tut installiert man aus dem Playstore von Google einen Netzwerkscanner.
Ich hab diesen hier genommen: Network Scanner – Android-Apps auf Google Play
Wenn man ihn installiert hat - öffnen und dann erstmal in die Einstellungen ( Menütaste > Settings). Dort unter der Rubrik "Port Scanner" den "High port" auf "65535" setzen.
Nun wenn der Scanner seine Arbeit verrichtet hat ( dauert schon n Weilchen) kommt bei mir:
IP: 192.168.1.10 <<< mein PC
IP: 192.168.1.1 <<< Gateway = Die Kamera
Den Eintrag mit "Gateway antippen und aus dem erscheinenden Menü "Scanne Ports" wählen.
Als Antwort kommt bei mir:
Port:
21 - ftp control
554 - rtsp
15740 - ptp/ip Standard Port
Für die ftp Zugangsdaten war der Entwickler so freundlich und hat diese in den Logdateien welche die Camsoftware "Denver Action Cam 2" beim benutzen anlegt schreiben lassen. Zu finden in: icatch_wificam_sdk...log
Für meine Cam ist es:
Benutzer: anonymous
PW: anonymous@icatchtek.com
Somit kann ich mich über wifi mit der Cam mithilfe eines ftp clients verbinden und Dateien austauschen. Ich benutze dafür z.B. FileZilla
So das war der einfache Teil
Jetzt sniffen wir das Wlannetz vom Handy aus um nachzusehen was da alles so durch die Luft segelt.
Wenn man kein gerootetes Android Smartphone besitzt nimmt man dieses Tool:
tPacketCapture – Android-Apps auf Google Play
Verbindet das Handy wieder mit der Cam. Drückt die "Capture" Taste im tPacketCapture Hauptfenster und startet danach die Camsoftware und benutzt die ein bisschen. Da der komplette Netzwerkverkehr auf dem Handy mitgeschnitten wird und das ganze über nen Proxy läuft geht das ganze recht lahm ab und es kann zu timeouts kommen. Nach 2 Sekunden Film oder nem Foto den Mitschnitt beenden indem man den Proxy deaktiviert. In der tPacketCapture App gibt es noch das "File List" Menü > dort sieht man den Speicherort des Mitschnittes oder kann ihn sich via email senden.
Haben wir die .pcap Datei auf dem PC installieren wir dort erstmal wireshark um uns die erzeugte Datei ansehen zu können.
Dazu ein Terminal öffnen und dort:
sudo apt-get install wireshark
eingeben - warten bis alles installiert ist und öffnen dann die pcap Datei .
Wir wissen von unserem Netzwerkscan das es einen rtsp Stream geben muss - also geben wir in das "Filter" Feld "rtsp" ein und klicken auf "Apply"
Gleich in der ersten Zeile kommt bei mir:
410 25.113322 10.8.0.1 192.168.1.1 RTSP 224 DESCRIBE rtsp://192.168.1.1/MJPG?W=720&H=400&Q=50&BR=5000000 RTSP/1.0
Der Interessante Teil davon ist "rtsp://192.168.1.1/MJPG?W=720&H=400&Q=50&BR=5000000"
Jetzt haben wir unseren Livestream.
Wenn noch nicht vorhanden den VLC Video Player mit
sudo apt-get install vlc
installieren. Wenn geschehen das Wlan der Kamera aktivieren und diesmal mit dem PC koppeln. Wenn die Verbindung steht den VLC media Player starten.
Über "Menü" Netzwerkstream öffnen wählen und dort den rtsp Pfad "rtsp://192.168.1.1/MJPG?W=720&H=400&Q=50&BR=5000000" eingeben und Wiedergabe anklicken.
Jetzt sollte der Livestream der Kamera auf dem PC angezeigt werden.
...Jetzt wirds haarig!
Nach dem Livebild auf Port 554 und dem FTP Server auf Port 21 haben wir jetzt noch den Port 15740 übrig.
Dieser steht standardmässig für das ptpip Protokoll. PTP ist eigentlich ein Protokoll welches z.B. USB Kameras Unterhaltungen mit PCs oder Druckern ermöglicht.
Das ganze aufs Netzwerk umgelegt nennt sich dann PTPIP und läuft über TCP im Netzwerk.
Für Linux gibts da ein nettes Tool mit dem Namen "gphoto2"
Installieren wir mit:
sudo apt-get install gphoto2
Das Tool ist zwar nicht explizit für die Kamera geeignet. Aber da die Komunikation eben über dieses PTP Protokoll geht wird man viele Funktionen nutzen können.
Die Cam wenn getrennt wieder mit dem Wlan des PCs koppeln.
Die komplette Befehlsliste kann man sich ansehen indem man nur
gphoto2
den Programmnamen eingibt.
Zuerst müssen wir gphoto2 sagen das wir ne Cam im Wlan rumhängen haben - dies erledigen wir mit dem Befehl:
gphoto2 --port=ptpip:192.168.1.1 "--camera=PTP/IP Camera" "$@"
so nun sollte man mit
gphoto2 --summary
sich einige Infos über das Kamera System einholen können.
Jetzt kann ich nur empfehlen die Befehlsliste durchzulesen und mal auszuprobieren - wenn man was verstellt immer den alten wert merken damit mans wieder rückgängig machen kann
Ein Problem bei mir war z.B. das die Cam nach dem "gphoto2 --list-all-config" einfach abgestürzt ist - das ganze bin ich mit nem script umgangen. Wenn Bedarf besteht bau ich das ganze auch aus damit das alles von alleine geht und lade es hier hoch.
Das große Problem ist noch:
Das Auslösen der Videoaufnahme will nicht - man kann den livestream mitschneiden - allerdings nicht in full HD.
Mein Lösungsansatz zur Zeit:
-Den TCP Traffic vom Netzwerk Android/Cam zerlegen und schauen was die so machen
-Die Android APK hab ich dekompiliert - aber immer wenns interessant wird verweist das Programm an ein shared objekt ( .so Datei) welche sich noch weigert mit mir zu kooperieren.
-die ganze APK debuggen wärend sie läuft
sobald man weiß wie oder was die Cam macht oder will kann man ja das PTPIP Modul im gphoto2 source editieren und neu kompilieren.
So da bin ich dran - wenn mir jemand helfen will > gerne!
Gruß Cynob
(Wenns das falsche Unterforum ist bitte verschieben)
Um was es hier geht:
Ich hab mir vor ner Weile eine Action Cam von der Firma Denver zugelegt. Die Modellbezeichnung ist 8030W. Das kleine Teil lässt sich über wlan mit dem Handy verbinden und darüber steuern.
So das gleiche will ich nun mit meinem PC auch machen können - leider gibt es dafür kein Programm vom Hersteller - also dachte ich mir: Neue Hobbybeschäftigung!
Dies soll ( damit ich später auch noch weiß was ich gemacht hab ) jetzt so eine Art Anleitung werden wie man nicht nur mein Modell sondern auch andere "knacken" kann. Wobei knacken jetzt wohl der falsche Ausdruck dafür ist.
Egal ich fang einfach mal an:
Was bei mir bisher geht:
- Setzen von Einstellungen vom PC aus
- Datentransfer über ftp und/oder ptpip
- Live Bildübertragung
- Auslösen für Foto
Was noch aussteht:
- Aufnahme von Video auslösen
Das Problem bei Bild/ Video Aufnahme ist die das sich der Camhersteller bei mir nicht an Standards hält - zur Zeit bin ich noch am Infos zusammensuchen und versuch die Android Apk zu dekompilieren und debuggen. Dazu aber weiter unten mehr.
Was man braucht ( Also was ich bisher benutzt hab ):
- PC mit Linux (Windows geht auch bald)
- Wlan Stick für den PC
- Ne Actioncam (in meinem Fall Denver Action Cam 8030W)
- viel Zeit
- Android Smartphone
Zuallererst verbinden wir das Smartphone über Wifi mit der cam so das dieses Setup schonmal funktioniert.
Wenn alles tut installiert man aus dem Playstore von Google einen Netzwerkscanner.
Ich hab diesen hier genommen: Network Scanner – Android-Apps auf Google Play
Wenn man ihn installiert hat - öffnen und dann erstmal in die Einstellungen ( Menütaste > Settings). Dort unter der Rubrik "Port Scanner" den "High port" auf "65535" setzen.
Nun wenn der Scanner seine Arbeit verrichtet hat ( dauert schon n Weilchen) kommt bei mir:
IP: 192.168.1.10 <<< mein PC
IP: 192.168.1.1 <<< Gateway = Die Kamera
Den Eintrag mit "Gateway antippen und aus dem erscheinenden Menü "Scanne Ports" wählen.
Als Antwort kommt bei mir:
Port:
21 - ftp control
554 - rtsp
15740 - ptp/ip Standard Port
Für die ftp Zugangsdaten war der Entwickler so freundlich und hat diese in den Logdateien welche die Camsoftware "Denver Action Cam 2" beim benutzen anlegt schreiben lassen. Zu finden in: icatch_wificam_sdk...log
Für meine Cam ist es:
Benutzer: anonymous
PW: anonymous@icatchtek.com
Somit kann ich mich über wifi mit der Cam mithilfe eines ftp clients verbinden und Dateien austauschen. Ich benutze dafür z.B. FileZilla
So das war der einfache Teil
Jetzt sniffen wir das Wlannetz vom Handy aus um nachzusehen was da alles so durch die Luft segelt.
Wenn man kein gerootetes Android Smartphone besitzt nimmt man dieses Tool:
tPacketCapture – Android-Apps auf Google Play
Verbindet das Handy wieder mit der Cam. Drückt die "Capture" Taste im tPacketCapture Hauptfenster und startet danach die Camsoftware und benutzt die ein bisschen. Da der komplette Netzwerkverkehr auf dem Handy mitgeschnitten wird und das ganze über nen Proxy läuft geht das ganze recht lahm ab und es kann zu timeouts kommen. Nach 2 Sekunden Film oder nem Foto den Mitschnitt beenden indem man den Proxy deaktiviert. In der tPacketCapture App gibt es noch das "File List" Menü > dort sieht man den Speicherort des Mitschnittes oder kann ihn sich via email senden.
Haben wir die .pcap Datei auf dem PC installieren wir dort erstmal wireshark um uns die erzeugte Datei ansehen zu können.
Dazu ein Terminal öffnen und dort:
sudo apt-get install wireshark
eingeben - warten bis alles installiert ist und öffnen dann die pcap Datei .
Wir wissen von unserem Netzwerkscan das es einen rtsp Stream geben muss - also geben wir in das "Filter" Feld "rtsp" ein und klicken auf "Apply"
Gleich in der ersten Zeile kommt bei mir:
410 25.113322 10.8.0.1 192.168.1.1 RTSP 224 DESCRIBE rtsp://192.168.1.1/MJPG?W=720&H=400&Q=50&BR=5000000 RTSP/1.0
Der Interessante Teil davon ist "rtsp://192.168.1.1/MJPG?W=720&H=400&Q=50&BR=5000000"
Jetzt haben wir unseren Livestream.
Wenn noch nicht vorhanden den VLC Video Player mit
sudo apt-get install vlc
installieren. Wenn geschehen das Wlan der Kamera aktivieren und diesmal mit dem PC koppeln. Wenn die Verbindung steht den VLC media Player starten.
Über "Menü" Netzwerkstream öffnen wählen und dort den rtsp Pfad "rtsp://192.168.1.1/MJPG?W=720&H=400&Q=50&BR=5000000" eingeben und Wiedergabe anklicken.
Jetzt sollte der Livestream der Kamera auf dem PC angezeigt werden.
...Jetzt wirds haarig!
Nach dem Livebild auf Port 554 und dem FTP Server auf Port 21 haben wir jetzt noch den Port 15740 übrig.
Dieser steht standardmässig für das ptpip Protokoll. PTP ist eigentlich ein Protokoll welches z.B. USB Kameras Unterhaltungen mit PCs oder Druckern ermöglicht.
Das ganze aufs Netzwerk umgelegt nennt sich dann PTPIP und läuft über TCP im Netzwerk.
Für Linux gibts da ein nettes Tool mit dem Namen "gphoto2"
Installieren wir mit:
sudo apt-get install gphoto2
Das Tool ist zwar nicht explizit für die Kamera geeignet. Aber da die Komunikation eben über dieses PTP Protokoll geht wird man viele Funktionen nutzen können.
Die Cam wenn getrennt wieder mit dem Wlan des PCs koppeln.
Die komplette Befehlsliste kann man sich ansehen indem man nur
gphoto2
den Programmnamen eingibt.
Zuerst müssen wir gphoto2 sagen das wir ne Cam im Wlan rumhängen haben - dies erledigen wir mit dem Befehl:
gphoto2 --port=ptpip:192.168.1.1 "--camera=PTP/IP Camera" "$@"
so nun sollte man mit
gphoto2 --summary
sich einige Infos über das Kamera System einholen können.
Jetzt kann ich nur empfehlen die Befehlsliste durchzulesen und mal auszuprobieren - wenn man was verstellt immer den alten wert merken damit mans wieder rückgängig machen kann
Ein Problem bei mir war z.B. das die Cam nach dem "gphoto2 --list-all-config" einfach abgestürzt ist - das ganze bin ich mit nem script umgangen. Wenn Bedarf besteht bau ich das ganze auch aus damit das alles von alleine geht und lade es hier hoch.
Das große Problem ist noch:
Das Auslösen der Videoaufnahme will nicht - man kann den livestream mitschneiden - allerdings nicht in full HD.
Mein Lösungsansatz zur Zeit:
-Den TCP Traffic vom Netzwerk Android/Cam zerlegen und schauen was die so machen
-Die Android APK hab ich dekompiliert - aber immer wenns interessant wird verweist das Programm an ein shared objekt ( .so Datei) welche sich noch weigert mit mir zu kooperieren.
-die ganze APK debuggen wärend sie läuft
sobald man weiß wie oder was die Cam macht oder will kann man ja das PTPIP Modul im gphoto2 source editieren und neu kompilieren.
So da bin ich dran - wenn mir jemand helfen will > gerne!
Gruß Cynob