コントロールサーバーのホストは通常"localhost (127.0.0.1)"であり、
ポートはconfig.json内のport
プロパティに従って決定されます。(規定値は17264です。)
コントロールサーバーはREST APIを提供し、ユーザーは以下の書式により、 各種リソースやコマンドを使用することができます。
http://<HOST>:<PORT>/<VERSION>/<INSTANCE>/...(/<METHOD>)
<VERSION>
はAPIのバージョンを表す文字列であり、アプリケーション自体のメジャーバージョンに追随します。
(例: ControlServer_Win_v2.0.1であれば、v2となります。)
GETリクエストを実行した際、以下のようなJSONが返却されます。
{
"resource": <RESOURCE_NAME:string>,
"data": <DATA:json>
}
GET以外のHTTPリクエスト,および各種コマンドを実行した際、以下のようなJSONが返却されます。
{
"resource": <RESOURCE_NAME:string>,
"data": {
"command": <COMMAND_NAME:string>,
"result": <RESULT:boolean>
}
}
WebSocketを用いてPLENを操作するストリームリソースを提供します。
コマンド名と各引数を/ (スラッシュ)で区切って送信することで、 Pythonで実装されているコマンドを直接呼び出すことが可能です。 (参考)
var socket = new WebSocket('ws://localhost:17264/v2/cmdstream');
socket.send('<METHOD_NAME>/<PARAM_0>/<PARAM_1>/...');
戻り値は、Python上での各コマンドの戻り値を文字列化したものです。
PLENの動作を定義するモーションリソースを提供します。
<SLOT:integer>
にはアクセスしたいモーションリソースのスロット番号を指定します。
http://localhost:17264/v2/motions/<SLOT:integer>
HTTPリクエスト | 動作 |
---|---|
GET | モーションリソースを取得します。 |
DELETE | モーションリソースを削除します。(空のモーションを書き込みます。) |
PUT | モーションリソースを上書きします。 |
http://localhost:17264/v2/motions/<SLOT:integer>/play
http://localhost:17264/v2/motions/stop
コマンド | 動作 |
---|---|
play | モーションを再生します。 |
stop | モーションを停止します。 |
PLEN本体のバージョン情報に関するリソースを提供します。
http://localhost:17264/v2/version
HTTPリクエスト | 動作 |
---|---|
GET | バージョン情報リソースを取得します。 |
以下のようなサーバー構成情報に関するリソースを提供します。
http://localhost:17264/v2/metadata
HTTPリクエスト | 動作 |
---|---|
GET | サーバー構成情報リソースを取得します。 |
http://localhost:17264/v2/connect
http://localhost:17264/v2/disconnect