Using Arbela as Kaa IoT Dashboard – in 5 steps!

Arbela with Kaa IoT Platform

Overview

Kaa is an Open Source IoT Platform that enables one to connect and manage IoT devices via the cloud. Its modular and scalable architecture makes it a great Open Source platform that can be easily extended. Kaa platform is more of a middleware without its own dashboard to monitor the devices. In this article, we will see how we can extend our Real-time Monitoring with Arbela and PubNub discussion to let Kaa push the data to the PubNub data stream and start monitoring Kaa Endpoints (EPs) with Arbela.

The below diagram depicts the solution architecture where the Endpoints are connected to Kaa platform. Kaa uses a custom PubNub Log Appender to push the messages arriving from the EPs to a PubNub channel to which Arbela has subscribed:

Arbela PubNub Kaa IoT

Getting Started

We need to get Kaa server running. Also, we need tools to build and run the Endpoint client. So, let us setup our environment.

Installing Prerequisites

  • Java SDK 1.8
  • Oracle VirtualBox VM – latest version – required to install and run Kaa sandbox

Starting Kaa Sandbox

  • Download and install Kaa Sandbox VM image. Upon successful installation, you shall see Kaa Sandbox Ubuntu 64 bit server listed, as shown below:

VirtualBox Kaa Sandbox Stopped

Right click on it and Start the server. Verify that you are able to access the Kaa Sandbox using the following URL, which is displayed on the VM console:

VirtualBox Kaa Sandbox Ubuntu

You shall see the Kaa Sandbox with the pre-built applications, as shown below:

Kaa Sandbox Applications

Verify that you are able to access the Admin client using the following URL:

You shall see the Admin client prompting for login, as shown below:

Kaa Admin Client

Our Kaa server is running and the clients (Sandbox+Admin) are ready. Let us get started.

Step 1: Creating Application

First, we need to create a Kaa Application.

Log in to Kaa Admin client as Tenant Admin using the following credentials:

Username: admin

Password: admin123

Kaa Add Application

Click on Add application button to create a new application with the following detail:
Kaa New Application

  • Title: any text of your choice. E.g. PubNub Demo
  • Credentials service: Trustful

Click on Add button. The newly added application shall appear under Applications node on the left hand side, as shown below:

Kaa Added Application

You may read the official Kaa document – Your first Kaa Application – for more detail.

With the application created, logout from Admin client.

Next, we need to configure the schema so that Kaa knows how to serialize and deserialize the messages between EP and control server.

Step 2: Configuring Schema

Save the following schema definition in a file, say, kaa-log-schema-v2.avsc:

Login to Kaa Admin client as Tenant Developer using the following credentials:

  • Username: devuser
  • Password: devuser123

 

Expand PubNub Demo node under Applications. Expand Schemas node and click on Log. You shall see a default schema added, by default. However, for our device, which will send a message like:

We need a different schema to be configured. Click on Add Schema button to add a new schema. Enter the following detail:

Kaa Log Schema

  • Name: Any name of your choice. E.g. Device Schema
  • Description: Text describing the log schema. E.g. Used to send log messages from the device
  • Upload from file: Select the .avsc file that we created earlier and upload it.

 

Click on Add button to add the new schema. You shall see the newly added schema under Log schemas, as shown below:

Kaa Log Schema

Step 3: Configuring PubNub Log Appender

Select Log appenders and click on Add log appender button to add PubNub Log Appender to this application with the following detail:

Kaa Add Log Appender

  • Name: any name of your choice. E.g. PubNub Appender
  • Min schema version: 2
  • Max version: Infinite
  • Confirm delivery: Checked
  • Type: PubNub. This will bring up the configuration specific to the selected log appender.
    • Publish Key: Your PubNub publish key
    • Subscribe Key: Your PubNub subscribe key

 

Click on Add button to add the PubNub Log Appender to the application, as shown below:

Kaa Log Appender Added

Step 4: Building Endpoint Client

Select SDK Profiles node under PubNub Demo application node and click on Add SDK Profile button to add a new profile, with the below detail, to the application using which we will develop the Endpoint client:

Kaa Add SDK Profile

  • Name: Any name of your choice
  • Configuration schema version: 1
  • Client-side EP profile schema version: 0
  • Notification schema version: 1
  • Log schema version: 2

Click on Add button to create the new profile, as shown below:

Kaa SDK Profile Added

Click on button under Generate SDK column to generate the SDK for our Endpoint client development. It will prompt you for the platform selection, as shown below:

Kaa Generate EP SDK

In this article, we will build a Java client for our EP, so select Java as the Target platform and click on Generate SDK to download the SDK JAR file (say, kaa-java-ep-sdk-KqzP3TawTWepjl4jQ7wPg5XiAUg.jar) for the client development.

Now, use your favourite Java IDE (e.g. Eclipse) to create a Java project and add the generated SDK JAR to its build path. Add a class, say, PubNubEP with the following code to send messages from EP to the Kaa control servers:

Save the file and build the project. Run this client to send the following message to the Kaa server:

So, the message from the EP is being sent to the PubNub data stream cloud. Now, let us connect the last piece in the Jigsaw!

Step 5: Connecting Arbela

Open Arbela in your browser. Add a new datasource with the following detail:

Arbela Add Card

Add a new card with the following detail:

Arbela Add PubNub Datasource

Click on Save button and you shall see the data from the device being displayed inside the card, as shown below:

Arbela with Kaa log via PubNub

Eureka! Our setup is ready to connect and monitor any Kaa device!

Summary

In this article, we talked about using Kaa, PubNub, and Arbela to provide an end-to-end solution to the users to connect, manage, and monitor their devices, in real-time.

To learn more about Walking Tree’s IoT, PubNub, and Kaa offerings, please send your inquiries to connect[at]walkingtree[dot]tech or submit your query on the Contact Us page.

References

Kaa IoT Platform

Arbela Website

Arbela Demo

PubNub

Related Posts

Comments (1)

Thank you very much for this article. I have a question

I would like to carry out tests with Kaa Sandbox .. I would like to use as endpoint a ds18b20 temperature sensor (with NodeMCU) and to recover the data via an MQTT broker. my question is how to connect the broker to the Kaa platform and be able to view the data on the dashboard..Thank you

Leave a comment

Translate »
Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.