REST API

默认 IP

卡菲单反无线取景控制器的默认IP为192.168.9.67或192.168.1.67.

照相

GET takepic/true
触发相机拍摄一张照片

返回 http status code 200 means OK, 500 means failed
当照片文件生成时,服务端会向客户端发送一次 file_add 事件,事件参数为文件路径。客户端可以通过此路径下载文件或缩略图。

监控相机拍摄

POST /tether/start
params: none

进入接收模式。当手动按相机快门拍摄时,服务端会向客户端发送一次 file_add 事件,事件参数为文件路径。客户端可以通过此路径下载文件或缩略图。
当一张照片从相机中删除时,将会发送一次 file_remove 事件,但没有参数。客户但需要重新读取文件列表一次以刷新文件列表。

停止相机监控

POST /tether/stop
停止相机监控.

读取照片列表

GET /files/$start/$count
It will list the images in the SD card.

Params:
$start: 从第几张照片开始,数据类型 integer
$count: 计划读取照片张数. 数据类型 Integer

如果调用成功,会返回如下格式的数组:
[ Storage001/DCIM/xxxx1.jpg,
Storage001/DCIM/xxxx2.jpg
...
]

需要注意的是申请张数不一定和返回张数相等。返回张数可能小于申请的张数。
状态代码: if execution is successful, the http status code will be 200 OK
Otherwise, it will return 500.

下载原图

GET /raw/$filepath
从相机中下载原始文件到客户端。

$filepath 是根据list命令中返回的照片路径.传入时需要进行url编码。编码格式如下:
%2Fstorage001%2FDCIM%2Fxxxx1.jpg

文件大小在返回的 hearder 中可以取到,Content-Length:xxxx
返回: 成功返回 状态代码 200 OK,否则返回状态代码 500.

下载缩略图

GET /thumbnail/$filepath
从相机中下载原始文件到客户端。

$filepath 是根据list命令中返回的照片路径.传入时需要进行url编码。编码格式如下:
storage001%2FDCIM%2Fxxxx1.jpg
文件大小在返回的hearder中可以取到,Content-Length:xxxx
返回: 成功返回 状态代码 200 OK,否则返回状态代码500.

下载预览图

GET /image/$filepath
从相机中下载预览图主要用于预览 Raw 文件。预览图格式为 JPEG

$filepath 是根据list命令中返回的照片路径.传入时需要进行url编码。编码格式如下:
storage001%2FDCIM%2Fxxxx1.jpg
返回: 成功返回 状态代码 200 OK,否则返回状态代码500.

状态代码: if execution is successful, the http status code will be 200 OK
Otherwise, it will return 500.

实时取景

GET /capturemovie
启动实时取景视频流。调用这个API,会创建一个TCP服务器,端口为890.客户端可以通过SOCKET端口,读取视频流。视频流格式为MJPEG.
返回: 成功返回 状态代码 200 OK,否则返回状态代码500.

GET /stopcapturemovie
关闭视频流 返回: 成功返回 状态代码 200 OK,否则返回状态代码500.

取得相机配置

GET /config
返回相机所有配置参数信息,包括光圈,ISO,快门速度和曝光模式。
返回结果示例:
Canon 7D
Nikon D5100

设置相机配置

PUT /setconfigvalue
参数: {name:foo, value:foo}
配置名称和值可以在 getconfig命令返回的结果中查找。佳能和尼康的不同相机在配置名称和值上有所区别。
返回: 成功返回 状态代码 200 OK,否则返回状态代码500.

检查固件版本

GET /info
返回: {version:xxxx, serial:xxxx}

获取附近的 WiFi 列表

GET /iwlist
获取 CamFi 附近的WiFi 列表,并返回如下格式的数组:
[{
"associated" : false;
"mac" : "aa:12:12:7a:93:2f";
"signal" : "-72.00";
"ssid" : "xxxxxxxxx";
}, ...]

获取网络模式信息

GET /networkmode
获取 CamFi 当前的网络模式信息,并返回如下格式的信息:
{
"ap_encryption" : "";
"ap_ssid" : "xxxxxxxxx";
"mode" : "sta";
"sta_encryption" : "psk2";
"sta_ssid" : "xxxxxxxxx";
}
mode : sta 表示当前 CamFi 为 Bridge Mode, mode : ap 表示当前 CamFi 为 AP mode。 sta_encryption 表示桥接路由的密码加密模式

设置网络模式

POST /networkmode
可以把 CamFi 设置为 AP 模式或者 Bridge 模式。

Params:
AP Mode: { "mode":"ap" | "sta" }
Bridge Mode: { "mode":"sta", "router_ssid":foo, "password":foo, "encryption":psk | psk2 | ... }


mode : sta 表示将把 CamFi 设为 Bridge Mode, mode : ap 表示将把 CamFi 为 AP mode。
sta_encryption 表示桥接路由的密码加密模式

返回: 成功返回 状态代码 200 OK,否则返回状态代码500。