The IoTMark-BLE benchmark profile models a real IoT edge node consisting of an I2C sensor and a BLE radio through sleep, advertise, and connected-mode operation. By running the benchmark, designers can better understand trade-offs between energy consumption and the selected connection interval, frequency, and sensor characteristics (such as buffering), among others. For example, the adjacent graph compares the energy cost of shorter and longer connection intervals for a group of three devices.
Firmware for the benchmark consists of the behavioral definition and the porting layer API. The API must be modified to accomodate the target hardware, and is written at a sufficient level abstraction to interface with all popular BLE SDKs.
The IotMark-BLE profile establishes a clearly defined communications path between an emulated sensor, the edge node processor and an emulated gateway as shown in Figure 2. The benchmark measures the energy required to power the edge node platform and to run the tests fed by the benchmark. The IO Manager emulates the sensor in a real application and feeds data to the device under test (DUT). A verification test at the output of the radio ensures that the device actually read the sensor data.
The IoTMark-BLE user interacts with the DUT using the interface shown in Figure 3, which allows a number of tightly defined parameters to be set, such as the platform voltage, how many bytes are read in the I2C phase, the speed of the I2C bus, the number of bytes the gateway sends to the device, and the advertise and connect transmit power. Default values are provided to enable apples-to-apples comparisons between DUTs, but the user can vary these to turn IoTMark-BLE into an analysis tool that shows the sensitivity of a design to each of the included parameters.
In order to run the benchmark and submit scores, you must obtain a license.