Example Application for Milli Dev Kit Including Sensor, Data Platform, and User Interface

Build your own network of sensors Order a Developer Kit
This example reference application demonstrates how to implement an end to end solution from the sensor to ingestion of the measurements into the Data Platform and a user application that retrieves the data from the Data Platform and plots it on a web user interface.


The solution consists of three parts: 

  1. PART 1 - Example Sensor implementation with the Milli Dev Kit  
  2. PART 2 - Ingest sensor measurements into the Data Platform
  3. PART 3 - Plot the sensor measurements using the Data Platform Plot Reference Application




The following architecture diagram shows how the Milli Developer Kit is connected with sensors as well as the meshed network. The sensors are connected to the Milli Developer Kit mounted on an Arduino Board. The Milli Developer Kit connects to a MiniAP over the RF mesh network. The MiniAP provides backhaul connectivity to the sensor application. The sensor is a CoAP Server.  Requests are sent from a client application, located on, for example, a laptop computer, to the CoAP Server running on the microcontroller located on the Arduino board.  The example application provided here is a web application for plotting temperature sensor measurements stored in the Data Platform retrieved with the Data Platform APIs .





The Milli Developer Kit for Arduino V1.0 is provided connectivity to the Data Platform through Silver Spring's cloud APIs. Credentials are required to connect to the Data Platform. Requests are forwarded to the CoAP Gateway and consist of a Uniform Resource Identifier (URI) and a Session ID. Authorized requests are sent over the wide area network (WAN) via the MiniAP.  A CoAP Proxy Server is implemented in the MilliShield. This Proxy forwards the request using a data link layer protocol called HDLC. Finally, using the microcontroller of the Arduino processor board, the HDLC is parsed out, and the underlying CoAP request is sent to the server running on your Arduino board.