This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
proiecte:sparrow [2017/02/02 13:48] iulia.manda [Server] |
proiecte:sparrow [2017/02/13 20:11] (current) iulia.manda [Results and Future Work] |
||
---|---|---|---|
Line 22: | Line 22: | ||
=== CoAP === | === CoAP === | ||
- | The existing CoAP protocol library implementations make use of the implemented support for handling UDP packets on a specific board. The definition of a CoAP instance: | + | The existing CoAP protocol library |
< | < | ||
#if defined(ARDUINO) | #if defined(ARDUINO) | ||
Line 35: | Line 35: | ||
</ | </ | ||
- | More details on how Sparkfun handles this can be found at [4] | + | More details on how Sparkfun handles this can be found at [5] |
As a < | As a < | ||
Line 45: | Line 45: | ||
</ | </ | ||
- | The updated library can can be downloaded at the end of this page. | + | The updated library can can be downloaded at the end of this page [6]. |
- | + | ||
- | === Server Implementation === | + | |
===== Client ===== | ===== Client ===== | ||
=== libcoap === | === libcoap === | ||
+ | libcoap [7] is a C implementation of a lightweight application-protocol for devices that are constrained their resources such as computing power, RF range, memory, bandwith, or network packet sizes. This protocol, CoAP, is standardized by the IETF as RFC 7252. | ||
+ | In our project, we use the client implementation from libcoap, as follows: | ||
+ | < | ||
+ | $ ./ | ||
+ | </ | ||
+ | where X.X.X.X is the IP assigned to the ESP after connecting to a local WiFi, the port is set in out server implementation and the resource is exposed by each implemented callback in the sever. | ||
=== Copper === | === Copper === | ||
+ | Copper (CU) [8] is a Firefox plugin that implements the RFC 7252 and URI handling for the ' | ||
+ | |||
===== Testing ===== | ===== Testing ===== | ||
- | ===== Results ===== | + | In order to test the functionality of the ESP and the correct interconnection of the components from software, I have used test_espmodule.ino [9], which is attached at the end of this page. It is very useful as it uses AT basic commands and there is a transparent view of the status of the ESP. It is also very simple to update. |
+ | |||
+ | {{: | ||
+ | {{ : | ||
+ | ===== Results | ||
+ | |||
+ | This project is in a Proof-of-Concept state right now. Led on pin 11 can be turned on and off from the Coap client. After adding arduino-ESP8266 and COAP libraries to Arduino/ | ||
+ | |||
+ | < | ||
+ | coap://< | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | For a more efficient system, we mention the following: | ||
+ | - CH_PD of the ESP can be used to deactivate the chip when it is not necessary; | ||
+ | - read data from the sensors at specific larger moments of time, and use the CH_PD to also send data to the client rarely. | ||
===== Resources ===== | ===== Resources ===== | ||
+ | |||
+ | * [1] Intial Arduino-ESP8266: | ||
+ | * [2] AT Command Set: http:// | ||
+ | * [3] Modified Arduino-ESP8266: | ||
+ | * [4] Initial Coap Server Library: https:// | ||
+ | * [5] Sparkfun and ESP8266: https:// | ||
+ | * [6] Modified Coap Server Library: {{: | ||
+ | * [7] libcoap Client: https:// | ||
+ | * [8] Copper (CU): https:// | ||
+ | * [9] Check running ESP: {{: | ||
+ | * [10] Sparrow-ESP8266 PoC {{: | ||