『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方

写真拡大




今回はmoyashiさんのブログ『ひとりぶろぐ』からご寄稿いただきました。
※記事のすべての画像が表示されない場合は、http://getnews.jp/archives/177104をごらんください。

■『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
●Eye-Fiのライバル、『FlashAir』を入手しました。
無線LAN付きSDカード、東芝の『FlashAir』が発売されたので買ってみました。『FlashAir』は、Eye-Fiと似た無線LAN機能付きのSDカードです。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の、極めて間違った楽しみ方
既にEye-Fi『Pro X2』を持っているんですが、方向性が違うこともあって興味があったのです。『Amazon』のレビューが悪いですが、僕は全然そうは思いません。Eye-Fiを買うべき人が『FlashAir』を買ってしまっただけのように見受けられます。

『FlashAir』をカメラに入れると、いとも簡単にウェブブラウザを使って画像をダウンロードできて便利です。
『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の、極めて間違った楽しみ方

●『FlashAir』の使用感
無線LANルータ同様、アクセスポイントモードでの接続となる『FlashAir』。無線LANルータに接続するのと同様の手順で『FlashAir』に接続。ウェブブラウザで“http://FlashAir/”を開くと、あたかも画像共有サービスを使っているかのように、カメラ内の画像をウェブブラウザ上から見ることができます。『iPhone』との初回接続時の手順を追ってみます。
『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の、極めて間違った楽しみ方

▲『FlashAir』を入れたデジカメの電源をオン、そこから約20秒でWi-Fiネットワークに“FlashAir_〜”というSSIDがあらわれます。
『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
▲タップするとパスワードの入力を求められます。初期パスワードは“12345678”です。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
▲接続が確立したら、『MobileSafari』などで“http://FlashAir/”を開きます。開くと初回はWelcome! ページが表示され、SSIDとパスワードの入力が促されます。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
▲SSIDとパスワードを入力すると、いったん確認が入った後、再接続を促されます。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
▲再度20秒ほど待つと、設定した新しいSSIDがWi-Fiネットワークに表示されます。設定したパスワードを入力して接続を確立、再度“http://FlashAir/”を開くと、今度は『FlashAir』の中身をブラウザ上で見ることができます。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
画像のサムネイルをタップするとリンク先は実画像で、それがブラウザに表示されます。

『MobileSafari』の仕様で、表示されるのは縮小されたものです。画像を長押しして表示されるメニューから“画像を保存”を選択すると、カメラロールに保存されるのは縮小前のフルサイズの画像です。

無線LANのON/OFF機能はありますが、それを除くと『FlashAir』の機能は現状これだけで、至極シンプルです。Eye-Fiが自動転送に重きを置いたプッシュ型のものだとするならば、もの静かな『FlashAir』は、プル型のものだと定義することもできそうです。

●Eye-Fiじゃダメなのか
Eye-Fiを持っているのに『FlashAir』を買ったのは、こちらの方が僕の使用スタイルにあっているからです。

僕は、デジカメで撮影した画像のごく一部を『iPhone』/『iPad』に転送したいだけなのです。具体的には、散歩などでパシャパシャ撮影した画像のうち、うまく撮影できたものだけ……一日の外出中に、せいぜい4〜5枚でしょうか……を、その場で『Instagram』や『Twitter』に投稿したいのです。

・『Tweetbot』—個性派Twitterクライアント (for iPhone) 『App Store』
カテゴリ: ソーシャルネットワーキング
価格: ¥250
http://itunes.apple.com/jp/app/tweetbot-ge-xing-paitwitterkuraianto/id428851691?mt=8&ign-mpt=uo%3D4
・『Instagram』 『App Store』
カテゴリ: 写真/ビデオ
価格: 無料
http://itunes.apple.com/jp/app/instagram/id389801252?mt=8&ign-mpt=uo%3D4
・『Instaplus』—もうちょっと良いカメラをInstagramに 『App Store』
カテゴリ: 写真/ビデオ
価格: ¥170
http://itunes.apple.com/jp/app/instaplus-mouchotto-liangikamerawoinstagramni/id448121202?mt=8&ign-mpt=uo%3D4

Eye-Fiにある、SDカードから無差別的にウェブサービスないしパソコンにアップロードする機能は、僕には不要です。デジカメのバッテリーを浪費しますし、無駄なパケット通信を発生させることにもなりますから。

現在僕は『SIGMA DP2x』というデジカメを使っています。『DP2x』は動作確認機器一覧 * に記載がありませんでしたが、イチかバチかで買ってみたら大丈夫でした。

*:「無線LAN搭載SDHCメモリカード FlashAir™ 動作確認機器一覧」 2012.3.6現在 TOSHIBA
http://www.toshiba.co.jp/p-media/compati/flashair_list.htm

このカメラが記録するJPEGはオマケで、基本的にRAWで撮影するスパルタンなつくりとなっています。『Twitter』などへの投稿のことを考えてJPEGとRAWの同時記録をしますが、このJPEGはかりそめのもので、家に帰ったら捨ててしまいます。

RAWから現像した画像と『DP2x』が記録するJPEGとでは決定的にクオリティに差がつきますし、現像工程で本機にあるマゼンタかぶりのクセを補正したりするので、そうならざるを得ないのです。捨ててしまうものを全部アップしてもしょうがないので、Eye-Fiの特長が自分にとってのメリットにならないのです。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
二子玉川(SIGMA DP2x)『Flickr』
http://www.flickr.com/photos/9960641@N02/sets/72157629265860582/with/6855188040/

僕は『iPhone 4S』、『iPad 2』、『MacBook Air』を併用しており、取っ替え引っ替えしているので、ペアとなるデバイスを変えるたびに設定し直さないといけないEye-Fiは、いかにも面倒です。『FlashAir』なら、『FlashAir』、接続デバイス共に、一度設定を済ませたら以後再設定の必要はありません。

●『FlashAir』は無線LANのON/OFFを制御できる
『FlashAir』は、無線LANをカメラの操作でON/OFFできるようになっています。具体的には、無線LANスイッチの代わりとなる“無線LAN起動画面”(表現としては“無線LAN起動画像”のほうが正しいと思うのですが)に対する画像保護をOFFにすると無線LANがONとなり、画像保護をONにすると無線LANがOFFとなります(自動起動モードを“無線LAN起動画面を使って起動する”に設定した場合)。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
▲『DP2x』の“▶”ボタンを押し、画像のプレビューモードへ。“無線LAN起動画面”を選択。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
▲Menuボタンでロック(画像保護)のメニューを表示。このロック/ロック解除で無線LANのON/OFFがコントロール可能。

この点と、前述の無差別アップロードが不要、一部のみ転送したいという僕のニーズがあいまって、『FlashAir』がとても魅力的に映ります。

『FlashAir』は、必要ない場面では無線LANをOFFにして節電できるわけです。自動起動モードを“無線LAN起動画面を使って起動する”に設定すると、無線LANは常時OFFになります。“無線LAN起動画像”に対し、画像保護をON→OFFとして初めて無線LANが一度だけONになります。

ON時は20秒ほどのタイムラグの後にSSIDが出現、OFF時は即時反映されます。OFF時は、カメラの電源を落としたほうが手っ取り早いですね。次回カメラの電源を入れるときは、“無線LAN起動画像”の画像保護の状態を問わず、無線LANがOFFの状態から始まりますので。

一方、Eye-Fiは、それが必要ない状況であっても、無線LANをその場でOFFにすることができません。Eye-Fiに通電されるたびに無線LANの電源が入り、タイムアウトするまでは、少なくとも30秒貴重なバッテリライフと共に電波をたれ流してしまいます。

●サムネイルがブラウザで一覧できることの使いやすさ
Eye-Fiでも、“転送モード>選択転送”を“選択転送”に設定すると、画像保護指定を使った部分転送は可能です。しかし、そのときに問題になるのが、たくさんある画像の中からどれを転送するか決めるときの効率です。

『FlashAir』は、ウェブブラウザ越しにSDカード内の画像のサムネイルをリスト表示してくれます。iOSの『MobileSafari』で表示すれば、スクロールはスイスイと軽快ですし、リキッドデザインですので、『iPad』のように大きな画面であれば一覧性が高まり、目当ての画像を探すことに労苦はありません。
『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
Eye-Fiの場合は、どれを転送するか決めるのはデジカメ側での操作となりますので、その操作の効率は確実に『FlashAir』の場合より劣ります。僕の使っている『SIGMA DP2x』は、画像選択の軽快さという点においては(も?)かなり前近代的なところがありますから、『FlashAir』のブラウザ越しの画像選択は、それと比較するとかなりやりやすいといえます。

●使われている技術が標準的なので様々に応用が可能
『FlashAir』はウェブサーバがカード内で起動し、ウェブブラウザでアクセスするという標準的な技術の組み合わせからなるつくり。moyashiが『FlashAir』に一番惹かれたのは、実はここです。

蓄積された様々なツールやノウハウを使って工夫ができます。iOSにおいて、ユーザーに許された最大の自由はウェブブラウザのなかにありますので、iOSユーザーとしては見逃せません。

例えば、『FlashAir』についてのレビューで二言目に出てくる画像の一括ダウンロード。ウェブですから、これはさして難しいことではありません。iOSでは、Unit Kayさんのブラウザ『iNetDual』で、表示中のページに含まれるリンク先画像の、カメラロールへの一括直接保存が可能です。

・『iNetDual』—画面分割&画像一括ダウンロードウェブブラウザ 『App Store』
カテゴリ: 仕事効率化
価格: ¥170
http://itunes.apple.com/jp/app/inetdual-hua-mian-fen-ge-hua/id309017359?mt=8&ign-mpt=uo%3D4

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
また、以下のブックマークレットを実行することで、現在表示しているページに含まれる画像への直接リンクのリストが取得可能です。

「moyashi's gist」『GitHub』
https://gist.github.com/2182370

『Mac』/パソコンでは、これで取得したURL一覧をダウンローダなどにかければ一括転送が可能でしょう。『FlashAir』上に置いたファイルは、画像に限らず基本的に『FlashAir』のウェブサーバ越しにウェブブラウザで見ることができますので、html、css、jsなどを置き、独自の機能を備えたページをつくることも可能です(後述の“『FlashAir』上にある画像のサムネイルを取得する”、“表示中のページにある画像の実データへのURLのリストを取得”を参照)。ただ、ファイル名は8.3のMS-DOSフォーマットなので、ファイル名の命名には注意する必要があります。

いっそのこと、後述のSD_WLAN内のhtmlファイルなどを書き換えて、フルカスタムしてしまうのもアリかもしれません。htmlファイル、画像ファイルの書き換えは反映されました。非常に簡素なつくりなので、改造は容易です。“痛『FlashAir』”もつくれますね。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
▲やや『Mac』ふうに改造した『FlashAir』。
(画像が見られない方は下記URLからご覧ください)
http://getnews.jp/img/archives/1516.jpg
『FlashAir』初音ミク化キットなどの登場が予想されます。『jQuery』、『Twitter Bootstrap』などで今ふうに改造するのもアリでしょう。

ファームウェアのアップデート、スマートフォン用の公式クライアントが予定され、またサードパーティに対して対応ソフトウェアの開発のオファーが行っているようですから、今後は手の込んだことをする必要性は薄れていくものと思いますが、ウェブベースというのは柔軟性を生む重要な特長になっています。

●『Mac』/OS Xだけで『FlashAir』の設定はできる?
『FlashAir』に興味をもったものの、『Windows』用のユーティリティを使った設定や初期化が必要、という説明を見て購入意欲が萎えた人もいるのではないでしょうか。

僕もその一人です。僕はOS X Lionに『VMware Fusion』をインストールしており、その中でWindows XPを動かすこともありますが、何ぶんマシンが古くメモリの積載量にも限界があるので、できれば起動したくない。『Mac』だけで何とかならないかと調べてみました。

最初に言えることは、ファームウェアのアップデートだけは『Windows』を使わざるを得ないということ。ここはどうにもならないと思います。

SONYの『NEX』で使えない不具合をファームウェアで解決、といった話もありますし、将来あるであろう機能アップを含むファームウェアアップデートに備えておく必要はあるかと思います。

その意味では『FlashAir』を使う限り『Windows』と縁が切れないということになりますが、調べた限りでは、それ以外の初期化、各種設定作業は、現状では『Mac』のみで大丈夫という結論を得ています。

ちなみに、OS X Lion上で動作する『VMware Fusion』上のWindows XPからSDHC対応のカードリーダ(980円で購入)に挿入した『FlashAir』のファームウェアのアップデートを試みましたが、無事成功しました。保証はありませんし、避けられるなら避けたほうがいいとは思いますが。

『Windows』用のユーティリティで初期化した直後の『FlashAir』内は以下のようになっています。

.
├── DCIM
│ ├── 100__TSB
│ │ ├── FA000001.JPG
│ └── MISC
└── SD_WLAN
├── CONFIG
├── CONFIG.htm
├── List.htm
├── Thumbs.db
├── file.jpg
├── folder.jpg
├── gear.jpg
├── go.jpg
├── header.gif
├── ico_card.gif
├── ico_lock.gif
├── man.jpg
└── welcome.htm

まず最初におさえておきたいのが、『FlashAir』がどこに設定を保存しているかということ。それは、以下の場所にあるCONFIGというファイルです。パスは、『Mac』にマウントされたときのものです。“CARD_NAME”の部分は、それぞれの環境で違うかと思うので仮のものです。


/Volumes/CARD_NAME/SD_WLAN/CONFIG

ただ、『Mac』のFinderからは見当たらないかもしれません。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
なぜならば、SD_WLANディレクトリとCONFIGには、不可視属性がついているからです。以下のようにターミナルから操作すると見えるようになります。

chflags nohidden /Volumes/CARD_NAME/SD_WLAN/
chflags nohidden /Volumes/CARD_NAME/SD_WLAN/CONFIG


『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
(画像が見られない方は下記URLからご覧ください)
http://getnews.jp/img/archives/1711.jpg

元に戻す場合は以下のようにします。


chflags hidden /Volumes/CARD_NAME/SD_WLAN/
chflags hidden /Volumes/CARD_NAME/SD_WLAN/CONFIG


マウントする度に不可視属性が戻るようなので、戻す必要はないかもしれません。
CONFIGに、設定情報がテキストで書き込まれています。改行コードはCR+LFです。
『FlashAir』初期化直後のCONFIGは以下のような内容になっています。


[Vendor]

CIPATH=/DCIM/100__TSB/FA000001.JPG
APPMODE=4
APPNETWORKKEY=********


CIPATH……無線LAN起動画面のパス。機種によってはデフォルトのパスではプレビューモードで表示できないことがあるよう。その場合はこれを書き換えると救済されるかも?
APPMODE……自動起動モード設定。4が“自動起動”(デフォルト)、0が“無線LAN起動画面を使って起動する”
APPNETWORKKEY……無線LANのパスワード。ウェブインターフェースで設定したパスワードはいったんここに生テキストで書き込まれ、ネットワークの再起動時に取り込まれ、“********”に置き換わるという動作をしている模様。“********”が指定されている場合は、無線LANにセキュリティがかかる。適用されたパスワードは、どこか別の領域に書き込まれている模様。“APPNETWORKKEY=”と何も指定しないと、オープンネットワークになる


このほか以下のような項目があります。

MASTERCODE……『FlashAir』のMACアドレスが自動的に記入される
LOCK……不明。1が指定されている
APPSSID……SSID。ここを書き換えるとSSIDが変更される
APPAUTOTIME……無線LAN起動後、どれぐらい無接続時間が経過したら無線LANをオフにするか。単位はミリ秒。5分の場合300000

具体例を下記します。自動起動モードは“無線LAN起動画面を使って起動する”、無線LANのパスワードなし、SSIDは“AirAlbum”、無線LAN自動起動後のタイムアウトは5分に設定。

MASTERCODEには『FlashAir』の『Mac』アドレスが入りますが、ここでは“001122334455”と伏せています。


[Vendor]

CIPATH=/DCIM/100__TSB/FA000001.jpg
APPMODE=0
APPNETWORKKEY=
MASTERCODE=001122334455
LOCK=1
APPSSID=AirAlbum
APPAUTOTIME=300000


●純正ユーティリティで設定するとCONFIGが壊れることがある
『Windows』用の純正ユーティリティでSSIDなどを設定すると、『FlashAir』につながらなくなることがあります。

純正ユーティリティはあまり出来がよくないようで、CONFIGを調べると、以下のような感じでAPPAUTOTIMEに与えるべき数値(300000)だけがファイルの末尾についていました。

[Vendor]

CIPATH=/DCIM/100__TSB/FA000001.jpg
APPMODE=0
APPNETWORKKEY=
MASTERCODE=001122334455
LOCK=1
APPSSID=AirAlbum
APPAUTOTIME=300000
300000

最後の300000を削除したら動くようになりましたが、そのようなトラブルに遭遇したら、このエントリを思い出してください。

怨言を列ねるのもいいですが、十分人の手で管理できるものなので、ウェブの設定画面で設定できないCIPATH、APPAUTOTIME、APPMODEは、直接テキストエディタで書き換える/書き加えるようにするといいと思います。

●『Mac』だけで自動起動モードを“無線LAN起動画面を使って起動する”に設定する
本来、『Windows』用のユーティリティを使わないと変更できない無線LANの自動起動モード。改めて、『Mac』だけで自動起動モードを“無線LAN起動画面を使って起動する”に設定するという観点から前述の情報をまとめると、以下の手順となります。

ターミナルから以下のように操作し、
“/Volumes/CARD_NAME/SD_WLAN/CONFIG”を不可視状態から可視状態に。

chflags nohidden /Volumes/CARD_NAME/SD_WLAN/
chflags nohidden /Volumes/CARD_NAME/SD_WLAN/CONFIG


『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
(画像が見られない方は下記URLからご覧ください)
http://getnews.jp/img/archives/1811.jpg
ファイル“CONFIG”をエディタで開き、“APPMODE”とある行を探します。“APPMODE=4”が自動起動モード、“APPMODE=0”が“無線LAN起動画面を使って起動する”モードなので、“APPMODE=4”となっていたら、それを“APPMODE=0”に書き換え、セーブ。

『FlashAir』を一度抜くなどして再起動すると、“無線LAN起動画面を使って起動する”モードとして動きます。

●『FlashAir』をカメラで初期化するとどうなるか?
『Windows』がない環境では、カメラでカードを初期化した後に『FlashAir』が使いものにならなくなるのでは、と心配する人もいるのではないでしょうか。

結果の保証はできませんが、実際にやってみると、“/Volumes/CARD_NAME/SD_WLAN/”はどこからともなく復旧され、普通に動き始めます。無線LANのパスワードは初期値の“12345678”に戻ります。ただ、無線LAN起動画面“/Volumes/CARD_NAME/DCIM/100__TSB/FA000001.jpg”は100__TSB/諸共消えてしまいます。

バックアップしておいたFA000001.jpgを“/Volumes/CARD_NAME/DCIM/100__TSB/”にコピーし、CONFIGのAPPMODEを0に書き換えて再起動したら、きちんと自動起動モードが“無線LAN起動画面を使って起動する”として動作しました。

ちなみに、『Mac』での無線LAN起動画面の画像保護の操作は、Finder上でFA000001.JPGを選択し、Command+Iで表示されるダイアログにある“ロック”のチェックボックスをON/OFFに相当します。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
(画像が見られない方は下記URLからご覧ください)
http://getnews.jp/img/archives/1911.jpg
ロックされていなかった場合は、いったんロックして、ロック解除というふうにします。
ターミナルからなら、以下のようにします。


chflags uchg /Volumes/CARD_NAME/DCIM/100__TSB/FA000001.JPG
chflags nouchg /Volumes/CARD_NAME/DCIM/100__TSB/FA000001.JPG


無線LAN起動画面のバックアップを取っておきさえすれば、初期化も怖くありませんね。

●固定IPにすると通信の安定度が増す
『FlashAir』上でDHCPサーバが動いていて、『FlashAir』に接続する端末は『FlashAir』からIPアドレスの払い出しを受けます。無線LANルータを使っているかのように、ネットワークの設定を全く意識せずに使えるのは便利です。

しかし、カメラの電源が切れるたびに『FlashAir』の電源も落ち、カメラの電源を入れるたびに『FlashAir』のDHCPサーバからのIP払い出し待ちから始めることになります。小刻みに電源をON/OFFしない無線LANルータの場合と違い、それは接続の不安定さに通じることになります。

『FlashAir』のIPアドレスは192.168.0.1で不変なので、端末のIPを192.168.0.x固定にしてしまうと、接続確立までのスピードと安定度が向上します。ゆえに、僕は『iPhone』, 『iPad』などを『FlashAir』に対しては固定IPにして使っています。

『iPhone』のお供に! 無線LAN付きSDカード『FlashAir』の極めて間違った楽しみ方
(画像が見られない方は下記URLからご覧ください)
http://getnews.jp/img/archives/204.jpg
以降、理不尽な通信の不通というものは味わっていません。わりと通信の挙動に不審なところのあるEye-Fiと比較して、至って普通な感じですね。

当方の環境では、『MacBook Pro(Early 2008)』と『FlashAir』との通信において、互いの距離と通信スピードとの間に顕著な相関関係が認められました。少し離すと著しくスピードが低下、近づけるとグンとスピードがアップするといった具合です。


●『FlashAir』上にある画像のサムネイルを取得する
『FlashAir』には、『FlashAir』上にある画像のサムネイルを生成する機能が搭載されています。画像一覧のhtmlを生成するときに機能していますから、存在するのは明らかです。
thumbnail.cgiというサムネイル生成cgiが存在します 。引数として画像へのパスを渡します。

http://flashair/thumbnail.cgi?/DCIM/HOGE/SDIM0063.JPG


●表示中のページにある画像の実データへのURLのリストを取得
表示中のページのwlansd(window.wlansd)という変数のなかに、そのページのディレクトリにあるファイルの情報が配列で入っています。配列の一要素が一つのファイルに対応しています。

["/DCIM/HOGE,SDIM0063.JPG,1404084,32,16501,14565", "/DCIM/HOGE,SDIM0062.JPG,704626,32,16501,14562", "/DCIM/HOGE,SDIM0061.JPG,1318035,32,16501,14555", "/DCIM/HOGE,SDIM0060.JPG,1257640,32,16501,14551"]

各要素にはカンマ区切りのデータが入っていて、その1番目の項目と2番目の項目をスラッシュを挟んで結合し、ドメイン名(http://FlashAir)を頭にくっつけるとファイルへのURLが完成します。

function buildURL(data) {
var a = data.split(",");
return "http://flashair" + a[0] + "/" + a[1];
}
flist = [];
for (var i = 0; i < wlansd.length; i++) {
flist.push(buildURL(wlansd[i]));
}
console.log(flist);

各項目の内訳

1.ファイルへのパス(例: /DCIM/HOGE)
2.ファイル名(例: SDIM0063.JPG)
3.ファイルサイズ(例: 1404084)
4.不明(ファイルの種類 ファイルだと32、ディレクトリだと16)(例: 32)
5.タイムスタンプ(時間)(例: 16501)
6.タイムスタンプ(日付)(例: 14565)


ちなみに、ルートディレクトリにあるファイルの一覧を取得するコマンドは以下です。

http://『FlashAir』/command.cgi?op=100

100〜108にコマンドが割り当てられているようです。SSIDやパスワード、『MAC』アドレスなどが取得できます。

ディレクトリを指定してファイル一覧を取得する方法は不明ですが、XMLHttpRequestを使って取得可能です。これで『FlashAir』内ウェブアプリが作れますね。このままでは乱暴に過ぎるので、実際に使うときはもっと丁寧にやる必要がありますが。


function getFileList(path) {
var xhr = new XMLHttpRequest();
xhr.open("GET", path, false);
xhr.send(null);
var html = xhr.responseText;
document.head.innerHTML = html;
var js = document.head.children[4].innerHTML;
eval(js);
return wlansd;
}

getFileList("/DCIM/");

wlansdの中身は、テンプレートとなる“SD_WLAN/List.htm”の中にある“”というマクロが『FlashAir』のウェブサーバで特別に展開される仕組みです。“SD_WLAN”の外に置いたhtmlファイルでは、この記述は展開されませんでした。ゆえに、こんな手を使う必要があります。外から参照するのでなしに、“SD_WLAN/List.htm”自体を書き換えて済むなら、そうしてしまうほうがスマートですね。


●設定アイコンが消えた場合
ウェブブラウザで『FlashAir』(http://FlashAir/)にアクセスしても、SSIDとパスワード設定のためのページに飛ぶギアのかたちをした設定アイコンが表示されないケースを体験しました。

それは、以下のURL(Aと呼称)で取得できるMASTERCODEと、

http://『FlashAir』/command.cgi?op=106

以下のCONFIG内のMASTERCODEとが一致していない場合になるようです。

/Volumes/CARD_NAME/SD_WLAN/CONFIG

一致しているかどうかは、以下のURLのxxxの部分に上記Aで得たMASTERCODEを与えてアクセスし、“SUCCESS”と返ってくるかどうかで確認できます。

http://『FlashAir』/config.cgi?MASTERCODE=xxxxxxxxxxxx

CONFIG内のMASTERCODEをAで得られるものに書き換えれば設定アイコンが表示されると思います。


●わぁい『FlashAir』 moyashi 『FlashAir』大好き
ここまでの解説で、『FlashAir』の極めて間違った方向性の楽しみ方について、何らか琴線に触れることはありましたでしょうか。

思ったとおりウェブベースであることの可能性を感じることができ、また、ユーティリティの出来のことは置いておいて、理不尽な挙動のない素直な製品なので、moyashiはとても『FlashAir』を気に入っています。

執筆: この記事はmoyashiさんのブログ『ひとりぶろぐ』からご寄稿いただきました。