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:
- Setup a CoAP server on your Arduino processor board as described in the Example Sensor implementation with the Milli Dev Kit
- Use the Starfish Reference Application - CoAP Client to use CoAP to communicate with your sensors
- Plot the sensor measurements using the Data Platform Plot Reference Application
The architecture diagram below shows how the Milli Temperature Sensor application connects with sensors and to the network to gather data.
- The sensors are connected to the Arduino Board part of the Milli Developer Kit.
- The Milli Developer Kit connects to a MiniAP or an IoT Edge Router with WAN mode over a local RF mesh network.
- The MiniAP or IoT Edge Router with WAN mode provides backhaul connectivity to the back-office software and the data platform Wide Area Network (WAN).
- 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.
- Responses to sensor data requests are forwarded to the Data Platform.
- 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 or IoT Edge Router with WAN mode. 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.