Part I: Connect Sigfox Data to Beebotte

This is Part I of a two parts tutorial covering the integration of Beebotte with Sigfox IoT network.

In this tutorial, we will show how Beebotte can be connected to Sigfox platform to collect sensor data and present it in a visual dashboard. In Part II, we will show how to use Atlas, Sigfox's Geolocation service, to track the location of a device with Beebotte.


This tutorial assumes that you have successfully registered to Beebotte and obtained your API and Secret keys.

Tutorial contents:

Prerequisites

We will use an Arduino MKRFOX1200, a powerful board with Sigfox connectivity. We will use a DHT11 humidity and temperature sensor to periodically send sensor data to Sigfox.

We assume here that you already associated your Sigfox capable device to Sigfox network.

Create Beebotte Channel

In order to receive data from Sigfox, we need to create a Channel with two resources for humidity and temperature.

In your account home page, click on Create New and follow the instructions to create your channel.



Now your Beebotte account is ready to receive data. Copy the channel token, we will use it when configuring Sigfox to forward data to this channel.


Set Sigfox Data Callback

Now let's move to Sigfox backend.

  1. Login to your Sigfox account
  2. Goto device type list
  3. Select your device type from the list
  4. Open Callbacks and click New then select Custom Callback



Configure the callback as follows:

  1. Callback Type: select Data - Uplink
  2. Channel: select URL
  3. Url pattern: https://api.beebotte.com/v1/integration/sigfox/data
  4. Custom payload config: this option tells Sigfox how to parse the data it receives from the device. We will be sending two float values for humudity and temperature reading. Keep in ming that Sigfox message is a byte array of up to 12 bytes. This custom configuration is a simple way to transform the message into corresponding values.
  5. humid::float:32:little-endian temp::float:32:little-endian
  6. Ue HTTP Method: select POST
  7. Headers: add X-Auth-Token header and set its value to an IAM Token with data write access. If you have only one device under the device type, you can use the Channel Token.
  8. Content type: set it to application/json
  9. Body: Set to the JSON object below. See how we are using the variables defined in the custom payload to construct the message. Keys in resources must match those of the corresponding Beebotte channel.
  10. {
      "device": "{device}",
      "time": {time},
      "resources": {
        "humidity": {customData#humid},
        "temperature": {customData#temp}
      }
    }
    



Congratulations!!! Your Sigfox account is now connected to Beebotte. When your device sends a message on Sigfox network, you will receive it on your Beebotte Channel.


Lets create a dashboard now to visualize received data.

Create a Dashboard

In your account page, goto My Dashboards and click Create Dashboard; enter a friendly name and a short description of your dashboard then add 2 Attribute Widgets and 1 Multiline widgets. For every widget, indicate the channels and resources where data will be read from. Voilà.