OrionFieldStack

Flash Airとの通信


1. Flash Airとは

FlashAir は、東芝製の Wi-Fi 搭載 SDカードで、撮影した画像を無線で外部デバイスへ転送できます。
ShutterPro03 では、この FlashAir を使って撮影データを取得します。

現在は FlashAir の販売が終了しており、Windows 用の設定ツール(FlashAir Tool)も提供が終わっています。
ただし、スマホアプリから設定が可能で、中古品も入手できます。

KIOXIA FlashAirのページ

FlashAir は初期状態ではアクセスポイントモードになっていますが、これをステーションモードに変更し、Raspberry Pi に自動接続させることで、RPi 側からフォルダとして扱えるようになります。

2. FlashAirのセットアップ

スマホアプリで基本設定を行ったあと、以下のファイルを編集します。
\SD_WLAN\CONFIG

[Vendor]
#--- Card Specification ------------
VERSION=F15DBW3BW4.00.03
CID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PRODUCT=FlashAir
VENDOR=TOSHIBA
#--- Wi-Fi setting -----------------
# Station mode
APPMODE=5
APPSSID=FieldAP
APPNETWORKKEY=********
#--- IP setting --------------------
DHCP_Enabled=0
IP_Address=192.168.50.200
Subnet_Mask=255.255.255.0
Default_Gateway=192.168.50.1
DNS_Server=192.168.50.1
#--- function ----------------------
WEBDAV=2
UPLOAD=1
APPAUTOTIME=0
#CIPATH=/DCIM/101__TSB/FA000001.JPG
MASTERCODE=********
LOCK=1
FORMATSETMODE=255

続いて、各パラメータの説明です。

パラメータ説明
Card SpecificationVERSIONFlashAir固有値、変更不要FlashAirのファームウェアのバージョン
CIDFlashAir固有値、変更不要SDカード固有の識別番号
PRODUCTFlashAir固有値、変更不要製品名(FlashAir)
VENDORFlashAir固有値、変更不要製造元(TOSHIBA)
Wi-Fi settingAPPMODE55は、ステーションモード(子機モード)
APPSSIDFieldAP接続先(Raspberry Pi 5)のSSID
APPNETWORKKEY**********接続先のパスワード
IP settingDHCP_Enabled0自動割り当て(DHCP)を使わず、固定IPを使う設定にします。
IP_Address192.168.50.200FlashAirのIPアドレスを定義します。
Subnet_Mask255.255.255.0同一ネットワークの範囲を定義します。
Default_Gateway192.168.50.1ネットワークの出口の指定。RPi 5のIPアドレスを指しています。
DNS_Server192.168.50.1DNSサーバーのアドレス
functionWEBDAV22でWebDAV を読み書き可能にします。RPi からフォルダとして扱えるようになります。
UPLOAD1WebDAV経由でのファイル書き込み(アップロード)を許可します。
APPAUTOTIME0一定時間通信がない場合にWi-Fiを切断する機能を「オフ」にします。
CIPATH/DCIM/101__TSB/FA000001.JPG
MASTERCODE設定をWebブラウザから変更する際に必要な認証コード。
LOCK1Web上からの特定の変更をロック
FORMATSETMODE0カードをフォーマットした際に設定を初期化するかどうかのフラグです。

設定が正しく行われていれば、RPi(または同じネットワーク上の PC)から FlashAir の IP アドレスをブラウザに入力することで、FlashAir 内の画像ファイルを確認できます。

これで、RPi のプログラムが FlashAir のファイルにアクセスできる環境が整います。

ブラウザ上のFlashAir画面

WebDAVについて

FlashAir は 標準で WebDAV によるファイル公開機能を備えています。
ユーザーが WebDAV をインストールする必要はなく、FlashAir が提供する WebDAV にアクセスするだけで利用できます。

WebDAV(Web-based Distributed Authoring and Versioning) は、ネット越しのストレージを「フォルダ」として扱える仕組みです。HTTP を拡張したプロトコルで、コピー・移動・削除・編集といった通常の操作が行えます。

OrionFieldStack では、この WebDAV を利用して FlashAir 上のファイルを参照し、撮影データの取得や自動処理を行っています。

3. FlashAirのローカルディレクトリ化(Option)

3.1 davfs2のインストール

davfs2 は、WebDAV を Linux 上のフォルダとして扱うためのツールです。
これを使うと、FlashAir の内容を /mnt/flashair のようなパスとして扱えます。
cp や rsync など、普段のファイル操作がそのまま使えるようになります。

一般ユーザーでもマウントできるようにするため、インストール時の質問は「YES」を選択します。

usermod で davfs2 グループに追加します。

3.2 自動マウントの設定

FlashAir を毎回手動でマウントするのは手間がかかるため、Raspberry Pi 起動時に自動的にマウントされるよう設定します。
自動マウントは 「認証情報の保存」→「fstab の登録」 の2段階で行います。

3.2.1 認証情報の保存

WebDAV で FlashAir にアクセスする際、認証情報(ユーザー名とパスワード)が必要になります。
FlashAir は認証なしでもアクセスできますが、davfs2 は「空の認証情報」を明示的に登録しておく必要があります。

以下のファイルを編集します:

最後の行に以下を追加します。

それぞれ、マウントポイント、ユーザー名(FlashAir は空でOK)、パスワード(FlashAir は空でOK)になります。

3.2.2 fstabへの登録

次に、起動時に自動でマウントされるよう、fstab に設定を追加します。

sudo nano /etc/fstab

最後の行に以下を追加します。

項目内容
http://192.168.50.200/FlashAir の WebDAV URL
/home/<user name>/flashairマウント先のフォルダ
davfs使用するファイルシステム(davfs2)
noauto起動時に勝手にマウントしない(必要なときに手動で mount コマンドを実行)