SensiML provides an end-to-end software solution for data capture, data modeling, and firmware generation for on-device inference for low-power resource-constrained devices. While some projects may require the full command and control of the MQTT-SN Interface Specification, others require far less interaction, especially for prototyping with an off-the shelf Arduino or similar board.

To support this need, we have implemented a simple interface in which the Data Capture Lab can read information from these devices.


The document can be broken down into 3 main parts:

  1. Describing output data: Guide to setting up the self-describing JSON output of this interface. The first thing a device does after boot is send a message describing how it is configured. Since this is baked in to the firmware, no command and control is done by the Data Capture Lab.

  2. Output of Sensor Data: Guide for implementing the data output portion of the firmware with this interface.

  3. Streaming Data Over Wi-Fi: Guide for streaming data over Wi-Fi with the Simple Streaming interface.

  4. Streaming Data Over BLE GATT: Guide for streaming data over BLE connections with the Simple Streaming interface.

  5. Validating Simple Stream Implementation: Guide and script for validating Simple Streaming Interface implementation on a device.