Windows CoAP Reference Apps

Windows CoAP Client and Server Reference Applications

Get the Windows CoAP Reference Apps and Source Code DocumentCenter
Sensor devices communicate using the Constrained Application Protocol (CoAP) through the communications module (aka NIC) based developer kits. The NIC routes the CoAP messages through the mesh via an access point (AP) and a CoAP proxy known as Gateway. The sensor device acts as a CoAP server and an application that communicates with it is a CoAP Client.

Dev Kits contain a NIC module that communicates via an Access Point (or Mini AP) and over a WAN backhaul connection to the CoAP Gateway. A CoAP Client (such as the one provided with the Dev Kit) can reach the sensor by sending requests to the Data Platform and CoAP Gateway APIs. The NIC contains a CoAP proxy server that communicates to an attached sensor via a UART interface using CoAP over HDLC. Embedded in the HDLC are CoAP calls that are handled by the sensor attached to the NIC.

Two Microsoft Windows .NET C# reference applications are provided as both useful test tools as well as examples of how to implement a solution on our network.  A user guide, application installer, and .NET Visual Studio solution and source code installer are provided for both the client and server reference applications 

Windows CoAP Client

Sensor devices communicate using the Constrained Application Protocol (CoAP). Communications with the end devices facilitated through the CoAP Gateway API. The Windows CoAP Client application can be used to communicate with a sensor on the network through the CoAP Gateway API. This is useful for testing that your endpoint is communicating properly on the network.

The Windows CoAP Client makes use of two APIs:

  1. Data Platform Device API: Used to acquire a list of devices registered with Silver Spring for a specified API key
  2. CoAP Gateway API: Used to perform CoAP operations through the Silver Spring CoAP Gateway API and subsequently with the end device itself.

Windows CoAP Server

Sensor devices communicate using the Constrained Application Protocol (CoAP). Communciations with the end devices facilitated through the CoAP Gateway API. The sample Windows CoAP Server application provides the capability for a third party to simulate a sensor device connected to the Dev Kit. Source code for the application is also available for Windows developers.

Windows CoAP Server application can assume the role of the sensor device by connecting to a NIC based Dev Kit over UART.  This is a useful test tool for simulating a sensor and developing an application that consumes sensor data through the Data Platform or CoAP Gateway API's.

The CoAP Server is written in open-source C# .NET, which, in turn, leverages other open source components. Some of the underlying CoAP implementation is taken from CoAPSharp, a C# implementation provided by EXILANT Technologies. Some sample code from the SilverLink Data Platform API calls the NewtonSoft JSON serializer/deserializer.

CoAP Server Functionality:

  • Resource simulation
  • Diagnostic operations, such as plugin validation and review of recent CoAP requests and responses
  • Tools for generating plugin shell code in the correct simulator format, and for extracting the core code for insertion into the final sensor server implementation

Windows CoAP Client and Server Network Architecture