command.cgi
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+ |
FlashAirドライブ(WebDAV)情報の取得 | op=220 |
3.00.00+ |
タイムゾーンの取得 | op=221 |
3.00.00+ |
ファイルリストの取得
(op=100)
指定したディレクトリ内のファイルリストを返します。
リクエスト例:
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以上で利用可能です。
ファイル数の取得
(op=101)
指定したディレクトリ内のファイル数を返します。
リクエスト例:
http://flashair/command.cgi?op=101&DIR=/DCIM
レスポンス例:
2
この機能は、ファームウェアバージョン1.00.00以上で利用可能です。
アップデート情報の取得
(op=102)
FlashAirメモリがアップデートされているかどうかを返します。アップデートされている場合は1
、されていない場合は0
を返します。一度呼ばれるとステイタスはクリアされます。
リクエスト例:
http://flashair/command.cgi?op=102
レスポンス例:
1
この機能は、ファームウェアバージョン1.00.00以上で利用可能です。
SSIDの取得
(op=104)
FlashAirのSSIDを返します。 (最大32文字)
リクエスト例:
http://flashair/command.cgi?op=104
レスポンス例:
flashair_e8e0b756a7fb
この機能は、ファームウェアバージョン1.00.00以上で利用可能です。
ネットワークパスワードの取得
(op=105)
FlashAirがAPモードに設定されている場合のネットワークキーを、 最大63桁の半角英数字で返します。 ただし、連携デジタルカメラなどのSDメモリカードホスト機器から設定されたネットワークキーは表示されません。
リクエスト例:
http://flashair/command.cgi?op=105
レスポンス例:
12345678
この機能は、ファームウェアバージョン1.00.00以上で利用可能です。
MACアドレスの取得
(op=106)
リクエストを発行したクライアントのMACアドレスを返します。
リクエスト例:
http://flashair/command.cgi?op=106
レスポンス例:
a41731f4d880
この機能は、ファームウェアバージョン1.00.00以上で利用可能です。
ブラウザ言語の取得
(op=107)
ブラウザの言語設定で利用可能な言語(Accept-Languageパラメータ)を返します。
リクエスト例:
http://flashair/command.cgi?op=107
レスポンス例:
Accept-Language: ja,en-US;q=0.8,en;q=0.6
この機能は、ファームウェアバージョン1.00.00以上で利用可能です。
ファームウェアバージョン情報の取得
(op=108)
FlashAirのファームウェアのバージョンを返します。F24で始まるバージョンはW-01カード用の1.00系列、F19で始まるバージョンはW-02カード用の2.00系列です。
リクエスト例:
http://flashair/command.cgi?op=108
レスポンス例:
F19BAW3AW2.00.00
この機能は、ファームウェアバージョン1.00.00以上で利用可能です。
制御イメージの取得
(op=109)
無線起動画面として使う画像ファイルのフルパス(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モードの取得
(op=110)
デフォルトの無線LANモード(APPMODE)を返します。APPMODEについては、CONFIGのAPPMODEに関する記述を参照してください。
リクエスト例:
http://flashair/command.cgi?op=110
レスポンス例:
4
この機能は、ファームウェアバージョン2.00.00以上で利用可能です。
無線LANタイムアウト時間の取得
(op=111)
無線LANにアクセスがない場合に自動的に電源を切るまでのタイムアウト時間(APPAUTOTIME)をミリ秒単位で返します。 無線LANモードが自動起動APモードに設定されている場合のみ有効です。APPAUTOTIMEについては、CONFIGのAPPAUTOTIMEに関する記述を参照してください。
リクエスト例:
http://flashair/command.cgi?op=111
レスポンス例:
300000
この機能は、ファームウェアバージョン2.00.00以上で利用可能です。
アプリケーション独自情報の取得
(op=117)
アプリケーションが独自の目的で使用することができる16ケタの英数字(APPINFO)を取得します。APPINFOについては、CONFIGのAPPINFOに関する記述を参照してください。
リクエスト例:
http://flashair/command.cgi?op=117
レスポンス例:
0123ABCD4567EFGH
この機能は、ファームウェアバージョン2.00.00以上で利用可能です。
アップロード機能の有効状態の取得
(op=118)
CONFIGファイルのUPLOAD
の値を返します。
1 | アップロード機能は有効になっています。 |
---|---|
それ以外 | アップロード機能は無効になっています。 |
詳しくは、CONFIGのUPLOADに関する記述を参照してください。
リクエスト例:
http://flashair/command.cgi?op=118
レスポンス例:
1
この機能は、ファームウェアバージョン2.00.02以上で利用可能です。
Card Identifierの取得
(op=120)
CID(Card Identification number register)を返します。CIDは32ケタの16進数で、SDメモリカード仕様により定められています。
APPINFOについては、CIDのCIDに関する記述を参照してください。
リクエスト例:
http://flashair/command.cgi?op=120
レスポンス例:
02544d535730384708c00b78700d201
この機能は、ファームウェアバージョン1.00.03以上で利用可能です。
アップデート情報の取得 (タイムスタンプ形式)
(op=121)
SDメモリカードホスト機器から、FlashAirに対する書き込みイベントが発生した時の内部タイムスタンプを取得します。
タイムスタンプはカードの起動時からの経過ミリ秒です。
リクエスト例:
http://flashair/command.cgi?op=121
レスポンス例:
174428
この機能は、ファームウェアバージョン2.00.02以上で利用可能です。
共有メモリからのデータの取得
(op=130)
共有メモリからデータを読み込みます。(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以上で利用可能です。
共有メモリへのデータの書き込み
(op=131)
共有メモリにデータを書き込みます。(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以上で利用可能です。
空セクター数の取得
(op=140)
FlashAirカードの空き容量を、空セクタ数/全セクタ数,セクタサイズ(バイト)の形式で返します。
リクエスト例:
http://flashair/command.cgi?op=140
レスポンス例:
13952920/15228928,512
この例では、セクタあたり512バイトで、カード全体では15228928個のセクタがあり、 13952920個のセクタが未使用であることを示しています。 つまり、総容量7.26GB(8GBカード)のうち、約6.7GB残っているということがわかります。
この機能は、ファームウェアバージョン1.00.03以上で利用可能です。
SDインターフェース端子のI/O利用
(op=190)
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以上で利用可能です。
フォトシェアモードの有効化
(op=200)
フォトシェアモードを有効化します。フォトシェアモードは、指定されたディレクトリと日付のみにアクセスできるようにするために使われます。
フォトシェアモードを有効にすると、 それ以降の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を変更してください。
フォトシェアモードの解除
(op=201)
フォトシェアモードを解除します。フォトシェアモードは、指定されたディレクトリと日付のみにアクセスできるようにするために使われます。
リクエスト例:
http://flashair/command.cgi?op=201
レスポンス:
成功した場合は、OK
を返します。成功しなかった場合は、400 Bad Request
を返します。
この機能は、ファームウェアバージョン2.00.00以上で利用可能です。
フォトシェアモードの状態の取得
(op=202)
フォトシェアモードが有効か無効かを返します。
リクエスト例:
http://flashair/command.cgi?op=202
レスポンス例:
SHAREMODE
フォトシェアモードが有効な場合はSHAREMODE
を返します。フォトシェアモードが無効の場合は、NORMALMODE
を返します。
この機能は、ファームウェアバージョン2.00.00以上で利用可能です。
フォトシェアモードのSSIDの取得
(op=203)
フォトシェアモードに使用する特別なSSIDを返します。
リクエスト例:
http://flashair/command.cgi?op=203
レスポンス例:
photoshare_e8e0b756a7fb
この機能は、ファームウェアバージョン2.00.00以上で利用可能です。
FlashAirドライブ(WebDAV)情報の取得
(op=220)
FlashAirドライブが有効か無効かを返します。
0 | FlashAirドライブ機能無効 |
1 | FlashAirドライブ機能有効(リードオンリーモード) |
2 | FlashAirドライブ機能有効。書き込みを有効にするには、CONFIGファイルにUPLOAD=1 を設定する必要があります。 |
リクエスト例:
http://flashair/command.cgi?op=220
レスポンス例:
1
この機能は、ファームウェアバージョン3.00.00以上で利用可能です。
タイムゾーンの取得
(op=221)
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以上で利用可能です。