Pruefen der Kameraunterstuetzung:
Die Kamera muss entweder per Mass Storage oder PTP ansprechbar sein. Hierzu die Cam am pi anschließen und in den Aufnahmemodus wechseln
Danach in einer Konsole den Befehle „lsusb -vv“ ausführen.
Man sollte einen Abschnitt betreffend der Kamera mit folgenden Angaben erhalten:
Code:
Bus 001 Device 004: ID 04a9:319b Canon, Inc.
Device Descriptor:
…
Interface Descriptor:
...
bInterfaceProtocol 1 Picture Transfer Protocol (PIMA 15470)
...
Es werden immer alle Bilddaten auf der Speicherkarte übertragen bzw. für den Übertragungsvorgang verglichen, daher sollte man mit einer leeren Karte starten.

Das Szenario beschreibt den Einsatz eines W-LAN Sticks zur Übertragung der Kameradaten via AdHoc-Netzwerk zu einem Anzeigegerät (Notebook/Tablet-PC/Fileserver). Die LAN Schnittstelle soll hierbei nur zur Konfiguration bzw. Diagnose des Pi im Bedarfsfalle dienen.
Scriptablauf:
Phase 1 (Allg.):
Zunächst erfolgt eine kurze Prüfung des Environment (korrekte Konfig vorhanden, ...), falls nicht erfolgt ein Abbruch (Exit status 2, LED 100).
Phase 2 (Netzwerk):
Danach werden die Netzwerkeinstellungen geprüft (Interface vorhanden und UP, ...), falls nicht erfolgreich kommt es zum Abbruch (Exit status 1, LED 100).
Ist alles in Ordnung verbleibt das Script in einer Warteschleife bis das Zielsystem erreichbar ist (LED 001<->000).
Phase 3 (Kamera):
Die USB-Schnittstelle wird zurückgesetzt und das Script verbleibt in einer Warteschleife bis die Kamera angeschlossen und ansprechbar ist (LED 101<->000).
Der Mountpoint wird angelegt und es wird versucht den Kameraspeicher einzuhängen. Schlägt dies fehl, erfolgt ein Abbruch ( Exit status 1, LED 210).
Im anderen Falle wird die Kamera wieder ausgehängt und es erfolgt ein USB Reset.
Phase 4 (Transfer):
Es findet ein Schreibversuch auf dem Zielmedium statt, indem die Datei wft.pid (Inhalt aktuelle Prozess-ID) übertragen wird, im Fehlerfalle erfolgt ein Abbruch (exit status 1, LED 100).
Es kommt nun zur Hauptschleife in der folgende Aktionen ausgelöst werden:
- Kameraspeicher einhängen
- Vorhandene Dateien auslesen und via rsync mit Zielmedium abgleichen
- Warten bis rsync abgeschlossen (Poll alle 2sek)
- Kameraspeicher aushängen
- USB-Reset ausführen
- Datei wft.pid von Zielmedium holen und auswerten (Stop-kriterium)
- Falls kein Stop, 5 Sekunden warten bis Schleife erneut starten kann
- Falls Stop, Zielmedium aushängen und Script beenden ( Exit status 0, LED 000)
Installation:
Das Paket beinhaltet nun eine README mit der Installations- und Konfigurationsanleitung.
Download:
Das WFT-Paket:
http://www.distorted-photography.com/projects/wft_pi/