Murano Sigfox Integration

Sigfox is a French global network operator founded in 2009 that builds wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data.

Table of Contents


In order to make Sigfox works on Murano platform, we need to do some integration first. This includes:

  1. Sigfox setup: it will create group, api and devicetype in Sigfox Backend.

    • group is normally a company name.
    • api refers to api access credentials, it includes a apiUser and apiPassword, you can create it in sigfox.
    • devicetype is a collection of same type devices, it is denoted by a unique id created by sigfox when we create a devicetype in sigfox.
      we need to use those variables in Murano in order to connect sigfox with murano.
  2. Murano setup: we need to fill in the apiUser, apiPassword, sigfox domain and callback definitions in murano Services -> Sigfox setting page.

    • sigfox domain, apiUser and apiPassword is used for accessing sigfox backend api.
    • callbacks includes deviceTypeId and payload configs.
      payload configs includes resource definitions.
      resource defines the data received from a Sigfox device for a given deviceTypeId. The resource name indicates the target Murano Device2 resources in which the Sigfox data will be saved. The type defines how to decode the data.

See below for more details.

Murano Integration

Murano integrates both a micro-service and an IoT-Connector template.

The Sigfox Micro-Service provides:

How Sigfox works

The Sigfox Iot-Connector template provides:

Unless necessary, always use the Sigfox Iot-Connector template.


Sigfox Preparation

Before getting start you will need a Sigfox backend Account ready to accept devices connectivity.

1. Create a group in Sigfox backend

Create a group in Sigfox backend

2. Create an API access in the group

Create an API access in the group

3. Create a devicetype in the group

Create a devicetype in the group

Create a devicetype in the group 2

Create a devicetype in the group 2

4. Check the domain, apiUser and apiPassword

Check the domain, apiUser and apiPassword


Murano Setup

1. Add Sigfox Service & Sigfox-Product template to your Business

On Murano Exchange, search for 'Sigfox' under 'Service' section and click 'ADD SERVICE'. Then find 'Sigfox-Murano-Product' under 'Solution Templates' and click 'CREATE PRODUCT'. If you are not familiar with Murano’s Exchange Element, you can refer to this doc: Adding Exchange Elements.

2. Create Product Solution from Sigfox-Product template

Refer to this detailed page about how to Create an IoT Connector

Note: Remember to choose Sigfox Connector as the template in IoT Marketplace. Select Sigfox Connector

3. Configure Sigfox Service

On the Sigfox Product 'Services' tab configure your Sigfox account information. Configure Sigfox Credential

Then add a configuration for your Sigfox 'DeviceType' under the Callbacks list.

Important Notes:

Configure Sigfox Callback

Configure Sigfox Payload

Have a look to the detailed format for each configuration field on the Micro-service Sigfox reference.

Also to define the payload configs representing the 12 bytes sent by the device, read the Sigfox decoding-Grammar page.

Remove a specific callback by clicking on the "..." icon on the right.

Remove Sigfox Callback

Click "APPLY" button after filling up all the configuration.

4. Check the callback in Sigfox backend

Now, your Sigfox deviceType contains a new callback targeting Murano!

Check the callback

Now, if you activate the device to send uplink data, the device along with sent data should be displayed in Murano User-Interface under the IoT-Connector page.

Devices will get automatically provisioned to Murano when receiving the first uplink message.

Product Resources Setup

Murano product defines the data model available for a given product and usually requires configuration.

Luckily, the Murano-Product-Template automatically configure your product resources from the configured Sigfox resources so no additional set is needed.

However, if you have interest about the resources definitions, please refer to this link to learn more.

(For ExoSense only) Channel Setup

ExoSense application requires the product defining the available data channels available in a config_io resource. Again this template automatically builds the schema from the Sigfox configuration and ExoSense applications connected to the product will display the Sigfox data out-of-the-box.

You can still utilize the ExoSense Channel configuration to customize the look and feel for those channels.


Customization

Warning: Following are intended for advanced Murano developer.

Sigfox Product Template is Open-Sourced and you can customize its behavior to fit your own needs.

Fork the Sigfox-product branch repo into your own account and modify its Lua logic as required.

To use your template refer to the Authoring-elements-guide and the Solution-Template-Example.