Sigfox is a relatively new low-cost wireless network technology that requires low power to connect, and that is implemented by lost cost hardware modules. Although they are limited in terms of the size of messages (12 bytes maximum) and the frequency that the devices can send out data (140 times a day), several new applications can be achieved with Sigfox. More information about how Sigfox works can be found here.

TagoIO is ready to receive data from and send data to Sigfox devices. There are three types of interface methods used between Tago and Sigfox services. Uplink is the process to send data from the modules to Tago. The Downlink is used to send data back to the module every time it checks in – the data to be sent down should be ready prior to the check-in. And the last method is the Error, that informs when there is a communication loss for any Sigfox module.

Adding your own Sigfox module to TagoIO is very easy to be accomplished; just follow the steps described below to setup the configurations at the Sigfox Backend and TagoIO.

Uplink

You need to prepare the uplink in order to send data from you Sigfox module to Tago. The uplink configuration will be separated into two parts: TagoIO configuration, and Sigfox configuration using the Sigfox Backend Portal.

TagoIO setup

In your account, you need to create a Device, and a Device-Token to receive data from the Sigfox portal. By selecting the device type: Sigfox and entering the information below, the device-token will be automatically created.

Sign in your account at TagoIO, and follow these steps:

1. Click on Device button;
2. Click on "Add Device" button;
3. Look for "Sigfox" and select it;
4a. In the field "Device Name", add any name to your device;
4b. In the field "Sigfox Device ID", add your Sigfox Device ID;
4c. [Optional] In the Verification-code field enter any secret text. You should type be the same you will enter in the Sigfox callback header field.
5. Click on the Create Device button.

The Verification Code field is not required, but it adds security to your integration. If you add here, you need to use the same text in the Verification code field inside your Sigfox callback function.

Sigfox Setup

On the Sigfox Backend Portal, you need to create a callback type uplink.

Sign in your Sigfox account, and follow these steps

1. Click on Device Type;
2. After clicking the Device type, the list of your devices will appear, choose one;
3. Click in the Callback button;
4. Click the New button;
5. Select the option Custom callback;
6. Configure the uplink.

CALLBACK CONFIGURATION

- Type:  DATA & UPLINK
- Channel: URL
- URL pattern: https://sigfox.middleware.tago.io/uplink
- Use HTTP Method: POST
- Send SNI: Check the box "Send SNI".
- Headers: Add two rows in the Headers section inside the header and value fields:

 header value
 device  {device} Required. Enter text exactly as shown.
 verification-codeyour_secret_code_here

[Optional] Use the same text input during the device creation at TagoIO.

- Content-type: application/json
- Body: Copy and paste the JSON text below into the body field. This JSON will take care of the parse to prepare the data coming from your Sigfox module to TagoIO.

[{
    "variable": "device",
    "value": "{device}",
    "serie": "{time}"
},{
    "variable": "duplicate",
    "value": "{duplicate}",
    "serie": "{time}"
},{
    "variable": "snr",
    "value": "{snr}",
    "serie": "{time}"
},{
    "variable": "rssi",
    "value": "{rssi}",
    "serie": "{time}"
},{
    "variable": "avgSnr",
    "value": "{avgSnr}",
    "serie":"{time}"
},{
    "variable": "station",
    "value": "{station}",
    "serie": "{time}"
},{
    "variable": "data",
    "value": "{data}",
    "serie": "{time}"
},{
    "variable": "seqNumber",
    "value": "{seqNumber}",
    "serie": "{time}"
}]

Your uplink setup screen will look like the image below:

Your uplink integration is completed!

Information about Downlink setup can be found here.

You can create parse scripts for your device that extracts variables from the payload. The complete payload parser documentation is here.