command.cgiを使うと、スマートフォン、PCなどから、 無線LAN経由でFlashAirの情報を取得したり、設定を変更したりできます。

CGI (Common Gateway Interface) という仕組みを利用しており、 FlashAirに接続した状態で、下記のURLにHTTP GETリクエストを発行することでコマンドを実行できます。

http://flashair/command.cgi?<パラメータ>

利用できるコマンドは下記のとおりです。

機能 パラメータ例 ファームウェアバージョン
ファイルリストの取得 op=100&DIR=/DCIM 1.00.00+
ファイル数の取得 op=101&DIR=/DCIM 1.00.00+
アップデート情報の取得 op=102 1.00.00+
SSIDの取得 op=104 1.00.00+
ネットワークパスワードの取得 op=105 1.00.00+
MACアドレスの取得 op=106 1.00.00+
ブラウザ言語の取得 op=107 1.00.00+
ファームウェアバージョン情報の取得 op=108 1.00.00+
制御イメージの取得 op=109 2.00.00+
無線LANモードの取得 op=110 2.00.00+
無線LANタイムアウト時間の取得 op=111 2.00.00+
アプリケーション独自情報の取得 op=117 2.00.00+
アップロード機能の有効状態の取得 op=118 2.00.02+
CIDの取得 op=120 1.00.03+
アップデート情報の取得 (タイムスタンプ形式) op=121 2.00.02+
共有メモリからのデータの取得 op=130&ADDR=0&LEN=8 2.00.00+
共有メモリへのデータの書き込み op=131&ADDR=0&LEN=8&DATA=0123ABCD 2.00.00+
空セクター数の取得 op=140 1.00.03+
SDインターフェース端子のI/O利用 op=190&CTRL=0x1f&DATA=0x1f 2.00.03+
フォトシェアモードの有効化 op=200&DIR=/DCIM/100__TSB&DATE=17153 2.00.00+
フォトシェアモードの解除 op=201 2.00.00+
フォトシェアモードの状態の取得 op=202 2.00.00+
フォトシェアモードのSSIDの取得 op=203 2.00.00+
New FlashAirドライブ(WebDAV)情報の取得 op=220 3.00.00+
New タイムゾーンの取得 op=221 3.00.00+

指定したディレクトリ内のファイルリストを返します。

リクエスト例:

http://flashair/command.cgi?op=100&DIR=/DCIM

パラメータ:

DIR
ディレクトリパス

レスポンス例:

WLANSD_FILELIST
/DCIM,100__TSB,0,16,9944,129
/DCIM,0126_1.jpg,70408,32,17071,28040

レスポンスの各行は下記のフォーマットで返されます。

<directory>, <filename>, <size>, <attribute>, <date>, <time>

ファイル名にカンマ(,)を含む場合がありますので、レスポンスを解析する場合はご注意ください。
DIR=/ (root)を指定した場合、ディレクトリ名は空になりますのでご注意ください。

<directory>
ファイルのあるディレクトリ名
<filename>
ファイル名
<size>
ファイルサイズ (数字は10進法)
<attribute>
ファイルの属性 (数字は10進法)
<date>
ファイルの日時 (数字は10進法)
<time>
ファイルの時間 (数字は10進法)

Attribute (属性)は下記のフォーマットの16ビット整数を10進数表記で指定します。

ビット 5
アーカイブ
ビット 4
ディレクトリ
ビット 3
ボリューム
ビット 2
システムファイル
ビット 1
隠しファイル
ビット 0
読み取り専用

Date (日付)は下記のフォーマットの16ビット整数を10進数表記で指定します。

ビット 15-9
年。1980年を0とした値で指定します。
ビット 8-5
月。1~12の値を指定します。
ビット 4-0
日。1~31の値を指定します。

Time (時刻)は下記のフォーマットの16ビット整数を10進数表記で指定します。

ビット 15-11
ビット 10-5
ビット 4-0
秒/2

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

指定したディレクトリ内のファイル数を返します。

リクエスト例:

http://flashair/command.cgi?op=101&DIR=/DCIM

レスポンス例:

2

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

FlashAirメモリがアップデートされているかどうかを返します。アップデートされている場合は 1 、されていない場合は 0 を返します。一度呼ばれるとステイタスはクリアされます。

リクエスト例:

http://flashair/command.cgi?op=102

レスポンス例:

1

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

FlashAirのSSIDを返します。 (最大32文字)

リクエスト例:

http://flashair/command.cgi?op=104

レスポンス例:

flashair_e8e0b756a7fb

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

FlashAirがAPモードに設定されている場合のネットワークキーを、 最大63桁の半角英数字で返します。 ただし、連携デジタルカメラなどのSDメモリカードホスト機器から設定された ネットワークキーは表示されません。

リクエスト例:

http://flashair/command.cgi?op=105

レスポンス例:

12345678

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

リクエストを発行したクライアントのMACアドレスを返します。

リクエスト例:

http://flashair/command.cgi?op=106

レスポンス例:

a41731f4d880

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

ブラウザの言語設定で利用可能な言語(Accept-Languageパラメータ)を返します。

リクエスト例:

http://flashair/command.cgi?op=107

レスポンス例:

Accept-Language: ja,en-US;q=0.8,en;q=0.6

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

FlashAirのファームウェアのバージョンを返します。 F24で始まるバージョンはW-01カード用の1.00系列、 F19で始まるバージョンはW-02カード用の2.00系列です。

リクエスト例:

http://flashair/command.cgi?op=108

レスポンス例:

F19BAW3AW2.00.00

この機能は、ファームウェアバージョン1.00.00以上で利用可能です。

無線起動画面として使う画像ファイルのフルパス(CIPATH)を取得します。 無線起動画面とは、無線LANモードが0,2,3のいずれかである場合に、 無線LAN機能のON/OFFを制御するための画像ファイルです。

CIPATHについては、CONFIGのCIPATHに関する記述を参照してください。

リクエスト例:

http://flashair/command.cgi?op=109

レスポンス例:

/DCIM/100__TSB/FA000001.JPG

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

デフォルトの無線LANモード(APPMODE)を返します。APPMODEについては、CONFIGのAPPMODEに関する記述を参照してください。

リクエスト例:

http://flashair/command.cgi?op=110

レスポンス例:

4

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

無線LANにアクセスがない場合に自動的に電源を切るまでのタイムアウト時間(APPAUTOTIME)をミリ秒単位で返します。 無線LANモードが自動起動APモードに設定されている場合のみ有効です。
APPAUTOTIMEについては、CONFIGのAPPAUTOTIMEに関する記述を参照してください。

リクエスト例:

http://flashair/command.cgi?op=111

レスポンス例:

300000

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

アプリケーションが独自の目的で使用することができる16ケタの英数字(APPINFO)を取得します。
APPINFOについては、CONFIGのAPPINFOに関する記述を参照してください。

リクエスト例:

http://flashair/command.cgi?op=117

レスポンス例:

0123ABCD4567EFGH

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

CONFIGファイルのUPLOADの値を返します。

1 アップロード機能は有効になっています。
それ以外 アップロード機能は無効になっています。
詳しくは、CONFIGのUPLOADに関する記述を参照してください。

リクエスト例:

http://flashair/command.cgi?op=118

レスポンス例:

1

この機能は、ファームウェアバージョン2.00.02以上で利用可能です。

CID(Card Identification number register)を返します。CIDは32ケタの16進数で、SDメモリカード仕様により定められています。
APPINFOについては、CIDのCIDに関する記述を参照してください。

リクエスト例:

http://flashair/command.cgi?op=120

レスポンス例:

02544d535730384708c00b78700d201

この機能は、ファームウェアバージョン1.00.03以上で利用可能です。

SDメモリカードホスト機器から、FlashAirに対する書き込みイベントが発生した時の内部タイムスタンプを取得します。
タイムスタンプはカードの起動時からの経過ミリ秒です。

リクエスト例:

http://flashair/command.cgi?op=121

レスポンス例:

174428

この機能は、ファームウェアバージョン2.00.02以上で利用可能です。

共有メモリからデータを読み込みます。(SDメモリカード仕様で定められたコマンドCMD48: Read Extension Register Single Block Commandを実行します)

リクエスト例:

http://flashair/command.cgi?op=130&ADDR=0&LEN=8

パラメータ:

ADDR
アドレス。 0-511 または 0x0-0x1FF.
LEN
長さ。 0-512 または 0x0-0x200.

レスポンス例:

0123ABCD

成功しなかった場合は、400 Bad Request を返します。

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

共有メモリにデータを書き込みます。(SDメモリカード仕様で定められたコマンドCMD49: Write Extension Register Single Block Commandを実行します)

リクエスト例:

http://flashair/command.cgi?op=131&ADDR=0&LEN=8&DATA=0123ABCD

パラメータ:

ADDR
アドレス。 0-511 または 0x0-0x1FF.
LEN
長さ。 0-512 または 0x0-0x200.
DATA
書きこむデータ。データの長さははLENと同じでなければなりません。

レスポンス:

成功した場合は、 SUCCESS を返します。成功しなかった場合は、400 Bad Request を返します。

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

FlashAirカードの空き容量を、空セクタ数/全セクタ数,セクタサイズ(バイト)の形式で返します。

リクエスト例:

http://flashair/command.cgi?op=140

レスポンス例:

13952920/15228928,512

この例では、セクタあたり512バイトで、カード全体では15228928個のセクタがあり、 13952920個のセクタが未使用であることを示しています。 つまり、総容量7.26GB(8GBカード)のうち、約6.7GB残っているということがわかります。

この機能は、ファームウェアバージョン1.00.03以上で利用可能です。

SDインターフェイス端子を、汎用のI/O信号端子として利用し、 信号の読み書きを行うことができます。

この機能を利用するためには以下の条件を満たしている必要があります。

  • CONFIGファイルにIFMODE=1と記載されている。
  • SDメモリカードスロットに挿入されていない(SDメモリカードホスト機器からのSD初期化が無い)。
IFMODEについては、CONFIGのIFMODEに関する記述を参照してください。

リクエスト例:

http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x1f

CTRL
読み込みか書き込みかを指定します。
読み込みたい端子に対応するビットに0を、 書き込みたい端子に対応するビットに1を指定します。
DATA
出力値の設定です。
書き込みたい端子に対応する各ビットに、0を設定するとLow、1を設定するとHighを出力します。

ビット割当

  • CMD : 0x01
  • D0 : 0x02
  • D1 : 0x04
  • D2 : 0x08
  • D3 : 0x10

レスポンス例:

現在の、読み書き設定および信号の値を取得できます。

{"STATUS":“OK","CTRL":"0x00", "DATA":"0x00"}

この機能は、ファームウェアバージョン2.00.03以上で利用可能です。

フォトシェアモードを有効化します。フォトシェアモードは、指定されたディレクトリと日付のみにアクセスできるようにするために使われます。
フォトシェアモードを有効にすると、 それ以降のHTTP GET要求およびcommand.cgiに対するディレクトリ指定は無視され、フォトシェアモードで指定したディレクトリと日付のデータが常に返されるようになります。

リクエスト例:

http://flashair/command.cgi?op=200&DIR=/DCIM/100__TSB&DATE=17153

パラメータの詳細は、ファイルリストの取得を参照してください。

レスポンス:

成功した場合は、 OK を返します。 成功しなかった場合は、400 Bad Request を返します。

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

注意:

op=200を使用してフォトシェアモードを有効にした場合、SSIDとネットワークセキュリティキーは、既に設定してある内容から変更されません。

ネットワークセキュリティキーを変更する場合には、config.cgiのネットワークセキュリティキーの設定を使用して、ネットワークセキュリティキーを変更してください。

また、SSIDを変更する場合は、config.cgiのSSIDの設定を使用して、SSIDを変更してください。

フォトシェアモードを解除します。フォトシェアモードは、指定されたディレクトリと日付のみにアクセスできるようにするために使われます。

リクエスト例:

http://flashair/command.cgi?op=201

レスポンス:

成功した場合は、 OK を返します。成功しなかった場合は、400 Bad Request を返します。

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

フォトシェアモードが有効か無効かを返します。

リクエスト例:

http://flashair/command.cgi?op=202

レスポンス例:

SHAREMODE

フォトシェアモードが有効な場合は SHAREMODE を返します。フォトシェアモードが無効の場合は、 NORMALMODE を返します。

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

フォトシェアモードに使用する特別なSSIDを返します。

リクエスト例:

http://flashair/command.cgi?op=203

レスポンス例:

photoshare_e8e0b756a7fb

この機能は、ファームウェアバージョン2.00.00以上で利用可能です。

FlashAirドライブが有効か無効かを返します。

0FlashAirドライブ機能無効
1FlashAirドライブ機能有効(リードオンリーモード)
2FlashAirドライブ機能有効。書き込みを有効にするには、CONFIGファイルにUPLOAD=1を設定する必要があります。

リクエスト例:

http://flashair/command.cgi?op=220

レスポンス例:

1

この機能は、ファームウェアバージョン3.00.00以上で利用可能です。

FlashAirドライブ(WebDAV)動作時に、FATファイル時間からUTC時間へ変換するためのタイムゾーンの値を、15分を1とした単位で-48から+54の範囲で返します。
日本は、UTC標準時を0とし、9時間進めたUTC+9であるため、36(9(h)×4(15m)=36)を設定します。

リクエスト例:

http://flashair/command.cgi?op=221

レスポンス例:

36

この機能は、ファームウェアバージョン3.00.00以上で利用可能です。