The Milli Temperature Sensor reference application provides a web application for plotting temperature sensor measurements retrieved from the Data Platform using the Data Platform APIs.
To set up the Milli Temperature Sensor reference application:
- Setup the reference Itron Sensor API package on your Adafruit Metro M0 Express processor board as described in Example Sensor implementation with the Milli Dev Kit.
- Use the appropriate Itron reference application client to communicate with your Developer Kit sensors. Itron strongly encourages integrators and developers to consume alerts/alarms through MQTT instead of CoAP OBSERVE.
- Plot the sensor measurements using the Data Platform Plot Reference Application
Option 2a - MQTT
Option 2b - CoAP
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 Adafruit Metro M0 Express board (the application processor). The sensor code runs as part of the Sensor API (and imbedded CoAP server package.
- The Milli Developer Kit connects to an IoT Edge Router in WAN mode over a local RF mesh network.
- The IoT Edge Router provides backhaul connectivity to the Itron Starfish network back-office software and the data platform Wide Area Network (WAN).
- Sensor data (temperature) is sent across the network as MQTT and an MQTT client (running on a PC or Linux server) retrieves the sensor data as MQTT messages.
- Alternately the CoAP Observe model can be used where a CoAP request with observe option is sent from a CoAP client (running on a PC for example) to the Sensor API package running on the application processor. The sensor temperature data is returned to the CoAP Client as an Observe response. CoAP requests and responses are always proxied by a Itron network Gateway.
- Responses to sensor data requests are forwarded by the CoAP or MQTT client application to the Data Platform.
- The Milli Temperature Sensor application processes the sensor data for analytics or display purposes.
MQTT is a publish/subscribe model (aka "bubble-up") with the data transmittal initiated by the Milli configured for MQTT. The data is collected by the MQTT client application which subscribes to the proper MQTT topics using the MQTT API. The MQTT API verifies that the requested device data can be accessed by the (this is accomplished by the MQTT API client connection providing an API token and the token checked to verify permission to access the data). Authorized requests are sent over the Wide Area Network (WAN) via an IoT Edge Router in WAN mode to the MQTT Broker for delivery to the MQTT client subscriber.
In the case of a CoAP Observe implementation, CoAP requests with observe option originate from a CoAP client and are proxied by 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 an IoT Edge Router in WAN mode to a Developer Kit via the RF Mesh. The CoAP request is proxied by the Milli to the Sensor API package in the application processor, which registers the Observe and generates future observations, which are pushed to the CoAP Client by the Gateway.
Installing the Milli Dev Kit Reference Application is the last step in MIlli Developer Kit Getting Started Guide.