New Lora TTN Integration

TTN - WolkAbout Integration

The LoRaWAN protocol continues to grow through The Things Network, creating an expanding community network worldwide. WolkAbout has created a way to integrate its WolkAbout IoT Platform with The Things Network, providing a way to visualize device data and generate real-time analytics.

The following example will show you how to publish temperature readings to TTN. Check out the source code and instructions on this GitHub repository. You can use any hardware available, provided that you can access the Device EUI of your device.

To integrate the WolkAbout IoT Platform with The Things Network, perform the following steps:

  • Log into your TTN account
  • Choose Europe as the cluster

  • Then, choose Login with The Things ID

  • You will be prompted to the Console
  • Click on Create an application

  • Fill in the appropriate fields within the Add application screen
  • Click on Create application

Once you have created a new application on TTN, open the WolkAbout IoT Platform and do the following:

  • Open the Administration module and select the Tenant Configuration screen
  • Choose the Access Keys tab
  • Click on

  • This will open the Generate new access key sidebar
  • Provide the name and the desired expiration date for your access key
  • Click on Generate key

  • Once you have generated the access key, copy its bearer token to clipboard and open your TTN application once again

  • Inside your TTN application, navigate to the Integrations tab and then select Webhooks
  • Click on the Add webhook button

  • Choose Custom webhook for the template

  • Fill in the Add webhook dialog as shown in the image below
  • Click on Add webhook

  • Then, go to the End device tab and click on the Add end device button

  • Click on the Manually tab
  • Choose any LoRaWAN version from the drop-down list
  • For Activation mode, select the Over the air activation (OTAA) option
  • Choose any Frequency plan from the drop-down list
  • Generate AppEUI, DevEUI, as well as the AppKey
  • Enter End device ID or use the one generated by the application
  • Optionally, you can also enter the end device Description
  • Click on Register end device

The following screen should look like this:

Now that you have established a way for TTN and WolkAbout IoT Platform to communicate, you need to register a device on TTN through WolkAbout IoT Platform:

  • Inside the WolkAbout IoT Platform, access the Device and Edge Management module
  • Select the Device Type Management tab

  • Click on and select Create device type

  • This will open the Add new device type sidebar

  • Enter device type name and, optionally, description

  • For Connectivity, select WolkAbout Protocol

  • Select Standard for Provisioning flow

  • Click on Add device type

Since our example involves publishing temperature readings, you will also need to define one temperature sensor as follows:

  • Inside the Sensors tab, click on

  • Enter sensor name
  • Select Temperate/Celsius for Reading type/Unit
  • Enter sensor reference
  • Click on Add

Now you can proceed to create a device in the following manner:

  • Open the Device Management screen
  • Click on
  • This will open the Create device sidebar
  • Select the previously created device type from the drop-down list
  • Enter device name
  • For the Device key, enter the Device ID on TTN
  • For Connectivity Type, choose WolkAbout HTTP
  • Check the Create Default Semantic
  • Click on Save

The device is now able to send data, but you need to interpret it first by setting up Payload Formats:

  • Go to the Payload Formatters tab on your TTN application and choose Uplink
  • Select Javascript for Formatter type

Enter the following snippet as the decoder (this is just for this example):

function dec(byteArray) {
   var value = 0;
   for ( var i = byteArray.length - 1; i >= 0; i--) {
     value = (value * 256) + byteArray[i];
   }
   return value;
}
function decodeUplink(input) {
   T =  dec(input.bytes)
   return {
     data: {
     T
   },
     warnings: [],
     errors: []
   };
}
  • Click on Save changes

The first byte determines your self-defined device type to distinguish different devices. The second byte contains the whole number of the temperature reading, and the third byte contains the decimal part of the temperature value.

Now you can test the payload from your end device on TTN:

  • Select the End devices tab
  • Select the end device you have previously created
  • Then, select the Messaging tab
  • Here you can enter the payload, for example, 0B
  • Click on Simulate uplink

The output will be {T: 11}:

This is exactly the format WolkAbout IoT Platform is expecting to receive. Save these changes and switch over to WolkAbout IoT Platform to create a way to meaningfully display this data using the Visualisation and Monitoring module of the WolkAbout IoT Platform. For example, you can create a Reading widget:

The widget is displaying the formatted data being sent from your device through TTN:

You can also create a chart for your device data by choosing Temperature for type, the device as the scope, and Temperature as the feed:

You are now able to monitor how your device data has changed over time.

You can also create rules for your device inside the Logic Engine module of the WolkAbout IoT Platform.

For example, you can create a rule in order to check if the value is lower than a Static value of 15. If it is, you also want to send an email. To do this, see the details in the screenshot below:

You can now test the rule by switching to the device on TTN and simulating uplink with a value such as 0B that will trigger the rule and send you an email.