User Tools

Site Tools


specifications:uri

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
specifications:uri [2016/03/20 03:29]
Guvalif removed
specifications:uri [2016/12/08 10:46] (current)
Guvalif
Line 1: Line 1:
 <​markdown>​ <​markdown>​
 URI Definition URI Definition
-==============+===============================================================================
  
-Edit me.+Basic Specification 
 +------------------------------------------------------------------------------- 
 + 
 +Network host of Control Server is normally **"​localhost (127.0.0.1)"​**. 
 +Its port is decided by `port` property written in **config.json**. (Default value is 17264.) 
 + 
 +The server provides REST API. 
 +Thus, anyone can use each resource and command using following syntax. 
 + 
 +``` 
 +http://<​HOST>:<​PORT>/<​VERSION>/<​INSTANCE>/​...(/<​METHOD>​) 
 +``` 
 + 
 +`<​VERSION>​` is string of API version. 
 +Basically its keeps pace to major version of the application. 
 +(For-instance:​ In **ControlServer_Win_v2.0.1**,​ `<​VERSION>​` is **v2**.) 
 + 
 +### Returned JSON Format When Get a Resource 
 + 
 +When you create GET request, the server returns JSON like below. 
 + 
 +```json 
 +
 +    "​resource":​ <​RESOURCE_NAME:​string>,​ 
 +    "​data":​ <​DATA:​json>​ 
 +
 +``` 
 + 
 +### Returned JSON Format When a Command Runs 
 + 
 +When you create HTTP request (not GET) or call each command, the server returns JSON like below. 
 + 
 +```json 
 +
 +    "​resource":​ <​RESOURCE_NAME:​string>,​ 
 +    "​data":​ { 
 +        "​command":​ <​COMMAND_NAME:​string>,​ 
 +        "​result":​ <​RESULT:​boolean>​ 
 +    } 
 +
 +``` 
 + 
 + 
 +Resources List 
 +------------------------------------------------------------------------------- 
 + 
 +### Command-line Stream (cmdstream) 
 + 
 +Could be gotten WebSocket based stream resource that controls PLEN. 
 + 
 +Sending command name and each argument with **/ (slash)** as separator,​ 
 +you can call directly commands implemented by Python. 
 +([See also...](https://​github.com/​plenprojectcompany/​plen-ControlServer/​blob/​master/​control_server/​drivers/​abstract.py)) 
 + 
 +```javascript 
 +var socket = new WebSocket('​ws://​localhost:​17264/​v2/​cmdstream'​);​ 
 + 
 +socket.send('<​METHOD_NAME>/<​PARAM_0>/<​PARAM_1>/​...'​);​ 
 +``` 
 + 
 +Returned value is stringified returned value on Python runtime environment. 
 + 
 +### Motion (motions) 
 + 
 +Could be gotten motion resource that defines PLEN's movement. 
 +Please set slot number you want to access to `<​SLOT:​integer>​`. 
 + 
 +``` 
 +http://​localhost:​17264/​v2/​motions/<​SLOT:​integer>​ 
 +``` 
 + 
 +|HTTP Request|Operation ​                                                  | 
 +|:​-----------|:​-----------------------------------------------------------| 
 +|**GET** ​    |Get a motion resource. ​                                     | 
 +|**DELETE** ​ |Delete a motion resource. (Overwrite empty motion actually.)| 
 +|**PUT** ​    ​|Overwrite a motion resource. ​                               | 
 + 
 +``` 
 +http://​localhost:​17264/​v2/​motions/<​SLOT:​integer>/​play 
 +http://​localhost:​17264/​v2/​motions/​stop 
 +``` 
 + 
 +|Commands|Operation ​    | 
 +|:​-------|:​-------------| 
 +|**play**|Play a motion.| 
 +|**stop**|Stop a motion.| 
 + 
 +### Version Information (version) 
 + 
 +Could be gotten version information resource. 
 + 
 +``` 
 +http://​localhost:​17264/​v2/​version 
 +``` 
 + 
 +|HTTP Request|Operation ​                      | 
 +|:​-----------|:​-------------------------------| 
 +|**GET** ​    |Get version information of PLEN.| 
 + 
 +### Construction Information of the Server (metadata) 
 + 
 +Could be gotten server information resources below. 
 + 
 +- API version 
 +- Required firmware version of PLEN 
 + 
 +``` 
 +http://​localhost:​17264/​v2/​metadata 
 +``` 
 + 
 +|HTTP Request|Operation ​                                 | 
 +|:​-----------|:​------------------------------------------| 
 +|**GET** ​    |Get construction information of the server.| 
 + 
 + 
 +Commands List (Doable by Itself) 
 +------------------------------------------------------------------------------- 
 + 
 +### Connect to PLEN (connect) 
 + 
 +``` 
 +http://​localhost:​17264/​v2/​connect 
 +``` 
 + 
 +### Disconnect from PLEN (disconnect) 
 + 
 +``` 
 +http://​localhost:​17264/​v2/​disconnect 
 +```
 </​markdown>​ </​markdown>​
specifications/uri.1458444543.txt.gz · Last modified: 2016/03/20 03:29 by Guvalif