FlashAir Autodownloader

Aus drf-faq
Wechseln zu: Navigation, Suche

Einleitung

Neben den seit Jahren bekannten EyeFi-Produkten gibt es von Toshiba die FlashAir SD-Karte. Diese Karte ermöglicht es Fotos per WLAN direkt von der Karte abzurufen. Dazu baut sie ein eigenes WLAN auf mit dem man sich per Notebook, Tablet-Computer oder Smartphone verbinden kann und per Browser die Bilder einzeln ansehen und herunterladen kann. Für Android gibt es auch eine FlashAir-App im Google Play Store. Hinzugekommen ist von Transcend die WIFI-Karte (von Tanscend inzwischen abgekündigt). Diese Karte hat den Vorteil, dass sie sich (optional) in ein bestehendes WLAN über den sogenannten "Internet-Modus" integrieren läßt. Dieser Internet-Modus ist inzwischen auch in der Toshiba FlashAir 2, der FlashAir 3 und der neuen FlashAir 4 (Class 10) Karte verfügbar. Die erste FlashAir-Karte (Class 6) bietet dies nicht.

Leider gibt es für keine Plattform (Windows, Linux, Android, iOS etc.) ein Programm um alle (oder auch nur die neuesten) Bilder automatisch ohne Benutzerinteraktion von der Karte herunterzuladen. Theoretisch sollte ein Web-Downloader die Bilder herunterladen können. Leider sind die Dateien in der Web-Darstellung der FlashAir-Karte nicht normal als Links angegeben, die Informationen sind vielmehr in JavaScript "versteckt". Die Transcend-WIFI-Karte bietet den direkten Durchgriff auf die Verzeichnisstruktur.

Ein Autodownloader muss also die JavaScript-Strukturen analysieren und daraus die Unterverzeichnisse und die Dateinamen aus der Darstellung (dem HTML-Source) der einzelnen Unterverzeichnisse extrahieren.

FA-Downloader

Auf Basis dieser Anforderungen wurde der FA-Downloader entwickelt. Es handelt sich dabei um ein VBScript das quelloffen und anpassbar ist. Voraussetzung für die Ausführung eines VBS ist der Windows Scripting Host wie er seit Windows 2000 Bestandteil aller x86-Windowsversionen ist.

FA-Downloader-Eigenschaften:

  • Unterstützt alle vier Versionen der Toshiba-FlashAir-Karte und die Transcend-WIFI-Karte
  • Automatische Erkennung des Kartentyps
  • Kopiert automatisch alle Dateien mit bestimmten Endungen von der Karte auf die lokale Platte des PCs
  • Falls eine leere Dateiendungsliste angegeben wurde, werden alle Dateien kopiert
  • Standardmäßig ist JPG als einzige Dateiendung vorgegeben, d.h. es werden nur JPG-Dateien heruntergeladen
  • Traversiert alle Bilderverzeichnisse unterhalb des DCIM-Verzeichnisses
  • Bereits übertragene Dateien (also auf der lokalen Platte vorhandene) werden nicht nochmal übertragen, Erkennung anhand des Dateinamens
  • Bei Verbindungsabbrüchen wird der Download automatisch neu gestartet
  • Ignoriert das TSB-Verzeichnis dessen Inhalt Toshiba zum Ein-/Ausschalten der WLAN-Funktion verwendet
  • Verarbeitung im Hintergrund (kein sichtbares Fenster)
  • Dauerläufer, kann durch Löschen einer Datei im TEMP-Verzeichnis gestoppt werden
  • Meldungen bei Start und Ende des Programmes
  • Eine CMD-Datei (Batch) kann nach jedem Download gestartet werden
  • Protokollierung in verschiedenen Ausführlichkeitsstufen einstellbar

Installation

Die Datei FA_Downloader.vbs ist aus der ZIP-Datei zu entpacken und kann dann an einen beliebigen Ort auf der Festplatte kopiert werden. Anschließend sollte eine Desktop-Verknüpfung zu dieser VBS-Datei angelegt werden. Der Autodownloader verarbeitet Kommandozeilenparameter (s.u.) die man in der Verknüpfung angeben kann.

Anpassung

Im Kopf der VBS-Datei gibt es einen Bereich der mit "Configuration" überschrieben ist. In diesem Teil kann man die vier wichtigsten Parameter anpassen:

  • CARD = "flashair"
    • Hier ist der Name bzw. die IP der Karte anzugeben
  • localfolder = "C:\PHOTOS\FLASHAIR\"
    • Dies ist das Zielverzeichnis auf dem PC. Der abschließende Rückwärtsschrägstrich ist notwendig!
  • filetypes = "JPG"
    • Hier kann eine Liste mit den Dateiendungen (ohne Punkt) aufgeführt werden, Trennung per Komma
  • loglevel = 0
    • Es kann eine Protokollierung eingestellt werden
      • 0 = Kein Protokoll
      • 1 = Nur Bilderdownloads
      • 2 = Ausführliches Protokoll
      • Das Protokoll findet sich in der Textdatei FA_Download.log im TEMP-Verzeichnis

Kommandozeilenparameter

Die drei ersten obigen Einstellungen können per Kommandozeilenparameter übersteuert werden. Beispiel:

  • FA_Downloader.vbs "mein_flashair" "X:\Bilder\Import\" "JPG,CR2"

In diesem Beispiel werden also nicht nur JPGs, sondern auch CR2s transferiert.

CMD nach Download

Zusätzlich kann für Weiterverarbeitungs- oder Protokollierungszwecke nach jedem Download eine CMD-Datei (Batch) gestartet werden. Hierzu ist im gleichen Verzeichnis wie FA_Downloader.vbs eine FA_Downloader.cmd anzulegen (mit einem Texteditor etc.). An diese wird nach dem Download einer Datei als Parameter die URL zur Datei sowie der komplette Dateiname inkl. Laufwerksbuchstabe und Pfad auf der lokalen Platte übergeben. Damit können dann die Downloads protokolliert werden oder z.B. ein Bildbetrachter pro Datei gestartet werden. Eine interessante Anwendung ist das Übermitteln (z.B. per SFTP) des gerade gemachten Fotos an einen Kunden oder eine Redaktion.

Die Ausführung der CMD-Datei erfolgt im Hintergrund und unterbricht nicht den Download weiterer Dateien.

Beispiel FTP (ungesichert!) an Kunden/Redaktionen etc
SET ftpcmd=%TEMP%\ftpcmd.dat
ECHO user ftpbenutzername> %ftpcmd%
ECHO ftppasswort>> %ftpcmd%
ECHO bin>> %ftpcmd%
ECHO put %2>> %ftpcmd%
ECHO quit>> %ftpcmd%
FTP -n -s:%ftpcmd% ftpdomain.com
DEL %ftpcmd%
EXIT
Beispiel (Bildbetrachter Irfanview)
"C:\Program Files (x86)\IrfanView\i_view32.exe" %2 /fs /one
EXIT
Beispiel Protokollierung
ECHO %1 %2 >>%TEMP%\FILELIST.LOG
EXIT

Der FA-Downloader kann aber auch ein eigenes Protokoll namens FA_Downloader.log im TEMP-Verzeichnis erzeugen.

Programm beenden

FA_Downloader.vbs legt beim Programmstart eine Datei im TEMP-Verzeichnis an. Sobald diese gelöscht wird beendet sich der Downloader selbst wobei laufende Downloads noch zu Ende gebracht und nicht abgebrochen werden. Die Datei beginnt mit "FA_Downloader_", dann folgt eine Nummer und die Dateiendung ".tmp".

Versionen

  • 05.02.2014 Unterstützung für Toshiba FlashAir 2, 3 und 4 hinzugefügt
  • 02.02.2014 Automatische Erkennung des Kartentyps
  • 01.02.2014 Kartennamen bzw. IP anstelle der URL
  • 22.01.2014 Unterstützung für Transcend WIFI hinzugefügt
  • 25.03.2013 Protokollierung und Anzeige der Beschreibung beim ersten Start
  • 24.02.2013 Externe CMD-Datei startbar nach jedem Download
  • 19.02.2013 Fehler bei der Verarbeitung der Kommandozeile korrigiert
  • 18.02.2013 Meldungen bei Start und Ende des Programmes
  • 16.02.2013 Programmende per TEMP-Datei
  • 15.02.2013 Artikel in drf-FAQ
  • 14.02.2013 Beginn Entwicklung

Lizenz

FA_Downloader.vbs unterliegt der CreativeCommons Lizenz Zero (CC0).

Bildbetrachter

Mit XnView kann man die heruntergeladenen Bilder sofort automatisch anzeigen lassen (auch ohne CMD nach Download). Dazu sind in den Optionen in der Betrachtergruppe die Haken bei "Auswahl im Betrachter mit Bildansicht synchronisieren", "Automatisch aktualisieren" und "Neue Dateien automatisch markieren" zu setzen.

Hinweise

  • Leider ist es bei der FlashAir-Card so, dass wenn NUR das TSB-Verzeichnis vorhanden ist die Karte dieses benutzt und dort die Bilder ablegt und nicht in einem normalen DCIM-Verzeichnis. FA-Downloader holt aber keine Bilder aus einem TSB-Verzeichnis weil Toshiba dort JPG-Dateien zur WLAN-An/Aus-Steuerung erzeugt. Lösung: Im Kartenleser ein eigenes DCIM-Verzeichnis erzeugen oder das TSB-Verzeichnis löschen. Ist kein Verzeichnis auf der Karte vorhanden, so wird mit dem ersten Bild in der Kamera ein DCIM-Verzeichnis erzeugt.
  • Die Reichweite dieser WIFI-Karten ist aufgrund der Größe sowie der Abschirmung innerhalb des Kameragehäuses begrenzt. Um die Reichweite zu erhöhen bietet es sich an die WIFI-Karte (nur FlashAir 2, FlashAir 3, FlashAir 4 und Transcend) in den "Internet"-Modus (APPMODE=5 (Station Mode) bei der FlashAir 3 und FlashAir 4) zu versetzen und einen akkubetriebenen Router (z.B. HAME MPR-A2) am Körper zu tragen. Die Karte wird mit dem vom Akku-Router aufgespannten WLAN verbunden, ebenso der PC der die Bilder empfangen soll.
  • Die Transcend WIFI ist vom Hersteller abgekündigt und ist nur noch gebraucht oder als Restposten im Handel zu haben. Daher ist die Toshiba FlashAir 4 bei Neuanschaffungen die Karte der Wahl.
  • Ein Wort zur Übertragungsgeschwindigkeit: Mit der FlashAir 4 sind Übertragungszeiten von deutlich unter 4 Sekunden möglich. Wichtig ist dabei, dass die Kamera auf die kleinst mögliche JPG-Größe (zusätzlich zu RAW) eingestellt wird. Beispiel: Canon 6D-II, RAW+S2. Dateigröße JPG zwischen 1MB und 2MB. Aufnahmen im Reihenaufnahme-Modus H werden in weniger als 2 Sekunden übertragen.

Links