2014-01-22

FlashAir™の初期化と設定

TOSHIBA FlashAir™ SD-WC016Gを入手した。製品の存在自体は発売当時から知っていたが、な〜んだEye-Fiの二番煎じか、と、さして気にもとめていなかった。

ところが、2013年の秋頃、この新製品が出たらしく、いつの間にやら開発者向けのサイト「FlashAir™ Developers」なんかも充実していて、プログラマの楽しいおもちゃとして物欲を刺激する商品になっていたのだ。

東芝Pocket Media™のFlashAirのページ http://www.toshiba.co.jp/p-media/flashair/index_j.htm を見ると、ユーティリティアプリケーションのMac版も用意されている。

そんなわけで、Macを使って FlashAir いじり(プログラミング)を始める前準備としての使い方をメモしておく。

どんな製品か

FlashAirはどのような製品なのか簡単に説明すると、「無線LANアクセスポイントになり、Webサーバーとしてアクセスを受け付けるSDHCメモリーカード」ということになる。

デジカメに差し込んどけば、撮った写真をWi-Fiを使ってその場で共有できたり、ワイヤレスで転送できたりして便利というのが普通の使い方だが、そんなことより、FlashAirを外部デバイスから利用するためのAPIが公開されているというところに、心引かれる。

初期化(ほぼ出荷時の状態に戻す)

MacとSDカード・リーダー/ライターを使えば、OS X標準のディスクユーティリティでFlashAirを初期化できる。デジタルカメラのフォーマット機能を使っても初期化可能である。そのへんは、普通のSDメモリーカードと変わりない。

ディスクユーティリティで初期化するとき、パーティション方式は「マスター・ブート・レコード」、フォーマットは「MS-DOS(FAT)」にしておくこと。

単に設定を最初からやり直したいだけなら、フォーマットをかける必要はなく、FlashAirのストレージから設定ファイルの入ったディレクトリー「SD_WLAN」を削除するだけでよい。ターミナルから、

$ open /Volumes/<FlashAirのボリューム名>/SD_WLAN
として、Finderで開いたSD_WLANフォルダーをゴミ箱に捨てる(rmコマンドで削除してもいい)。

初期化が終わったら、FlashAirを再起動(SDカードを抜いて、差し直す)すれば、Wi-Fiで接続できる状態になるので、MacのWi-Fi設定から「ほかのネットワークに接続...」を使って、アクセスポイントになっているFlashAirに接続する。

初期化直後のFlashAirのアクセスポイント名は「flashair_xxxxxxxxxxxx」で、パスワードは「12345678」である。(xxxxxxxxxxxxの部分はFlashAirのMACアドレスでカードの裏に書かれている。「カードをフォーマットしても、同じネットワーク設定を使用する。」を選んでいる場合は、出荷時設定ではなく自分が以前に設定したパスワードを使う)

Wi-Fi接続が完了したら、Webブラウザでhttp://192.168.0.1/を開けば、FlashAirのWeb UIを使って再設定ができる。

東芝が配布しているアプリケーションFlashAirToolを使って「カードの初期化」を実行してから、再設定をするという方法もある。 FlashAirToolでカードの初期化を行うと「GUPIXINF」というフォルダーが作成されるが、これは「guPix」というアプリとの連携用である。 guPix を使わないなら、別に GUPIXINF フォルダーは削除してしまっても支障はない。このフォルダーは出荷時のFlashAirでは不可視になっているのだが FlashAirTool_v202 でカードを初期化すると表示されるようになってしまう。

設定

FlashAirの設定を変更する方法はいくつかある。

  1. Web UI
  2. FlashAirTool
  3. HTTP API呼び出し(config.cgi)
  4. CONFIGファイルの直接編集

Web UIによる設定変更というのは、FlashAirのWebサーバーにブラウザーでアクセスして「歯車」アイコンをクリックすると表示される「設定メニュー」のことを指す。FlashAirToolは、WindowsやMacで動作する設定用のアプリケーションである。この2つの方法は一般ユーザー向け、残りの2つはデベロッパー向けである。

Web UIで設定変更が許される(歯車アイコンが出てくる)のは、初期化後、最初に接続した端末に限定される(MACアドレスが記録される)。一般的には、FlashAirを再初期化しないとWeb UIの設定メニューが使える端末は変更できない(CONFIGファイルを直接変更すればできるが)。

FlashAirの設定は「/Volumes/<FlashAirのボリューム名>/SD_WLAN/CONFIG」という隠しファイルに書き込まれている。テキストエディタで、このファイルを直接書き換えることでも設定を変更できる。Web UIや、FlashAirToolもこのファイルを変更するので、これらのGUIを使って、ざっとした設定をしておき、細かいところはCONFIGファイルを直接変更して調整するとよいだろう。

CONFIGファイルの仕様は、開発者向けのサイトに解説されている(すべての設定項目が明らかにされているわけではないようだが)。

CONFIGファイルを直接編集しないと設定できない項目がいくつかある。例えば無線LAN自動起動モードのタイムアウトを「なし」にするとか、Bonjour/NetBIOS名を変更するとか。

CONFIGファイルの直接編集でしかできない変更をほどこした後で、Web UIやFlashAirToolを使って設定を変更すると、せっかくのカスタム設定が台無しになってしまう(ツールで変更できる範疇に戻される)ことがあるので注意が必要だ。

また、設定の変更はCONFIGファイルを編集したらすぐに反映されるわけではなく、FlashAirを再起動した際に適用されるようだ。このCONFIGファイルは「本物」の設定ファイルではなく、FlashAirのシステム内部の設定領域との橋渡しに使われているにすぎないと考えられる。本物の設定は、SDカードとしてのインターフェースからは見えない領域に格納されているに違いない。

無線LANモード

FlashAirの無線LAN機能には3つのモードがある。

  1. APモード(アクセスポイントモード、無線LANの親機になる)
  2. STモード(ステーションモード、無線LANの子機になる)
  3. インターネット同時接続モード(無線LANルーターになる)

APモードはFlashAirが無線LANアクセスポイントになって、他の機器の接続を受け付け、FlashAirに閉じたネットワークを形成する。出荷時はAPモードになっている。STモードは既設のWi-Fiネットワークの一員としてFlashAirを参加させる。インターネット同時接続モードは、アクセスポイントとして動作すると同時に、既設のWi-Fiネットワーク(こっちがインターネットにアクセスできると仮定)にも接続して、双方のネットワークを中継する。

3つのうち、「STモードだけ」を使用する設定は、Web UIやFlashAirToolからはできないので、直接CONFIGファイルを変更するなど開発者向けの手法を使う必要がある。STモードの設定方法はデベロッパーサイトに解説されている。インターネット同時接続モード時は、当然STモードとしても機能している。

インターネット同時接続モードを使用するとき、ちょっとハマったのが、FlashAirアクセスポイント側のネットワークアドレスは192.168.0.0/24固定であるという点だ(2014-01-21時点で東芝のサポートに問い合わせた限りでは、変更する方法はないそうな)。FlashAirアクセスポイントに接続する機器のDNS設定や、FlashAirのステーション側にIPアドレスを配るDHCPサーバーなんかにも注意すること。

ファームウェアのアップデート

WebブラウザからFlashAirの設定メニューを開くと「FW Ver.〜」の表示がある。HTTPによるAPI呼び出しでも、ファームウェアのバージョンを確認できる。

$ curl http://flashair.local/command.cgi?op=108
F19BAW3AW2.00.02

ファームウェアが古ければ、東芝サイトからソフトウェア更新ツールがダウンロードできるので、それを使って最新版にアップデートすればよい。

さてさて、FlashAirで何して遊ぶかな。

0 件のコメント:

コメントを投稿