... | ... | @@ -144,7 +144,7 @@ You can find the required files in our repository at [file](ws4d/jcoap/tree/mast |
|
|
#### 1. Establish a connection to the Server using the ChannelManager (Client.java, FIXME 4-5):
|
|
|
* A client must implement CoapClient interface
|
|
|
`public class Client implements CoapClient {...}`
|
|
|
* A CoapChannelManager is used to manage different connections and to establish a connection to a server
|
|
|
* A CoapChannelManager is used to manage different connections and to establish a connection to a server
|
|
|
`channelManager = BasicCoapChannelManager.getInstance();`
|
|
|
`clientChannel = channelManager.connect(CoapClient client,InetAddress serverIP, int serverPort);`
|
|
|
|
... | ... | @@ -191,17 +191,18 @@ You can find the required files in our repository at [file](ws4d/jcoap/tree/mast |
|
|
`}`
|
|
|
3. Implement an Air Conditioner Resource with the path “/ACControl”, that can be set to “high”, “medium”, “low” or “off” (Client.java & Server.java, TODO 12-15):
|
|
|
* Change exitAfterResponse to false (Client.java, TODO 12)
|
|
|
* Add the observe-option to your CoAP-GET request (Client.java, TODO 13) `request.setObserveOption(0);`
|
|
|
* Add the observe-option to your CoAP-GET request (Client.java, TODO 13)
|
|
|
`request.setObserveOption(0);`
|
|
|
* add a BasicCoapResource to the ResourceServer (Server.java, TODO 14) `resourceServer.createResource(newBasicCoapResource(“/ACControl”,”off”,CoapMediaType.text_plain));`
|
|
|
* send PUT request (Client.java, TODO 15)
|
|
|
* send PUT request (Client.java, TODO 15)
|
|
|
`CoapRequest request = clientChannel.createRequest(true, CoapRequestCode.PUT);`
|
|
|
`request.setUriPath(“/ACControl”);`
|
|
|
`request.setContentType(CoapMediaType.text_plain);`
|
|
|
Depending on the received temperature, set the payload to high, medium, low or off
|
|
|
high -> 28 <= Temperature
|
|
|
medium -> 25 <= Temperature < 28
|
|
|
low -> 21 <= Temperature < 25
|
|
|
off ->Temperature < 21
|
|
|
high -> 28 <= Temperature
|
|
|
medium -> 25 <= Temperature < 28
|
|
|
low -> 21 <= Temperature < 25
|
|
|
off -> Temperature < 21
|
|
|
`request.setPayload(“medium”.getBytes());`
|
|
|
`clientChannel.sendMessage(request);`
|
|
|
|