Set Up a Reference Solution for Milli Temperature Sensor Data

A Sample Application for the Milli Developer Kit

Build your own network of sensors Order a Developer Kit
This sample application demonstrates how to implement an end-to-end solution to ingest sensor measurements into the Data Platform and retrieve it through a user application that plots it on a web user interface.

Overview

The Milli Temperature Sensor sample application provides a web application for plotting temperature sensor measurements retrieved from the Data Platform using the Data Platform APIs.

Setting up the Milli Temperature Sensor application consists of these steps: 

  1. Setup a CoAP server on your Arduino processor board as described in the Example Sensor implementation with the Milli Dev Kit  
  2. Use the Starfish Reference Application - CoAP Client to use CoAP to communicate with your sensors
  3. Plot the sensor measurements using the Data Platform Plot Reference Application

Architecture

The architecture diagram below shows how the Milli Temperature Sensor application connects with sensors and to the network to gather data.

  1. The sensors are connected to the Arduino Board part of the Milli Developer Kit.
  2. The Milli Developer Kit connects to a MiniAP over a local RF mesh network.
  3. The MiniAP provides backhaul connectivity to the back-office software and the data platform Wide Area Network (WAN). 
  4. Application CoAP requests are sent from a CoAP client (running on a laptop or Linux server) to the CoAP server running on the Arduino board. Client CoAP requests and responses are always proxied by the network Gateway. 
  5. Responses to sensor data requests are forwarded to the Data Platform.
  6. The Milli Temperature Sensor application processes the sensor data for analytics or display purposes.

CoAP requests always originate from a CoAP client and are sent to the Gateway. A CoAP request consists of a Uniform Resource Identifier (URI) to identify the sensor and CoAP headers. The gateway verifies that the requested device can be accessed (this is accomplished by the CoAP client providing an API token to the Gateway when establishing a Gateway session). Authorized requests are sent over the Wide Area Network (WAN) to the MiniAP.  Using the HDLC data link layer protocol, the MIlli5 shield then forwards the request to the CoAP server implemented in the Arduino (the Milli5 shield provides a CoAP proxy to faciltate this process). After the Arduino-based CoAP server gets the requested sensor data, it returns the data to the CoAP client as a CoAP response for processing.