diff --git a/docs/en/modules/coap.md b/docs/en/modules/coap.md index 5880e3b8..916843c4 100755 --- a/docs/en/modules/coap.md +++ b/docs/en/modules/coap.md @@ -2,15 +2,17 @@ The CoAP module provides a simple implementation according to [CoAP](http://tools.ietf.org/html/rfc7252) protocol. The basic endpoint server part is based on [microcoap](https://github.com/1248/microcoap), and many other code reference [libcoap](https://github.com/obgm/libcoap). -This Module implement both Client and Server side. GET/PUT/POST/DELETE is partially supported by Client. Server can regist Lua function and varibles. No Observe or Discover supported right now. +This module implements both the client and the server side. GET/PUT/POST/DELETE is partially supported by the client. Server can register Lua functions and varibles. No observe or discover supported yet. ## Caution -CoAP Module is only in the very early stage and not complete right now. +This module is only in the very early stage and not complete yet. -## Constants -`coap.CON`, `coap.NON` is the request type. +## Constants +Constants for various functions. -`coap.TEXT_PLAIN`, `coap.LINKFORMAT`, `coap.XML`, `coap.OCTET_STREAM`, `coap.EXI`, `coap.JSON` is the content type. +`coap.CON`, `coap.NON` represent the request types. + +`coap.TEXT_PLAIN`, `coap.LINKFORMAT`, `coap.XML`, `coap.OCTET_STREAM`, `coap.EXI`, `coap.JSON` represent content types. ## coap.Client() @@ -71,17 +73,16 @@ cs:func("myfun") -- post coap://192.168.18.103:5683/v1/f/myfun will call myfun # CoAP Client - ## coap.client:get() -Issue a GET request to the server. +Issues a GET request to the server. #### Syntax -`coap.client:get( type, uri, payload )` +`coap.client:get(type, uri, [payload])` #### Parameters -- `type` coap.CON, coap.NON, default to CON. when type is CON, and request failed, the request will retry another 4 times before giving up. -- `uri` the uri such as coap://192.168.18.103:5683/v1/v/myvar, only IP is supported. +- `type` `coap.CON`, `coap.NON`, defaults to CON. If the type is CON and request fails, the library retries four more times before giving up. +- `uri` the URI such as "coap://192.168.18.103:5683/v1/v/myvar", only IP addresses are supported i.e. no hostname resoltion. - `payload` optional, the payload will be put in the payload section of the request. #### Returns @@ -89,14 +90,14 @@ Issue a GET request to the server. ## coap.client:put() -Issue a PUT request to the server. +Issues a PUT request to the server. #### Syntax -`coap.client:put( type, uri, payload )` +`coap.client:put(type, uri, [payload])` #### Parameters -- `type` coap.CON, coap.NON, default to CON. when type is CON, and request failed, the request will retry another 4 times before giving up. -- `uri` the uri such as coap://192.168.18.103:5683/v1/v/myvar, only IP is supported. +- `type` `coap.CON`, `coap.NON`, defaults to CON. If the type is CON and request fails, the library retries four more times before giving up. +- `uri` the URI such as "coap://192.168.18.103:5683/v1/v/myvar", only IP addresses are supported i.e. no hostname resoltion. - `payload` optional, the payload will be put in the payload section of the request. #### Returns @@ -104,13 +105,13 @@ Issue a PUT request to the server. ## coap.client:post() -Issue a POST request to the server. +Issues a POST request to the server. #### Syntax -`coap.client:post( type, uri, payload )` +`coap.client:post(type, uri, [payload])` #### Parameters -- `type` coap.CON, coap.NON, default to CON. when type is CON, and request failed, the request will retry another 4 times before giving up. +- `type` coap.CON, coap.NON, defaults to CON. when type is CON, and request failed, the request will retry another 4 times before giving up. - `uri` the uri such as coap://192.168.18.103:5683/v1/v/myvar, only IP is supported. - `payload` optional, the payload will be put in the payload section of the request. @@ -119,43 +120,41 @@ Issue a POST request to the server. ## coap.client:delete() -Issue a DELETE request to the server. +Issues a DELETE request to the server. #### Syntax -`coap.client:delete( type, uri, payload )` +`coap.client:delete(type, uri, [payload])` #### Parameters -- `type` coap.CON, coap.NON, default to CON. when type is CON, and request failed, the request will retry another 4 times before giving up. -- `uri` the uri such as coap://192.168.18.103:5683/v1/v/myvar, only IP is supported. +- `type` `coap.CON`, `coap.NON`, defaults to CON. If the type is CON and request fails, the library retries four more times before giving up. +- `uri` the URI such as "coap://192.168.18.103:5683/v1/v/myvar", only IP addresses are supported i.e. no hostname resoltion. - `payload` optional, the payload will be put in the payload section of the request. #### Returns `nil` - # CoAP Server - ## coap.server:listen() -Start the CoAP server on the given port. +Starts the CoAP server on the given port. #### Syntax -`coap.server:listen( port, ip )` +`coap.server:listen(port, [ip])` #### Parameters -- `port` server port (number). -- `ip` optional. +- `port` server port (number) +- `ip` optional IP address #### Returns `nil` ## coap.server:close() -Close the CoAP server. +Closes the CoAP server. #### Syntax -`coap.server:close( )` +`coap.server:close()` #### Parameters none @@ -165,14 +164,14 @@ none ## coap.server:var() -Regist a Lua variable as an endpoint in the server. the varible value then can be GET by a client via GET method, represented as an [URI](http://tools.ietf.org/html/rfc7252#section-6) to client. The endpoint path for varialble is '/v1/v/'. +Registers a Lua variable as an endpoint in the server. the variable value then can be retrieved by a client via GET method, represented as an [URI](http://tools.ietf.org/html/rfc7252#section-6) to the client. The endpoint path for varialble is '/v1/v/'. #### Syntax -`coap.server:var( name, content_type )` +`coap.server:var(name, [content_type])` #### Parameters -- `name` the Lua variable's name. -- `content_type` optional, default to coap.TEXT_PLAIN, see [Content Negotiation](http://tools.ietf.org/html/rfc7252#section-5.5.4) +- `name` the Lua variable's name +- `content_type` optional, defaults to `coap.TEXT_PLAIN`, see [Content Negotiation](http://tools.ietf.org/html/rfc7252#section-5.5.4) #### Returns `nil` @@ -192,19 +191,18 @@ cs:var("all", coap.JSON) -- sets content type to json ## coap.server:func() -Regist a Lua function as an endpoint in the server. the function then can be called by a client via POST method. represented as an [URI](http://tools.ietf.org/html/rfc7252#section-6) to client. The endpoint path for function is '/v1/f/'. +Registers a Lua function as an endpoint in the server. The function then can be called by a client via POST method. represented as an [URI](http://tools.ietf.org/html/rfc7252#section-6) to the client. The endpoint path for function is '/v1/f/'. -When the client issues a POST request to this URI, the payload will be passed to the function as parameter. the function's return value will be the payload in the message to the client. +When the client issues a POST request to this URI, the payload will be passed to the function as parameter. The function's return value will be the payload in the message to the client. -The function registed SHOULD be accept ONLY ONE string type parameter, and return ONE string value or return nothing. -When the client issue +The function registered SHOULD accept ONLY ONE string type parameter, and return ONE string value or return nothing. #### Syntax -`coap.server:func( name, content_type )` +`coap.server:func(name, [content_type])` #### Parameters -- `name` the Lua function's name. -- `content_type` optional, default to coap.TEXT_PLAIN, see [Content Negotiation](http://tools.ietf.org/html/rfc7252#section-5.5.4) +- `name` the Lua function's name +- `content_type` optional, defaults to `coap.TEXT_PLAIN`, see [Content Negotiation](http://tools.ietf.org/html/rfc7252#section-5.5.4) #### Returns `nil`