10.12.2012, 17:00
Ich würde gerne Daten von einem Rechner auf einen anderen übertragen, wobei es zwischen den beiden nur eine recht unzuverlässige Wireless-Ethernet-Bridge gibt (das Sensor-Gerät ist mobil, weswegen es zu stark wechselnder Signalqualität kommen kann). Bei den Daten handelt es sich um Standbilder aus Kamera-Streams (mehrere Kameras gleichzeitig) und ein paar Telemetrie-Daten (GPS-Position, Temperatur, Luftdruck, Luftfeuchtigkeit u. ä.). Es sollte 1x pro Sekunde so ein Päckchen ankommen. Wenn eins verloren geht, braucht es nicht nochmal gesendet zu werden (die Daten werden zur späteren genauen Auswertung auch am "Sensor"-System aufgezeichnet), da die übertragenen Daten nur zur "Live"-Kontrolle dienen.
Die Kamerabilder liegen mir als JPEGs vor (maximale Auflösung 800x600, werden von einer anderen Software erzeugt), die Sensordaten werden über ein Datenerfassungssystem am USB-Port aufgenommen (das einlesen von diesen soll hier nicht das Problem sein). Wichtig wäre mir, dass nicht ein einziger Übertragungsfehler gleich mein ganzes Paket kaputt macht, sondern z. B. einfach nur das aktuelle Bild von sagen wir "Kamera 2" fehlt (in der Hoffnung, dass beim nächsten Paket wieder ein aktuelles fehlerfrei ankommt). Um zumindest irgenein Bild zu bekommen habe ich mir auch überlegt, die Standbilder in verschiedene Auflösungen runter zu skalieren, die vom höchstauflösenden ausgehend der Reihe nach gesendet werden und das erste das unten fehlerfrei ankommt wird angezeigt (weniger Daten pro Bild heißt weniger Möglichkeiten für Übertragungsfehler, die die Darstellung verhindern).
Wie würdet ihr das lösen? Ich habe bis jetzt immer nur mit "verlässlichen" Kanälen gearbeitet, weswegen mir hier komplett der Ansatz fehlt.
Die Kamerabilder liegen mir als JPEGs vor (maximale Auflösung 800x600, werden von einer anderen Software erzeugt), die Sensordaten werden über ein Datenerfassungssystem am USB-Port aufgenommen (das einlesen von diesen soll hier nicht das Problem sein). Wichtig wäre mir, dass nicht ein einziger Übertragungsfehler gleich mein ganzes Paket kaputt macht, sondern z. B. einfach nur das aktuelle Bild von sagen wir "Kamera 2" fehlt (in der Hoffnung, dass beim nächsten Paket wieder ein aktuelles fehlerfrei ankommt). Um zumindest irgenein Bild zu bekommen habe ich mir auch überlegt, die Standbilder in verschiedene Auflösungen runter zu skalieren, die vom höchstauflösenden ausgehend der Reihe nach gesendet werden und das erste das unten fehlerfrei ankommt wird angezeigt (weniger Daten pro Bild heißt weniger Möglichkeiten für Übertragungsfehler, die die Darstellung verhindern).
Wie würdet ihr das lösen? Ich habe bis jetzt immer nur mit "verlässlichen" Kanälen gearbeitet, weswegen mir hier komplett der Ansatz fehlt.