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.
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.
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 :)
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
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