CoAP

The CoAP protocol has been specifically designed for use on low bandwidth devices such as our IoT sensors. It is like a binary/compressed form of  HTTP (web) requests so uses fewer bytes, hence fewer packets are transmitted on the radio and power is saved. It also has extra facilities ideal for this application. Another energy saving measure is its use of UDP packets (rather than TCP) which saves even more transmissions.

In 2015 we successfully deployed a test network with CoAP. Each node had a readings resource which the border router Linux system GETs. This was a different approach to 2014 where the nodes POSTed their data. Our initial results show CoAP worked extremely well.

We have saved even more bytes by packing the data/readings with Protocol Buffers rather than sending ascii values as JSON for example. On the Linux border router we use the Californium CoAP library, while on the nodes we use Erbium in Contiki.