SiLabs Simplicity SDK

This guide explains how to integrate the Hubble Device SDK into a Simplicity SDK (SiSDK) project. The SDK ships as a Simplicity SDK extension (hubble-network.hubble-device-sdk). Projects add it through their .slcp file, and the SLC tooling pulls in the SDK sources, include paths, and configuration.

Note

Only the Hubble Terrestrial (BLE) Network is currently supported on Simplicity SDK FreeRTOS.

Prerequisites

  • A Silicon Labs board with Bluetooth® Low Energy support.

  • The Hubble Device SDK cloned or added as a submodule.

  • Device key (generated when you register a new device to your organization through the Hubble Cloud API).

Set the following environment variables before continuing, e.g.:

export SISDK=/path/to/simplicity_sdk
export SLC=/path/to/slc_cli/slc
export COMMANDER=/path/to/commander
export HUBBLE_SDK=/path/to/hubble-device-sdk

Tip

See Useful paths for where Simplicity Studio and SLT install these tools.

Installing the Extension

SLC discovers extensions under the Simplicity SDK’s extension directory. Link the Hubble Device SDK there and register both the SDK and the extension as trusted:

mkdir -p $SISDK/extension
ln -s $HUBBLE_SDK $SISDK/extension/hubble-device-sdk

$SLC configuration --sdk $SISDK
$SLC signature trust --sdk $SISDK
$SLC signature trust -extpath $SISDK/extension/hubble-device-sdk

Adding Hubble Network to a Project

  1. Open your project’s .slcp file to launch the Project Configurator.

    Opening the project's .slcp file in Simplicity Studio
  2. Go to Software Components and search for Hubble.

    Searching for Hubble in Software Components
  3. Select Hubble Device SDK Component (under Hubble → BLE) and click Install.

    Installing the Hubble Device SDK Component

Configuration

The SDK is configured through hubble_config.h. See $HUBBLE_SDK/port/sisdk/hubble_config.h for the available options and their defaults.

In the Project Configurator, open Software Components, select Hubble Device SDK Component, and click Configure.

Configuring the Hubble Device SDK Component

Building and Running Your First Application

The following steps build and flash the ble-beacon sample. Replace brd4187c with your target board.

Embed the device key and the current time into the sample sources:

cd $HUBBLE_SDK/samples/freertos/silabs/ble-beacon
$HUBBLE_SDK/tools/embed_key_time.py -b master.key -o src/

Generate a Simplicity Studio project:

$SLC generate -tlcn gcc -np -p ble_beacon.slcp \
    -d /path/to/workspace/ble-beacon --with brd4187c

Then in Simplicity Studio go to PROJECTS → Open Project(s), select the generated ble-beacon directory, and build and flash as usual.

See the sample’s README.md for key formats and troubleshooting.