Hallo, für ein Vogelbeobachtungs Projekt benötige ich folgendes: An einer Position, an der es kein festes Internet gibt, dafür aber Mobiles Internet, soll ein Raspberry Pi oder ein Android-Gerät mit Kamera untergebracht werden. Um einen Livestream zu sehen, müsste ich ja über das Mobilfunk Internet bis zu meinem Raspberry, bzw Android Gerät durchrouten was wohl mit den günstigen Mobile-Flats mit dyndns nicht geht. Daher dachte ich mir, dass ich einfach vom Gerät aus Bilder an einen Webserver schicken würde. Da ich keinen eigenen Server habe, sondern nur einen bei Allinkl, kann ich ja nicht einfach ein beliebiges Programm laufen lassen um eine TCP Verbindung zu ermöglichen. Wie würde man das den am geschicktesten Lösen? Bilder regelmäßig via. FTP oder HTTP hochladen? Oder gibt es dort etwas besseres? Die Framerate ist nicht wichtig, aber sollte wohl unter 5 Sekunden liegen. Zielauflösung wäre 720x1280. Datenvolumen ist nicht so wild, da nur bei Bewegung gestreamt werden soll. Andernfalls bekommt man ein Standbild präsentiert. Wäre nett wenn jemand weiterhelfen könnte. Schöne Grüße
Bei den üblichen Mobilfunk-Flatrates kannst du eh nicht von aussen eine Verbindung auf machen, du wirst GeNATed. Bilder per HTTP-Post klingt doch ziemlich Sinvoll. 1: Ich würd das Zweistufig machen, du machst deine Aufnahmen und legst sie ins lokale dateisystem ab. 2: du Überträgst, je das älteste bild aus deinem Dateisystem an den Webserver und lässt dir das sinvoll quitieren, z.B. indem der Webserver dir nen Hash vom Bild nennt und du das vergleichst. Dann kannst du das bei dir löschen, und mit dem nächsten weiter machen. Damit verhinderst du Bildverlust bei "Stau" wenn grad dein Internet wegen schlechtem wetter oder so klemmt.
Stimmt das ist eine Gute Idee. Hab mir schon überlegt, dass es hier zu einem immer größer werdenden Delay kommen könnte.
Nur wenn du durchgänig Bilder verschicken willst. wenn du immer wieder Pausen hast dann nicht. Sollte das aber zu nem Problem werden kannst du z.B. - Einzelne Bilder verwerfen - Bei erhöhtem Delay die Qualität der Bilder vorm Hochladen reduzieren - Einzelne Bilder Überspringen und in Ruhezeiten Hochladen, wenn du nen Archiv der Bilder benötigst.
Wie wäre es mit einem reverse ssh tunnel? Damit sollte man alles umgehen können.
Kling für mich erstmals nach einer Handelsüblichen IPCam, wenn es nicht um das Projekt geht sondern um das Vogel Beobachten, siehe Dich mal in Haus Sicherheitsbereich um da gibt es Fertige Kameras mit FTP Upload und viele mehr, vermutlich mit allen was du brauchst.
Wäre denn der Aufbau einer VPN Verbindung die Lösung? Hätte ich so die Möglichkeit, direkt über VPN im gleichen Netzwerk wie das Gerät mit dem SurfStick zu sein? Vorrausgesetzt, das Gerät baut die VPN Verbindung nach irgendwohin auf. Gibt es vllt. sogar Mobile Router die das können?
Hab grad sowas ähnliches. Hab RaspPi mit VPN mit der Fritz!Box gemacht, geht recht gut. Du kannst auch die Bilder sammeln, als x264 komprimieren nachts oder so, und halt mit nem Tag Vyerzögerung senden. da sparst du Bandbreite. Das Problem bisher ist der UMTS Stick... Nicht stabil. Habe schon offen, mit Kühlkörper und WP zwischen Chip und EMV Shield.. Macht keinen Unterschied. Habe mir jetzt einen miniPCIe Adapter v3 aus China kommen lassen, darauf dann eine MiniPCIe UMTS Karte, mal sehen ob das besser geht. Die v3 hat nen Linearregler, da kann ich nen Kühlkörper draufkleben, v2 macht es über nen superkleinen Schaltregler, der wird heiß und stabil lief es auch nicht. Mal schauen. Also kurz, das würde gehen, was du willst, mit VPN sogar recht gut, aber die UMTS Verbindung ist das Problem.
Gibt es da eine Anleitung, wie man das VPN einzurichten hat? Bin da leider nicht so fit. Ich muss einen VPN Server zur Verfügung stellen, nehme ich an?
Du brauchst einen Server oder besser Router, zu dem du die VPN-Verbindung aufbaust, dann brauchst du eine feste IP oder einen DynDNS-Service und einen VPN-Client auf dem RPi. Auf dem Router Musst du DynDNS und VPN nach Herstellervorgaben einrichten (eine FritzBpx hat beides und lässt sich gut bedienen) und dann den Client entsprechend den Einstellungen konfigurieren. Zum Schluss musst du noch ein kleines Skript schreiben, dass als Corn-Job läuft und prüft, ob die Internet- und VPN-Verbindung steht. Wenn sie getrennt ist, muss das Skript die wieder aufbauen.
Karl schrieb: > [...] Zum Schluss musst du noch ein kleines > Skript schreiben, dass als Corn-Job läuft und prüft, ob die Internet- > und VPN-Verbindung steht. Wenn sie getrennt ist, muss das Skript die > wieder aufbauen. Oder du benutzt dafür die ifdown / ifup scripte :)
Wie wäre es mit der Android-App Track View? https://play.google.com/store/apps/details?id=com.trackview&hl=de
P.S. ich bin mir nicht sicher, ob ich das über VPN machen würde. Ich würde ehr einen FTP-Server von einem Hoster nehmen. Zur Darstellung der Bilder kann man noch eine kleine Homepage basteln und fertig. Ich habe mal über ein Jahr Messdaten über eine Mobilverbindung gesammelt, da hat ein Python-Skript die daten auch an einen FTP-Server gesendet und ich habe sie dann dort abgeholt. Das einzige, die Daten wahren ca. 300 MB groß, ich habe sie in kleinere Blöcke a 10 MB aufgeteilt, aber bei deinen Bilden ist das nicht nötig. Prüfsummen brauchst du auch nicht vom FTP-Server berechnen lassen. Ein vergleich der Dateigröße sollte ausreichen. Checksummen sind im TCP/IP-Protokoll implementiert.
Also, für den Urlaub stand ich vor der gleichen Problemstellung: Ich wollte gerne alle 15 Minuten ein Bild von unseren Sittichen haben. Sehr schnell habe ich das Problem mit einem Raspi 2, der Raspi-Kamera (2. Version) und einem Upload auf das Google-Drive gelöst. Hierfür bedarf es nur eines kleinen Python-Scripts, welches die Bilder macht und hochlädt. Hat störungsfrei über den Urlaub funktioniert (hat selbst den KD-Ausfall überstanden). Vorteil: Nur kleines Python-Script, kein DynDNS nötig, Google-Drive gibt es auch für jedes Android-Handy. Wenn Du magst, dann poste ich das Script. Gruß, Oliver
So, hier das wirklich karge Script. Noch nicht mal Python:
1 | #!/bin/bash
|
2 | DATE=$(date +"%Y-%m-%dT%H%M%S") |
3 | raspistill -drc high -ex verylong -vf -hf -n -q 10 -a 12 -a "%d-%m-%Y %X" --width 1600 --height 1200 -o /tmp/$DATE.jpg |
4 | /home/pi/gdrive upload /tmp/$DATE.jpg -p MY_DIR_ID |
5 | if [ $? -eq 0 ] |
6 | then
|
7 | rm /tmp/$DATE.jpg |
8 | else
|
9 | mv /tmp/$DATE.jpg /home/pi/Pictures/$DATE.jpg |
10 | fi
|
Dieses Script habe ich dann von einem cron-job alle 15 Minuten aufrufen lassen. Man lese die Anleitung zu 'gdrive', wie man 'MY_DIR_ID' erstellt (Zielordner auf dem Google-Drive). Mit den Einstellungen von raspistill muss man entsprechend der Anwendung ein wenig herumspielen. Ich habe eine recht große Belichtungszeit gewählt, um auch im Dämmerlicht ein halbwegs gutes Bild zu bekommen. Gruß, Oliver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.