command.cgi

最后: 2016/1

command.cgi可以让智能手机和电脑等外部设备通过无线局域网获取或编辑FlashAir中的信息。

command.cgi使用 CGI (Common Gateway Interface) 系统,所以外部设备可以在与FlashAir连接状态下向 http://flashair/command.cgi?<parameter>发起HTTP GET请求来执行指令。

以下是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+
获取Web浏览器语言 op=107 1.00.00+
获取固件版本 op=108 1.00.00+
获取控制图片 op=109 2.00.00+
获取无线局域网模式 op=110 2.00.00+
获取无线局域网超时 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+
以用户I/O形式控制SD接口 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 Drive (WebDAV)信息 op=220 3.00.00+
获取时区 op=221 3.00.00+

获取文件列表

(op=100)

返回指定目录下的文件列表。

参数:

DIR

目录路径

请求示例:

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

列表的每一列都以如下格式返回。

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

响应示例:

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

注意在解析响应时,文件名中可以包含逗号( ,)。
如果指定了DIR=/ (root),目录名为空。

<directory>
文件目录名
<filename>
文件名
<size>
文件大小字节数(十进制格式)
<attribute>
文件属性(十进制格式)
<date>
文件日期(十进制格式)
<time>
文件时间(十进制格式)

Attribute 以十进制16位整数指定,格式如下:

Bit 5
存档
Bit 4
目录
Bit 3
容量
Bit 2
系统文件
Bit 1
隐藏文件
Bit 0
只读

Date 以十进制16位整数指定,格式如下:

Bit 15-9
年份:指定数值,0为1980年。
Bit 8-5
月份:指定1~12的数值。
Bit 4-0
日期:指定1~31的数值。

Time 以十进制16位整数指定,格式如下:

Bit 15-11
小时
Bit 10-5
分钟
Bit 4-0
1/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以上

获取可用的Web浏览器语言

(op=107)

返回Web浏览器语言设置中的可用语言参数。

请求示例:

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)

获取用作无线启动画面的图片完整路径。无线启动画面是当无线局域网模式(APPMODE)为0,2或3时用于控制无线局域网开启或关闭的图片文件。

了解CIPATH的更多信息,请参照“配置”一章中关于 CIPATH 的部分。

请求示例:

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

响应示例:

/DCIM/100__TSB/FA000001.JPG

该操作适用于固件版本2.00.00以上

获取无线局域网模式

(op=110)

返回当前的无线局域网模式(APPMODE)。了解APPMODE的更多信息,请参照“配置”一章中关于 APPMODE 的部分。

请求示例:

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

响应示例:

4

该操作适用于固件版本2.00.00以上

获取无线局域网超时长度

(op=111)

返回自动超时长度(毫秒),如果没有连接的时间超过该时间,FlashAir会关闭无线局域网功能。仅当无线局域网模式设为自动启动AP模式时生效。了解APPAUTOTIME的更多信息,请参照“配置”一章中关于 APPAUTOTIME 的部分。

请求示例:

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

响应示例:

300000

该操作适用于固件版本2.00.00以上

获取应用程序特有信息

(op=117)

获取应用程序专用的16位字符。了解APPINFO的更多信息,请参照“配置”一章中关于 APPINFO 的部分。

请求示例:

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

响应示例:

0123ABCD4567EFGH

该操作适用于固件版本2.00.00以上

获取上传参数

(op=118)

获取当前为上传设定的参数。了解UPLOAD的更多信息,请参照“配置”一章中关于 UPLOAD 的部分。

1 允许上传
其他 不允许上传

请求示例:

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

响应示例:

1

该操作适用于固件版本2.00.02以上

获取卡片标识码

(op=120)

返回SD标准指定的CID。CID由32位16进制数字组成,每张SD卡对应唯一的CID。

请求示例:

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

响应示例:

02544d535730384708c00b78700d201

该操作适用于固件版本1.00.03以上

获取写入事件的时间戳

(op=121)

返回发生写入事件时的内部时间戳。例如你在Windows资源管理器中将一个文件拖放到FlashAir中时,会引发写入事件。时间戳表示从卡片启动时开始经过的毫秒数。

请求示例:

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

响应示例:

174428

该操作适用于固件版本2.00.02以上

从共享内存中读取数据

(op=130)

从共享内存中获取数据。该操作使用SD标准指定的CMD48:读取扩展寄存器单区块指令。

如果指令成功,将返回 SUCCESS。如果不成功,将返回 400 Bad Request

请求示例:

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

ADDR
地址。 0-5110x0-0x1FF
LEN
长度。 0-5120x0-0x200

响应示例:

0123ABCD

该操作适用于固件版本2.00.00以上

向共享内存写入数据

(op=131)

向共享内存写入数据。该操作使用SD标准指定的CMD49:写入扩展寄存器单区块指令。

如果指令成功,将返回 SUCCESS。如果不成功,将返回 400 Bad Request

请求示例:

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

ADDR
地址。 0-5110x0-0x1FF
LEN
长度。 0-5120x0-0x200
DATA
待写入的数据。数据长度必须等于LEN。

该操作适用于固件版本2.00.00以上

获取空扇区数量

(op=140)

按以下格式返回FlashAir中空扇区的数量: 空扇区数量/扇区总数量,扇区大小(字节)

请求示例:

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

响应示例:

13952920/15228928,512

本例所示卡中包含15228928个扇区,其中13952920个未使用。以每扇区512字节计算,表示卡的总容量为7.26GB(8GB卡),其中剩余容量为6.7GB。

该操作适用于固件版本1.00.03以上

以用户I/O形式控制SD接口

(op=190)

以用户I/O形式控制SD接口的I/O针脚。

使用该功能的前提条件如下:

  • CONFIG文件中指定了 IFMODE=1
  • 主机设备不执行SD初始化。
了解 IFMODE 的更多信息,请参照“配置”一章中关于 IFMODE 的部分。

请求示例:

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

CTRL
输入或输出。
将要读取的位设为 0,将要写入的位设为 1
DATA
设定输出。
低位输出时设为 0,高位输出时设为 1

位映射

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

响应示例:

{"STATUS":"OK","CTRL":"0x1f","DATA":"0x1f"}

该操作适用于固件版本2.00.03以上

开启照片共享模式

(op=200)

开启照片共享模式。照片共享模式用于限制访问指定目录或指定日期的数据。 照片共享模式开启后,HTTP GET对command.cgi指定目录发起的请求将被忽略,返回照片共享模式指定的目录和日期的数据。

如果指令成功,将返回 OK。如果不成功,将返回 400 Bad Request

请求示例:

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

详细的相关参数参照 Get file list.

该操作适用于固件版本2.00.00以上

关闭照片共享模式

(op=201)

关闭照片共享模式照片共享模式用于限制访问指定目录或指定日期的数据。

如果指令成功,将返回 OK。如果不成功,将返回 400 Bad Request

请求示例:

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

该操作适用于固件版本2.00.00以上

获取照片共享模式状态

(op=202)

返回照片共享模式是否开启。

如果照片共享模式开启,返回 SHAREMODE。 如果照片共享模式关闭,返回 NORMALMODE

请求示例:

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

响应示例:

SHAREMODE

该操作适用于固件版本2.00.00以上

获取照片共享模式的SSID

(op=203)

返回照片共享模式专用的SSID。

请求示例:

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

响应示例:

photoshare_e8e0b756a7fb

该操作适用于固件版本2.00.00以上

获取FlashAir Drive(WebDAV)信息

(op=220)

返回FlashAir Drive是否开启。

0 关闭FlashAir Drive
1 开启FlashAir Drive(只读)
2 开启FlashAir Drive写入文件还需要设定 UPLOAD=1

请求示例:

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

响应示例:

1

该操作适用于固件版本3.00.00以上

获取时区

(op=221)

返回FlashAir Drive运行时将FAT文件时间转换为UTC时间的时区。时区按15分钟的间隔储存,范围为 -4854。例如,UTC标准时间为 0,而日本时间(+9)为 36 (9(h)×4(15m)=36)。

请求示例:

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

响应示例:

36

该操作适用于固件版本3.00.00以上