Developer Guide

Acquiring IoT Platform

IoT platform is a SaaS-based application where you can connect and monitor millions of devices. The Platform comes with the multi-tenancy and user management inbuilt which helps you to allow your users to manage their devices individually. You can run it on on-premise, and also in any cloud instance under your own brand (White label product). In our IoT Platform, we have an evaluation called publicmqtt.bevywise.com

In this, you can sign up and log in with your account and you can connect your device or access the User interface with the dedicated / respective set up provided. To upgrade to premium version, follow this link or contact support.

System Requirements (For Premium Users)

To get started you should need a Ubuntu 16.04 instance with below requirement in any cloud platform like AWS or rack space. You can host the Bevywise IoT platform based on our instruction guide or we will host it in your cloud instance.

Below are the minimum system requirements needed to deploy the Bevywise IoT platform.

  • Memory – 512 MB RAM or more.
  • Any Cloud Server which has Ubuntu instance
  • Ubuntu instance – 2
  • CPU – 4 [Shared 2,2 for two instances]
  • CPU Core – 4 core [Shared 2,2 for two instances]
  • RAM – 16 GB [ Shared 8,8 for two instances]
  • Hard disk – Based on your data rate
  • OS – Ubuntu 16.04 or higher
Functional Components of Bevywise IoT Platform

Bevywise IoT Platform consists of the following components:

Message Broker

Bevywise IoT Platform has MQTT based message broker which provides secure communication between the device and Bevywise IoT application to send and receive messages from each other, also it will store the collected data in Elastic search for powerful data analysis and visualization.

Rule Engine

Bevywise IoT Platform has a powerful condition-based rule engine which helps the user to forward alert messages to the subscriber based on the received topics with corresponding messages. Users can also create rules for each key in a complex JSON message.

Security and Authentication

Bevywise IoT platform supports TLS/SSL mode which provides a secure mechanism and data encryption between device and Bevywise IoT application. Bevywise IoT Platform also has device authentication for secure data transfer from end device to message broker.

Instant Command

Bevywise IoT Platform helps to send a command or message to a particular device or to the group of devices that listen or subscribe to that topic. Through this users can test and get data for monitoring.

Data Visualization

Bevywise IoT Platform was built over a powerful customizable visualization which helps the user to customize the data analytics based on their need. Bevywise IoT Platform also plot chart if the data or messages are in JSON format and users can add multiple fields based on JSON key and values which make data analytics better and more powerful.

Custom Dashboard

The utilities of Dashboards differs with Industrial or Commercial requirements. The default dashboard may or may not suffice hence, the real benefit of dashboard lies in creating & customizing it the way you desire. The Custom dashboard option in the IoT platform facilitates you to bring all your Industrial / Business key metrics in one place.

Widgets

Widgets display trends over a period that allows users to build a dynamic user interface rapidly for your IoT applications, processing real-time data from the physical & simulated devices. It captures performance metrics & key indicators to give you a real-time view of the state of your business.

Bevywise IoT platform offers 9+ types of widgets that are scalable to fit all industrial deployments.

  • Text
  • Color
  • Table
  • Line Chart
  • Bar Chart
  • Gauge chart
  • Donut chart
  • Vertical gauge
  • Horizontal gauge
  • LED Light
  • Switch
User Interface

Bevywise IoT platform has an elegant and transparent user interface in which any user can monitor devices and data without any complexity. Since all components configurations, monitoring and data analytics are done via the user interface, any new user can easily understand and configure without the help of administration. Bevywise IoT platform also has a separate user interface for users and administrators.

Data Storage

Bevywise IoT Platform store data in Elastic search which scales the IoT platform to millions of data. Storing data in the Elastic search not only increase storage but also increase the performance, data transfer rate and give way for powerful data analysis.

Single/Multi-Tenancy

Bevywise IoT Platform is flexible for both single and multi-tenancy implementation.

Single-Tenancy

Our IoT platform will also act as a single tenancy for the customer who wants to implement the IoT platform and has a stand-alone server.

Multi-Tenancy

Our IoT platform has SaaS-based, multi-tenancy architecture which helps the user to serve multiple customers. Using this architecture, users or service providers can deploy the IoT platform in a single instance and give individual web access for each customer to share the resource from the single instance. Also, we provide an Admin console for the provider to monitor each customer and their device.

For example, a Home automation provider will implement their sensor kit in multiple customer’s homes. If the provider implements a stand-alone platform for each customer, then it will increase maintenance & development cost and also make monitoring harder. To overcome this, the provider can deploy our platform in the cloud server and give web access or login for each customer. Individual web access helps customers to monitor their device individually and also resources like databases etc are shared from the single instance which will save cost and time.


login

Voice integration

Voice integration plays a vital role in home automation. It has many merits like time-saving, cost-effective and easy to control all devices without interacting with the device. So, we integrate our IoT platform with Google assistance and Amazon Alexa.

Note : This feature is only for Premium users. Get Premium version or contact support.

Google Assistance Integration

Below steps help you to integrate the IoT platform with Google assistance.

Basic Configuration :
1. Enable the Google HomeGraph API
  • Login to Google cloud platform console.
  • In the Cloud Platform Console, go to the Projects page. Create a new project if you don’t have or if you already have an existing project, open it.

Note: Ensure that you are using the correct GCP project when performing these steps. This is the project that matches your smart home project ID.]

  • Enable the Google HomeGraph API
  • Next, create a Service Account key.
  • Once it has done, “bevywise-iot-platfom-android-sdk-master” will be created in your location
2. Create a Service Account Key
  • In Home Graph API page, click Credentials from the left panel list.
  • Click “Create Credentials” and select “Service Account Key”
  • In the Service account drop-down, select the “New service account”
  • Give “Service account name” and select “Service Account Token Creator” in “Service account” as a Role. For service account id leave as such.
  • Select, key type JSON and click Create
  • The JSON file will download automatically and you must move this file to your cloud server where the Bevywise IoT platform will deployed since the path of this JSON should be specified in the IoT platform user interface conf file.
3.Create an API key
  • In the Home Graph API page, click Credentials from the left panel list..
  • Click “Create Credentials” and select “API Key”
  • You can see the API key string in the pop-up windows. Copy and paste the key in the Bevywise IoT platform user interface conf file.
Configuration in Bevywise IoT platform :
  • Once the IoT platform is deployed in your cloud server, you must get web access to the IoT platform. In that, you can sign-up and login with a mail account.
  • After login, go to below URL to set up OAUTH authentication, since Google APIs use the OAuth 2.0 protocol for authentication and authorization.
  • https:// < server dns name > /o/applications/

  • In that page, click “New Application” and fill the details as below
  • Name: Any unique name
  • Client ID & Client secret: these will create automatically. [don’t change it and make a copy of it]
  • Client type : Confidential
  • Authorization grant type: Authorization code
  • Redirect URL : https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID [ Reference – 0auth doc]
  • Click save.
Configuration in Google cloud platform :
1. Action Console
  • Login to the Action console with your GCP account
  • Click “Add/import project”. In the pop-up window create a new project by giving the project name or choose the project which you have created in the GCP console
  • Once you have done, you will redirect to the “Welcome page” and there select “Home control”.
  • Next, select “Smart home” and it will lead to the “Action on Google” window.
2. Invocation
  • Click “Invocation” and give a unique name [this name is to begin interacting with your Actions. For example: if the display name is smartswitch, users can say “Hey Google, Talk to smartswitch” and also this name will be displayed in the Google assistance android app]
  • Select option as per your requirement for account creation, by default it will be “No, I only want to allow account creation on my website” and click next.
  • For Linking type, select OAUTH & Authorization code from the drop-down list and click next
  • For Client information, give as below

  • Client ID: Paste the client id which you have created in IoT platform[refer “ Configuration in Bevywise IoT platform”]
  • Client secret: Paste the client secret which you have created in IoT platform [refer “Configuration in Bevywise IoT platform”]
  • Authorization URL: Specify as below
  • https:///o/authorize

  • Token URL: Specify as below
  • https:///o/token

  • Configure your client: Specify the permission for your user. [optional]
  • Testing instructions: Here give the Bevywise IoT platform login account details like user and password. With this google will verify the account.
  • Once done, click save to link the IoT platform account to Google Home
4. Action

Here you should specify the IoT platform API, through which google will get data from the IoT platform.

  • Click “Action” from the left panel.
  • Give the URL as https:///bwiot/api/v1/devices/googlesync
  • Next, click Save
5. Deploy[optional]

In the Deploy tab, you can add your company information, location information, Directory information and more.

To integrate IoT platform with Google assistance app :
  • In Android mobile, go to the Google assistance home page.
  • In Google assistance, click the user icon[ check whether both GCP account and android login account are the same] and select “setting”.
  • In the setting page, select the “Assistant” tab.
  • Below “Assistance”, select “Home control” and it will lead to the Home control page.
  • On that page, click + icon on the bottom and you can see the created smart home skill. Example: smartswitch [refer Invocation]
  • Click the skill and you will lead to the IoT platform login page. Login with the existing account.
  • Now, the IoT platform will sync to Google assistance and in Google assistance, you can see all the IoT platform connected device
Amazon Alexa Integration

Integrating Amazon Alexa to the IoT platform is done through the Lambda function. In the Lambda function, you can embed our code or you can write your own code in preferred language[like python, node.js, etc] to trigger the IoT platform API. Once we have done, we will integrate the Lambda function ARN to Alexa smart home. So, when we give a voice command to Alexa based on the skill set write in Lambda, it will automatically trigger the API request to the IoT platform and get the required data. Below steps will help you to integrate Amazon Alexa to IoT platform

Configuration in Amazon :
1. Creating a Lambda function

Prerequisite to create a Lambda function :

Before creating a Lambda function, you must create Identity and Access Management [IAM] role for Lambda and Alexa skill kit.

To create identity and Access Management [IAM] role :
  • Sign-in to AWS console
  • Select “IAM” to create roles
  • In “IAM” windows, select Roles and click “create Role” to create a new role.
  • In the “create Role” window, below “AWS service” option, select Lambda and click Next.
  • In “Attach permissions policies” window, search and select “AWSLambdaBasic ExecutionRole” and click next.
  • “Add tag” is optional, if you like, you can add a tag or click next.
  • In “Review” window, give a name for the role and click “create role”
To create Alexa skill set :
  • Sign-in to Amazon developer console [Sign-in with same AWS account]
  • Select “Alexa skills kit” below amazon Alexa
  • In “Alexa developer console”, click “create skill
  • Give Skill name and choose the language
  • Select as below
  • “Choose a model to add to your skill” as “Smart Home”
  • “Choose a method to host your skill’s backend resources” as “Provision your own”
  • Click create.

[Note: Take a copy of the skill id in Smart Home tab]

To create a Lambda function :
  • In AWS console, select Lambda from AWS services
  • In the Lambda window, click “Create function” button to create a new function
  • Next, below “Basic information” give a unique name for the function and choose the language which you prefer.
  • Below Permission, click the drop-down to Choose role and select “Execution role” as “Use an existing role”
  • In “Existing role”, select the previously created “IAM role” from the list and click “Create function”
  • Next, go to the created Lambda function and select “Alexa Smart Home” from the left panel.
  • Below “Configure triggers”, give the previously created Alexa skill ID for the Application id and click “ADD” to create Lambda function
  • Now the function will be added and before start writing your code in Lambda function, you must integrate the Lambda function and Alexa Skill which you have created before.
2. Integrating Alexa skill and Lambda function
  • Go to Amazon developer console and select “Alexa skills kit” below amazon Alexa
  • In “Alexa developer console”, select the created Alexa skill
  • In “Smart Home” window, select as follows
  • Payload : v3 (preferred)
  • Smart Home service endpoint:
  • Default endpoint*: < Copy and paste the ARN from the create Lambda function>
  • Geographical region is optional, you can choose as per your need. Click save.
  • Once you save, the Lambda function will be integrated with Alexa skill and you can start writing your code in the Lambda function.

[Note: Don’t close the Alexa skill kit]

3. Integrating Alexa skill kit and Bevywise IoT platform

To integrate Alexa’s skill set, we should create an OAUTH in Bevywise IoT platform, since Amazon Alexa API’s use the 0Auth 2.0 protocol for authentication and authorization.

To create OAUTH in Bevywise IoT platform :
  • Sign-up and login into Bevywise IoT platform
  • After login, go to below URL to set up OAUTH authentication,
  • https:// < bevywise server dns name> /o/applications/

  • In that page, click “New Application” and fill the details as below
  • Name: Any unique name
  • Client ID & Client secret: these will create automatically[don’t change it and make a copy of it]
  • Client type : Confidential
  • Authorization grant type: Authorization code
  • Redirect URLS: < Copy and paste any one of the Redirect URL from Account linking in Alexa skill set>
  • Click save and you will get a copy of the OAUTH details
  • Now go to Account linking in Alexa skill kit and start filling the OAUTH details.
To integrate IoT platform to Amazon skill kit :
  • Go to create the Alexa skill window.
  • Select “Account linking” from the left panel and give the details as follows
  • Authorization URI*: https:// < bevywise server dns name > /o/authorize
  • Access Token URI* : https:// < bevywise server dns name> /o/toke
  • Client ID*: < Copy and Paste it from Bevywise OAUTH details >
  • Client Secret*: < Copy and Paste it from Bevywise OAUTH details>
  • Client Authentication Scheme*: HTTP Basic
  • Scope: Add two scope, read and write.
  • Default Access Token Expiration Time: 3600
  • Redirect URLs: Leave as such
  • Once done, click save to link the IoT platform account.
  • Next select, Permission from the left panel and enable “Send Alexa Events”
  • You will get a Client id and Client Secret. Take a copy of it.
To integrate IoT platform with Amazon Alexa app :
  • Download and install the Amazon Alexa app from the android playstore or ios app store.
  • Sign-in with to the Amazon Alexa app[Sign-in with same AWS account]
  • Go to Device tab and click “YOUR SMART HOME SKILLS”
  • The created Smart home skill will automatically appear in the list and click that skill.
  • Next, click “Enable to use” and it will lead you to the IoT platform sign-in page. There sign-up with your account to integrate into the Alexa app.
SSO and IAM Tool integration

Our IoT platform has a pre-build custom hook that helps the customer to integrate the IoT platform with SSO & IAM tool for user & device authentication respectively

Note : This feature is only for Premium users. Get Premium version or contact support.


User Authentication Using SSO

SSO is an integration of Identity and Access Management(IAM) from a common server that permits a user to use one set of login credentials like Username and Password to securely access multiple websites and applications.

SSO for User Login:
  • When the client login to the IoT platform the SSO tool demands an encrypted token from the authentication server.
  • Then the SSO will receive the user id and token from the identity provider and assign it to the approaching clients.
  • Now, the SSO will retain the details to the IoT platform.
  • Once the authentication is verified the client will be logged into the IoT platform using the SSO through the Rest API.
SSO Third-party providers in IoT Platform :

In IoT Platform we are utilizing two standard third-party providers.

  • OAuth
  • OAuth 2.0
OAuth:
  • It is a token-based authentication that is used to provide SSO and permits information to be utilized by third party services.
  • It likewise requires an identity provider for authenticating clients access.
  • In IoT Platform, OAuth is used to communicate different servers/client’s own servers like google home, Amazon smart home, etc.
OAuth 2.0:
  • It authorizes third-party applications to access the client account.
  • It authenticates the client by following the authorization code flow.
  • OAuth 2.0 provides authentication flows for web applications, desktop applications, and mobile devices.
Device Authentication via IAM
Device Authentication via IAM

IAM is a solution to securely manage digital identities, software’s and hardware’s and their access to various applications and systems. It reduces the risks of identity fraud and improves the collaboration between the users.

IAM for Device Login:

For a device connection, the device will be registered by the user in the IAM tool via the IoT platform.

  • From the IAM tool, the ID and token for the device will be generated for connection. The device will be requesting the token from the IAM Tool.
  • The device will now use the ID and the token to connect to the IOT Platform.
  • The IOT Platform has been built with hooks with which any IAM token provider can be integrated to the Edge device authentication flow.
  • Once the authentication details are valid and the device will be allowed to connect to the Platform.
How to Build a Mobile or web application

Bevywise IoT Platform mobile SDK and REST API help the user to integrate or built their Mobile application both on android and ios.

Bevywise IoT Platform mobile SDK and REST API help the user to integrate or built their Mobile application both on android and ios.

Follow the below steps to integrate your mobile app and IoT Platform.

Mobile SDK

We have separate SDK for android and ios.

Android

Below steps help you to integrate your android application and IoT platform

Download the zip or clone our android SDK from bevywise github

To clone:

  • Install “git” in your PC
  • Once installed, open terminal or cmd and type the below command to clone it.
git clone [email protected]:bevywise-networks/bevywise-iot-platfom-android-sdk.git

Once it has done, “bevywise-iot-platform-android-sdk-master” will be created in your location.

To download zip:
  • Go to Bevywise github repository
  • Click “Clone or download” button on the top right corner.
  • In the pop-up, click “Download as zip”.
  • Go to the “bevywise-iot-platform-android-sdk-master” folder and copy “build.gradle” file.
  • Paste the “build.grade” file inside your App folder[ < Android folder> /App]
  • Next, Click “Syn” button in your app. This will automatically import all dependencies and establish the connection between your application and the IoT platform.
IOS

Bevywise IoS SDK is available through CocoaPods. To install it, follow the below steps:

  • The following commands will help you to create a Pod file inside your IOS app folder. If you already have Pod file skip this step and move to the next step
  • Open the terminal and go to your APP folder
  • Next type “pod init” and click enter
  • Now Pod file is created inside the App folder.
  • Open the Pod file and add the below line and save it
  • pod ‘BevywiseIotPlatformSDK’

  • Next install pod in your Mac, by the below command.
pod install

Once you have done, Start writing the code based on the test.swift and Bevywiseplatformfromconnector.swift files, to link our REST API to your Mobile application

Rest API

Building applications specific to a vertical is needed. You can either customize the User Interface component of the IoT Platform to build your user interface & Mobile Application. Besides the Mobile SDKs, IoT Platform also provides a complete REST API for querying and managing the devices via the server. For reference, please refer to the API document.

Connecting devices to the IoT platform

Start connecting your devices to the Bevywise IoT Platform by signing up.

Steps to create an account
  • Open the Bevywise IoT Platform home page and choose sign up.
  • Fill the mandatory details to create an account.
  • Click the sign-up to login to the Bevywise IoT Platform.
signup

After hitting the ‘Sign up’ button, a confirmation mail will be sent to the mail id you’ve provided. Check your mail and follow the instructions in it to complete the sign-up and get your account activated

Once you’re done, you can see the Bevywise IoT Platform User Interface.

Device Management
How to add devices?

Users can manage their devices securely by creating auth key (username) and auth token (password) with user permission for secure data transfer from end device to message broker in the Security tab.

devie management

To add a new device securely & to add a new key :

  • Go to the ‘Client Management’ tab.
  • Click the ‘Create Authentication Keys’ button (+ symbol) on the top.
  • In the ‘Add a Client’ pop-up window that appears, select the ‘Client Type’ first based on the type of device you possess. If you possess a gateway device with sub-devices, then select ‘Gateway’. If you possess edge devices, then select ‘Edge’ as the client type.
  • After selecting the client type, in the ‘Protocol’ tab, you must select a protocol based on the client type you’ve chosen. Edge device will support both HTTP and MQTT protocol. Gateway device will support only MQTT protocol.
  • Next provide ‘Client ID’, ‘Client Name’, and ‘Description’.
  • Fill in the ‘Can’ tab which is nothing but the permission tab.
add a client

There are three types of permission. They’re :

  • Send and Receive Messages – Grant both subscribe and publish permission for the device.
  • Send Messages – Grant only publish permission.
  • Receive Messages – Grant only subscription permission.
  • In the ‘Keep Alive’ tab, select a time for reminding you that your device is active. The ‘Keep Alive’ tab will be enabled only when HTTP is selected as the protocol.
  • Click the ‘Add’ button.
  • Once you’re done, the newly created device along with its auth key and auth token will be displayed.
    Note : You can add up-to 5 devices when you’re using the free trial version.

How to add Sub-devices?

You can add sub-devices under a gateway device. To add sub-devices,

  • Create a gateway device.
  • In the ‘Client Management’ tab, open the gateway device you’ve created.

client details

  • Click the + symbol under the title ‘Add Sub-devices’.
  • Provision a Sub-device’ tab will open.

provision sub-device

  • Provide ‘Sub-device ID’. It will be preceded by the ID of the gateway device, under which this sub-device is created.
  • Give the Sub-device a name.
  • Enter the ‘Publish Topic’ and ‘Subscription’ topic.
  • Hit the ‘Add’ button to create the sub-device.
  • If you want to delete the sub-device, click the ‘Delete’ button.

provision sub-device

  • After the sub-device gets created, it’s ID and status will appear under the ‘Sub-devices’ tab.

added subdevice
To Use Initial Auth Key
  • Click the Client Management tab.
  • This tab will list all the added clients list along with the generated access key and access token.
  • You can use these access keys and access tokens as username and password.

client management
If you have real-time devices

You can use the username and password in the device and connect it to the server.

You can give the configuration as follow

  • Username – Use the Auth key
  • Password – Use the Auth Token
  • Port – 1883
If your real-time devices are in development
  • Use the help section to download client libraries for testing.
  • Provide username & password on the client file & connect your devices.

help
To start your device
  • Give the DNS host name as the IP address on the client side. Trial set-up users can use “publicmqtt.bevywise.com” as the IP address. Start the device after providing the IP address.
  • If the connection is successful you will see the connected device in the Dashboard.
Getting Started with Bevywise IoT Platform

Bevywise IoT platform contains two user interface consoles.

  • Service Provider Admin console
  • User console
Service Provider Admin Console

Since the Bevywise IoT platform is a multi-tendency platform, organizations can give individual login to each of their customers to connect and monitor their devices. So, to monitor and manage all their customers , they should need a separate Admin or Administrator console. Likewise, the Bevywise IoT Platform has a separate and customizable Admin console for the Solution provider to manage their customers

Login to the Admin Console
  • During the deployment, the admin console details will be given to the specific client, so that the administrator can directly login to the IoT platform.
  • Open the Bevywise IoT Platform home page and choose sign in.

login

  • Once you login, you can see the Bevywise IoT platform user interface
Organization Dashboard

Bevywise Admin console has an elegant and simple Dashboard that gives brief details about the organizations.

organizations dashboard



It shows the overall details and activities of the device.

The Dashboard has four tabs, which show total user count, device count, active device count, and Auth count.
User count – Total number of login Users.

  • Device count -Total number of connected customer devices.
  • Active Device count – Total number of active devices.
  • Auth count – Total number of Authentication created.
  • The table below the icons gives a brief description of their customers.

  • Name – Customer name which was given while sign-up in the platform.
  • Email ID – Customer Email ID which was given while sign-up in the platform.
  • Phone Number – The Customer phone number which was given while sign-up in the platform.
  • Created on – Date and Time on which customer sign-up to their platform
  • Last Login – Last login date & time.
  • Devices Count – Total count of the device which their customer connected to their platform.

In that table, users can sort their customer list by ascending and descending order by clicking the up and down arrow next to the parameter. Up arrow will sort the list in Ascending order and Down arrow will sort the list in descending order.

For example, if you want to sort the customer table based on the highest device connection, then click the down arrow next to “Device count”. Now it will show the customer who has a high device count at first. Likewise, you can sort the customer table based on the name, Email id, Last Login, etc.
You can search for the customer list based on three options.

  • By user – Used to search for customers based on the name and email id.
  • By device – Used to search customers based on the device name or device/client id.
  • By Active Device- Used to search for customers based on active devices.
Managing Customer Organization

Creating Organization via The Admin Console
  • Click the “Create Organization” icon on the left side.
  • Then provide the required details like “Name”, “E-mail”, “Organization name” and “Mobile Number” in the respective tabs.
  • Once you have done, click “create” to create an organization.

create organization
View details of the particular customer

Bevywise Admin console gives a separate user interface for each connected customer. This separate user interface helps the admin to get more details for a user device. In the admin dashboard choose the customer in which you can know about the customers’ details and it will lead to the customer user interface.
In that page you can see five tabs, they are

  • Customer-info
  • Dashboard
  • Devices
  • Rule Engine
  • Auth-key
customer info
Adding users to a particular organization

In the Customer-Info, you can find the details about an organization and the user-related organization. The details shown are given by the users while they sign-in to the Platform. You can add the users by providing the required details.

Provision an user for a particular customer:

  • Click the Add User icon on the right side, it will lead to add the user.
  • Give your required details like Name, E-mail, Phone, and Role.
  • Once you have done, click add to add the user.
  • Now, you can view your User’s details.
  • Once you have added the users to your organization, mail with the link will be sent to the users.
  • So that the users can log in to the User console by using the link.
add user
User Roles and Permissions

The administrator defines the roles and permissions for the user added below. Based on the permission, the user can view the parameters in the User console.
For example: If you uncheck the Device tab in the permission, the user cannot see the Device page in the User Console.
On this page, you can see three different roles. They are

  • Super Admin
  • Admin
  • Standard User
user role
Super Admin:

This role is for the Super admin of the User Console. The Super Admin can manage the access and level of responsibility of all users in an organization of the User Console. They have the highest authority of all and manage an organization, admin, and Standard users.

Admin

In the User Console, Super Admin will create the device group and for that device group, Admin will be in the Administrator role and manage and monitor all the devices in that group. Admin provides access rights of any roles to the standard user in their organization.

Standard User

The standard users will only have access to the roles which are assigned to them by their Admins. For the Device Group in the user console, there will be a Standard User and the Super Admin will decide whether the user can view or manage the devices in the device group

Managing Customer Dashboards

It provides the list of dashboards created by the super admin or the user in an organization. We can also create a dashboard for the organization by providing the name and description of the Dashboard. After creating the dashboard, we can add widgets.


widget
To create a custom dashboard:

Click “Create Dashboard” at the menu bar.

The Model Title window will appear showing, “Dashboard name” and Description.


custom dashboard

  • Enter “Dashboard name” and a small Description in the respective box provided.
  • Once you complete, click the “Create” button to open the “Widgets” tab.
  • Then click the Add button icon at the top right corner of the widgets tab. The drop-down menu will appear listing the widgets types.
  • To know how to create widgets, please refer the ‘User Console’ tab.
Managing Customer Event and Timer Rules

It provides all the Rules created by the organizations based on the published topic for each customer.


rule engine

  • Events – It displays the Device ID and topic for which the rules have been created.
  • Condition- It displays the condition based on the payload or message.
  • Action- It displays the rule message that is sent to the device based on the subscribed topic.
  • Status- It displays the status of the device, whether it satisfies the rules or not.
Managing Customer Devices

All the customer’s devices are managed under the devices tab. It provides details about the devices which were connected by the whole organization.

Send Message: Used to send a message to the devices in the organization based on the subscribed topic.

devices


Click the drop icon on the top left corner to open the Send message.

In that drop-down window, fill the details based on the below explanation.

  • Device – Device id of the device to which you want to message.
  • Topic – Name of the topic on which the device subscribed
  • Message – Message to be sent to the device
  • Click “Send” to send the message.

Note: Device to which you’re sending the message should be in Active status.

The device List will provide all the insights regarding the associated devices which help the admin to monitor all the devices connected below the organization.

  • Device – Device name.
  • Device Id – The ID of connected Device.
  • Time – Date and Time at which the device connected.
  • Auth Key – Authentication Key used by the device to connect to the Bevywise IoT Platform.
  • Recent Message – The Recently published message of the device. To view click the drop-down icon next to “Recent publish”.
  • Connection log – Provide date & time at which the device connected and disconnected.
  • Status – Current status of the device.
Managing Authentication keys

The Auth keys are created for the organization to connect the device. You can create a particular Auth key for a particular device using the device ID. You can also block/unblock the Auth key so that the user cannot connect with that Auth Key and Auth Token.

To create Authentication:

Click the “Add Authentication keys” button on the top.


add auth keys


In the pop-up window, give “Device ID”, “key description” and “permission” for the key.
There are three types of Permission

  • Publish and Subscribe – Grant both subscribing and publishing permission for the device
  • Subscribe Only – Grant only subscribing permission
  • Publish Only– Grant only publishing permission
  • Click “save changes”.

Once you have done created, the auth key and auth token will be displayed in the Authentication key list.

Rule Engine for Administrator

As the service provider, you can create the rules for all the created organizations based on the published topic. Admin can create the condition-based rules to create alerts events based on the received topic.


rule engine

Follow these steps to create Event-based and Timer-based rules.

To add the Event Rule:

event rule

Click the Add button and it will lead to “Add rule window”.
Event: Here you must give the device id and topic for which you want to create rules

  • In that window, give the device id in the “Publisher From” text box for which you want to create rules.
  • Next, give the corresponding device topic in “with topic” text box

Condition: Create a condition based on the payload or message

  • In “Satisfy”, if you select “ALL” then the rule will be published only if all given condition is satisfied
  • If you select “ANY”, then the rule will be published if any one condition is satisfied.
  • In the “Message/key/Time” list, you can see four parameter

INCOMING_MSG – If the given device and topic publishing normal payload, select this parameter and create conditions.

INCOMING_TIME – Select this, if you want to create a condition based on the timestamp of the published message.

Key – If the given device and topic publishing JSON payload, then select this parameter and create a condition based on the publishing JSON key.

Action: Device – This will send the rule message to the device based on the subscribed topic.

  • Device ID – Give the device or client id of the device to which you want to send the rule.
  • Topic name – Give the topic name to which the specified device subscribed to get the message.
  • Message – Give an alert message to be published to the specified topic

Mail – This will send the rule or alert message as a mail to the specified mail id

  • Mail ID – Specify mail id to which you want to send alert mail
  • Mail Subject – A Subject for the mail
  • Mail body – Enter an alert message for mail

Websocket – This will push the rule or alert message to the notification and user can view the message via bell icon on the top right corner

  • Alert title – Title for the notification
  • WS Alert Body – Alert message for notification

FCM – This will push the data as a notification to your android or ios app based on FCM token

  • FCM Alert title – Title for the notification
  • FCM Alert Body – Alert message for notification
  • Once you have done the configurations, click Save to add the rule.

Now, when the rules satisfied, an alert message will send based on your configurations.

To add Timer rule:

Bevywise rule engine also contains timer-based rules, which help the user to send data to a device and topic for a specific time or interval. Follow the steps to create timer rules:


timer rule

Click the + icon and it will lead to “Add Timer Rule”.

  • In that window, give the device id in “Device” for which you create rules, corresponding subscribed topics of that device in “Topic” and the message to be published in the “Message” tab.
  • Next, select the time when you want to publish the message from “Hour & minute” drop-down boxes and then specify the Start & End date in month/day/year format.
  • Now when the time and date match the rule, a message will be published to the given device.
Error Logs

It shows the list of errors that occurred while connecting a device to the IoT Device Management Platform.


error logs
User Console

The Device manager is a preliminary form of the Bevywise IoT Platform. This provides multi-tenancy so that you can permit every one of your user’s to sign up and manage their own devices.

Fill all mandatory details to create an account and click the sign-up to login to the Bevywise IoT Platform.

Once you have a login, you can see the Bevywise IoT platform user interface.

Dashboard

The dashboard has six tabs, which shows total & active clients, messages received, messages sent, recent events, recent connects and recent disconnects.


dashboard

  • Total clients – Total number of devices connected
  • Active clients – Total number of active devices
  • Messages received – Total number of messages received
  • Messages sent – Total number of messages sent
  • Recent events – Details of the recently published events
  • Recent connects – Details of the recently connected devices
  • Recent disconnects – Details of the recently disconnected devices
Custom Dashboard

The utilities of the dashboard differs with Industrial or Commercial requirements. The default dashboard may or may not suffice. The real benefit of dashboard lies in creating and customizing it the way you desire. The custom dashboard option in the Bevywise IoT platform facilitates you to bring all your Industrial / Business key metrics in one place.

To create a custom dashboard:

  • Select the drop-down arrow in the Dashboard tab.
  • Choose ‘Create dashboard’.
  • Provide Group ID, Dashboard name and Description.
  • Click ‘Create’.

Create Dashboard

A custom dashboard gets created.


Custom Dashboard
Widgets

After creating a custom dashboard, you’ve to create widgets as they display trends over a period that allows users to build a dynamic user interface rapidly for your IoT applications, processing real-time data from the physical and simulated devices. It captures performance metrics and key indicators to give you a real-time view of the state of your business.

Bevywise IoT platform offers 9+ types of widgets that are scalable to fit all industrial deployments. Following is the list of widget types.

  • Text
  • Colour
  • Table
  • Line chart
  • Bar chart
  • Gauge chart
  • Donut chart
  • Vertical gauge
  • Horizontal gauge
  • LED light
  • Switch
To create widgets

Click the ‘ + ‘ symbol in the top right corner of the custom dashboard to create a widget. ‘Widget Type’ tab will appear.

widget type

Click on the drop-down menu to choose the type of widget you want.

widget list
Text Widget

Select ‘Text widget’ if you wish to display data in the form of plain text. This helps you highlight the values of specific parameters in a data.

  • Provide a title.
  • Select a device from the devices listed in the drop-down menu.
  • After selecting the device, the corresponding topics will be listed in the ‘Topic’ tab. Choose any one topic from the list.
  • Enter ‘Key’, ‘Unit’ in the respective space provided and then pick a colour to display.
  • Then enter ‘Minimum’ , ‘Maximum’, and ‘Offset’ values.
  • Provide Subtitle and choose a ‘Colour’ to display.
  • If you want to add more key values, then click the ‘Add’ ( + symbol) and repeat the previous steps.
  • Click the ‘Create’ button to view your text widget.


text widget window

text widget
Colour Widget

‘Colour widget’ helps you to view data in coloured form. Also, you can set unique colour for each optimum range of values.

The steps are the same as those of creating a text widget.

After providing the device details, topic, key selection, minimum & maximum range, you can proceed entering the offset values.

Give a subtitle if you wish and pick a colour to display. Finally, click ‘Create’ to view your colour widget.


colour widget window

colour widget
Table Widget

Table widget allows you to view the data in the form of a table.

  • Select ‘Table widget’ from the list of widgets.
  • Provide a title.
  • Choose a device from the device list.
  • Enter a topic for which your selected device is associated with.
  • Then you have to select a key and provide a sub-title & unit for the key.
  • Enter Offset value, status and choose a colour to display.
  • Hit the ‘Create’ button to view your table widget.

table widget window

table widget
Line Chart

Line widget allows you to create trend that is to view data that changes over time. This helps you to create a series of values connected with a straight line.

The steps are the same as those of creating a Text and Colour widget. But there won’t be any option to set a minimum and maximum range & offset as this is a trend chart.


line chart window

line chart
Bar Chart

Bar chart has the same usage as that of Line chart and it represents data in rectangular bars with heights proportional to the values they represent.

  • Choose Bar chart from the widgets list.
  • Provide a title and select any device from the device list.
  • After selecting the device, the corresponding topic will be listed in the ‘Topics’ tab. Select a topic.
  • Enter ‘Key’ , ‘Subtitle’ , ‘Unit’ in the appropriate space provided and pick a colour to display.
  • If you need to add more keys, then click the ‘Add’ button and repeat the previous steps.
  • Press the ‘Create’ button to view the widget.

bar chart window

bar chart

As it is a trend chart, it displays data over time. Hence, it is a chart of your data vs time. Data (value) will occupy y-axis and time will occupy x-axis. The subtitle and unit you provide will be displayed in y-axis.

Gauge Chart

Gauge chart visually illustrates a speedometer, which is used to represent the progressive values.

The steps for creating a gauge chart are the same as those of a Text and Colour Widget.

Provide Title and select a device from the list of devices. Then choose a topic from the Topics tab and enter ‘Key’ , ‘Unit’ in the appropriate spaces allotted and pick a colour to display.

Proceed further by entering minimum, maximum and offset values. The minimum and maximum value here depicts the starting and ending point in a dial.

The usage of offset will vary here as each offset represents data range in a dial which is finally pointed by a needle. You can select different colours for different offsets.

Once you’re done, click ‘Create’ to view the gauge widget.

gauge widget window

gauge widget

Donut Chart

Donut chart represents data in various colours for easy understanding.

  • Select ‘Donut chart’ from the list of widgets.
  • Give it a title and then select a device from the device list.
  • Choose a topic from the listed topics in the Topics tab.
  • Provide ‘Key’ & ‘Unit’ in the respective spaces and determine a colour to display.
  • Select ‘Minimum’ & ‘Maximum’ values.
  • Enter ‘Subscribe Topic’.
  • If you wish to add more keys, then click the ‘Add’ button and follow the previous step.
  • Finally press the ‘Create’ button to view the donut widget.
donut widget window

donut widget

Vertical Gauge & Horizontal Gauge

The benefit of Vertical and Horizontal Gauge is the same as that of Gauge but used to represent linear progressive values.

The steps for widget creation are exactly the same. The only difference is instead of a dial, you’ll have the linear scale. You can set the offset values based on this.

Check the Gauge widget section for step by step procedure.

vertical gauge window

vertical gauge

horizontal gauge window

horizontal gauge

LED Light

LED widget is a condition based widget which works for random data. It can be used in a scenario of checking the status of the device either active or inactive.

  • Select ‘LED light’ from the types of widgets.
  • Give it a Title and choose a device from the listed devices.
  • Now you have to enter a topic for which your selected device is associated with.
  • Select a key value.

Note : LED works only for the device which sends data in RANDOM. For example, On|Off or Open|Close.

Now provide the value (ON) you receive when your device is in active state and (OFF) when your device is in inactive state, in the respective space allotted. Choose your desired colour to represent both active and inactive states. Based on the colour chosen, the LED will blink representing the device’s status.

LED widget window

LED widget

Switch Widget

This is a user interactive widget where you can control the activity of the device from the UI itself.

  • Select ‘Switch’ from the widgets list.
  • Provide a Title and select a Device from the list of devices that appear on the drop-down menu.
  • In the ‘Topics’ tab, select a suitable topic that your selected device is associated with.
  • Enter ‘Subscribe Topic’.
  • Select Active value and pick a colour to display it, Similarly, select Inactive value and choose a colour to display it.
  • Hit the ‘Create’ button to view the widget.
switch widget window

switch widget

Devices Tab

This tab displays the complete list of devices (both active and inactive). It provides you with a high level view on each connected device.

Refer ‘How to add a device?’ tab to know the steps to add a new device. (Note : You can add only 5 devices while using the free trial version)

Let’s dive deeply into the usage of Devices tab.

With the help of Devices tab, you can get the complete list of events published, commands received if it is a subscriber and send an instant command to the devices. To make optimum use of devices tab, follow the below steps.

  • Go to ‘Devices/Clients’ tab.
  • Click anyone from the devices listed.
device list

Activity

This is nothing but a list of recent activities.

activity

Received Events
  • List of events received by the other devices from this device. That is, it is the list of events sent by this particular device to other connected devices.
  • Pick anyone ‘Topic’ from the drop-down menu.
  • Choose a ‘From date’ and ‘To date’ to see the data sent for those particular set of days.
  • Hit the ‘Apply’ button to proceed with this condition.
  • Click the ‘Export’ button to download the data acquired to your desired location.
  • You can,
  • Know the time at which the data is published.
  • Get the list of data published along with its associated topics.
  • Acquire data for all topics as well as any specific topic.
received events

Sent Events

List of events received by this device from other connected devices.

Select anyone ‘Topic’ from the drop-down menu for which you want to know the details.

  • Select your preferable date in ‘From date’ and ‘To date’ to visualize the received data for that set of days.
  • Click ‘Apply’ to get the data.
  • Tap the ‘Export’ button to download the received data.
  • You can,
  • Know the time at which the data is published.
  • Get the list of data published along with its associated topics.
  • Acquire data for all topics as well as any specific topic.

sent events

Send Command

‘Send Command’ helps you to send instant messages to the other devices.

Follow the steps to send a command :

  • Select a command topic from the drop-down menu. Make sure the topic is subscribed by the device to which you’re sending command.
  • Enter the command to be sent in the ‘Command Value’ tab.
  • Hit the ‘Send’ button to send the command.

send command

Subscribe Topic

This is nothing but the list of topics subscribed by that particular device.


subscribe topic

Reports

The ‘Reports’ tab helps the users to visualize data in the form of a chart or graph.

To create a report :
  • Click the drop-down arrow of the ‘Reports’ tab.
  • Select the ‘ + Create report’.
  • A dialog box titled ‘Create Reports’ will appear.
  • Provide the ‘Group ID’.
  • Give a name to the report in the ‘Report Name’ tab.
  • Fill the ‘Description’ tab and click ‘Create’.
create report
add graph

Note : You can add only 5 reports using the trial version of Bevywise IoT Platform.

Here you can create the following reports :

➤ Payload comparison report

  • Individual device data
  • Device to device comparison

➤ Time-based comparison report

Payload comparison report

This helps you to compare the payload of an individual device as well as the payload of two different devices.

Individual device data

This graph is used to view the individual device data and topic payloads at the given intervals.

To build a graph :

To build an individual device graph, click the ‘Create graph’ icon to open the Build Graph window.


build graph

  • Give a name to the graph in the ‘Graph Name’ tab.
  • Select the type of chart you want in the ‘Chart type’ tab from the drop-down menu.

chart type

  • Provide ‘Lable Name’.
  • Select ‘Device’ and ‘Topic’ to which the selected device is associated.
  • Choose ‘Key’ value and a ‘Colour’ to display it.
  • Set your desired duration. When selected ‘Custom’ duration, ‘From date’ and ‘To date’ tabs will appear. You can choose your desired period of days you wish to get the data.

duration

  • In the ‘Schedule Period’ tab, select a time so that the graph will display the data according to that interval of time.

schedule period


  • Click ‘Create’ to view your report.
create report

  • You can see the ‘Statistic’, ‘Duration’, ‘Sampling’, ‘Download’ & ‘Delete’ buttons. In the ‘Statistic’ button you can select any-one values among ‘Average’, ‘Minimum’, ‘Maximum’, ‘Sum of Values’ and ‘Count’ of the data.
  • In the ‘Duration’ button, you’ve to select the time period from when you need to visualize the data. After selecting the duration, you can click the ‘Apply’ button and the report will display the data for that specified duration.
  • In the ‘Sampling’ tab, you can select the time interval between which the report must display the received data.
  • You can click the ‘Download’ button to download the report created. And the report can be deleted by tapping the ‘Delete’ button.
Device to device comparison

This graph is used to compare different devices and topic payloads at different intervals. Below is the comparison model by which you can generate reports.

  • Multiple device payloads.
  • Multiple keys and values of JSON payload published from a device.
  • Multiple keys and values of JSON payload published from different devices.
  • Multiple topics and its payload of the same device.
  • Multiple topics and its payload of different devices.

To build a graph :

To create a device to device payload comparison graph, click the ‘Graph’ symbol in the right corner to open the ‘Build Graph’ window.


build graph

  • Give a name to the graph in the ‘Graph Name’ tab.
  • Select the type of chart you want in the ‘Chart Type’ tab from the drop-down menu.
  • Provide ‘Lable Name’.
  • Select ‘Device’ and ‘Topic’ to which the selected device is associated.
  • Choose ‘Key’ value and a ‘Colour’ to display it.
  • To generate a ‘Device to device’ comparison report, click the ‘+’ symbol that is after the ‘Colour’.
  • Another set of ‘Lable’, ‘Device Id’, ‘Topic’, ‘Key’, and ‘Colour’ tabs will appear. Fill all those parameters.
  • (Note : You can add more than one value like this.)
build a graph

  • Set your desired ‘Duration’. When selected ‘Custom’ duration, ‘From date’ and ‘To date’ tabs will appear. You can choose your desired period of days you wish to get the data.
  • In the ‘Schedule Period’ tab, select a time so that the graph will portray the data according to that interval of time.
  • Click ‘Create’ to view your device to device comparison report.

device comparison report
Time Comparison Graph

This provides comparison reports for the payload which are published in two different days or months or years.


To build a time comparison graph :

To create a time comparison graph, click the ‘ 🕘 clock icon’ to open the Build graph window

build graph from history

  • Provide the graph a name.
  • Select the chart type you want.
  • Select ‘Device’ and ‘Topic’ to which the selected device is associated.
  • Choose ‘Key’ value.
  • Enter a name in the ‘Label Name’ tab.
  • Customize the data as per your requirement to view the graph by choosing ‘From date’ and ‘To date’.
  • Pick a ‘Colour’ to display it.
  • Click the ‘Compare with date’ tab to compare the above data with another set of days.
  • ‘Comparison Date’ tab will appear after enabling the compare with date option.
  • Provide a unique label name and choose another set of days in the ‘From date’ and ‘To date’ tabs.
  • Choose a different colour for it to display

graph details

Hit the create button to view the graph


time comparison graph

If you wish to download the graph as PDF, then click the ‘Download’ button which is placed below each graph. It will automatically convert the graph as PDF and gets downloaded.

Types of Chart

There are 9+ types of charts through which you can visualize your data in the form of graphs.

Line Chart

Line chart allows you to create a graph that is to view even a small variation in data that changes over time.

Follow the below steps to create a line chart :

  • Click the ‘Graph’ icon on the top right corner.
  • ‘Build Graph’ window will appear.
  • Provide a name to the graph in the ‘Graph Name’ tab.
  • From the drop-down menu of the ‘Chart Type’ tab, select ‘Line Chart’.
  • Enter the ‘Lable Name’.
  • Select ‘Device’ and ‘Topic’ to which the selected device is associated.
  • Choose ‘Key’ value and a ‘Colour’ to display it.
  • Set your desired duration. When selected ‘Custom’ duration, ‘From date’ and ‘To date’ tabs will appear. You can choose your desired period of days you wish to get the data.
  • In the ‘Schedule Period’ tab, select a time so that the graph will display the data according to that interval of time.

line chart window
  • Click ‘Create’ to view your ‘Line chart’.
  • line chart


    You can click the ‘Download’ button to download the report created. And the report can be deleted by tapping the ‘Delete’ button.


    Bar Chart

    Bar chart helps you to compare more than one set of data in an easy manner.

    The steps for creating the ‘Bar Chart’ is the same as those of creating a ‘Line Chart’.


    bar chart window
  • After entering all the required details, hit the ‘Create’ button to get your ‘Bar chart’ ready.

  • bar chart
    Grouped Bar Chart

    ‘Grouped Bar Chart’ allows you to compare and visualize more than one key parameters of same device or even different devices.

    The steps for creating the ‘Grouped Bar Chart’ is the same as that of ‘Line Chart’. But this chart needs more than one key value of the same device or different devices.

    To create a grouped bar chart :

    • Provide the ‘Graph Name’.
    • Select ‘Grouped Bar Chart’ as the chart type.
    • Provide ‘Lable Name’.
    • Select ‘Device’ and ‘Topic’ to which the selected device is associated.
    • Choose ‘Key’ value and a ‘Colour’ to display it.
    • Click the ‘+’ symbol after the ‘Colour’ tab.
    • Another set of Lable Name, Device ID, Topic, Key and Colour will appear. Fill all those parameters. You can choose the key value of the same device or different devices.
    • Set your desired duration. When selected ‘Custom duration’, ‘From date’ and ‘To date’ tabs will appear. You can choose your desired set of days you wish to get the data.
    • In the ‘Schedule Period’ tab, select a time so that the graph will display the data according to that interval of time.

    grouped bar chart window
    • Tap the ‘Create’ button to get your ‘Grouped Bar Chart’ ready.

    grouped bar chart

    Stacked Bar Chart
    • Stacked Bar Chart helps you to compare total values across categories.
    • The steps for creating a Stacked Bar Chart are the same as those of Grouped Bar Chart.

    stacked bar chart window

    • After entering all the required details, hit the ‘Create’ button to get your ‘Stacked Bar chart’ ready.

    stacked bar chart

    Area Chart
    • ‘Area Chart’ helps you to visualize trends over time.
    • The procedure for creating the ‘Area chart’ is the same as that of ‘Line Chart

    area chart window

    Once you’ve done providing the necessary requirements, hit the ‘Create’ button to view your ‘Area Chart’.

    area chart

    Stacked Area Chart
    • ‘Stacked Area Chart’ allows you to compare and visualize multiple variables changing over a certain period of time.
    • The steps involved in generating a Stacked Area Chart is the same as those of ‘Line Chart’
    stacked area chart window

    Hit the ‘Create’ button once you’re done

    stacked area chart

    Histogram Chart
    • Histogram Chart allows you to compare the numerical or quantitative data visually.
    • Histogram Chart can be generated in the same way as Line Chart. Refer the ‘Line Chart’ tab for detailed steps.
    histogram window
    • After entering all the required details, click the ‘Create’ button to generate your Histogram chart.

    histogram chart

    Scatter Plots Chart
    • Scatter Plots Chart helps you to visualize the data in an easy manner.
    • The procedure for creating the Scatter Plots Chart is same as that of creating a ‘Line Chart’.
    scatter window
    • Once you’ve entered all the necessary details, click the ‘Create’ button to get your Scatter Plots Chart ready.
    scatter polts chart

    Horizontal Gantt Chart
    • ‘Horizontal Gantt Chart’ allows you to visualize the graphical illustration of the device’s data through horizontal lines.
    • Steps for creating ‘Horizontal Gantt Chart’ is the same as those of the ‘Line Chart’.
    horizontal gantt window
    • Click the ‘Create’ button after providing all the necessary details.
    horizontal gantt chart

    Pie Chart
    • ‘Pie Chart’ summarises a large set of data in visual form.
    • The procedure for creating the ‘Pie Chart’ is the same as that of ‘Grouped Bar Chart’.
    pie chart window

    • Click the ‘Create’ button after providing all the required details.
    pie chart

    Statistical Process Control Chart

    ‘Statistical Process Control Chart’ displays data in an understanding manner through graphical format.

    Follow the below steps to generate a statistical process control chart.

    • Give the graph a name in the ‘Graph Name’ tab.
    • Select ‘Statistical Process Control Chart’ from the drop-down menu of the ‘Chart Type’ tab.
    • Provide ‘Lable Name’.
    • Select ‘Device’ and ‘Topic’ to which the chosen device is associated.
    • Choose ‘Key’ value and a ‘Colour’ to display it.
    • Proceed with entering ‘Minimum’ and ‘Maximum’ values.
    • Enter a value in ‘Low value’, ‘Standard value’ and ‘High value’ and allot separate colours for each value to display.
    • Then set your desired duration. When selected ‘Custom’ duration, ‘From date’ and ‘To date’ tabs will appear. You can choose your desired period of days you wish to get the data.
    • In the ‘Schedule Period’ tab, select a time so that the graph will display the data according to that interval of time.
    SPCC window
  • Click ‘Create’ to view your Statistical Process Control Chart
  • statistical process control chart

    Rule Engine

    Users can create condition-based rules to create alert events based on the received topic or messages. Alert event contains a topic and an alert message and if that topic is subscribed by a subscriber, then an alert message will be forwarded to the subscriber.

    rule engine

    There are two types of rules, namely,

    • Event rule
    • Timer rule

    Follow the steps to create rules.

    To create an Event rule :

    Click the + symbol.

    ‘Add Event rule’ dialogue box will appear.


    add event rule

    Events :

    Select the Client/Client group for which you want to create event rule.

    In the ‘Topic’ tab, choose the topic to which your selected device is associated with.

    Condition :

    To create a condition based on the payload or message :

    In the ‘Satisfy’ tab,

    • Select ‘All’ to publish the rule only if all the given conditions are satisfied.
    • Select ‘Any’ to publish the rule if any one of the given conditions is satisfied.
    • In the “Message / Key / Time” list, you can see the following parameters :
    • INCOMING_MSG – Select this parameter and create conditions if the chosen device and topic is publishing normal payload.
    • INCOMING_TIME – Select this parameter if you want to create a condition based on the timestamp of the published message.
    • Key – If the given device and topic is publishing JSON payload, then select this parameter and create a condition based on the publishing JSON key.
    • You can add more key values by clicking the ‘ + ‘ symbol below the Condition tab.

    Action :

    There are three types of actions you can do. You can :

    • Send Every Event – Can send every event published by the device
    • Send Once – Can select the time period to snooze the event
    • Send Clear Alarms – Can send a message along with the event

    You can send alert to :

    ➤ Client

    ➤ Client Group

    ➤ Mail

    ➤ Websocket

    Follow the below steps to send an alert to :

    1. A Client :

    • Select ‘Client’ from the options.
    • Give the Client ID to which you want to send the alert.
    • Enter the Topic in the appropriate space provided.
    • Provide the alert message you wish to send.

    2. A Client Group :

    • Choose ‘Client Group’.
    • Select a Device / Device group from the list that appears in the drop-down menu.
    • Choose a topic to which the selected device / device group is associated with.
    • Enter the alert message you want to send.

    3. A Mail :

    • Select ‘Mail’ from the options.
    • Provide a valid mail id and a subject.
    • Enter the alert message in the ‘Mail Body’ tab.

    4. A Websocket :

    Websocket will push the rule or alert message to the notification and the user can view the message via bell icon on the top right corner.

    • Choose ‘Websocket’.
    • Provide ‘WS Alert Title’ for the notification.
    • In the ‘WS Alert Body’, enter the message for notification.

    This section helps you to connect IoT Simulator to MQTT Broker. Below, we have shown the connection of IoT simulator to MQTT Broker with TLS/SSL and to MQTT Broker without TLS/SSL.

    event rule

    After finishing the configurations, click the ‘Save’ button to add the rule.

    The added rule will appear under the tab ‘Rule List’ in the Rule Engine tab. You can delete/edit/clone the created rule. The date and time at which the rule is created will also be displayed.

    To add more event rules, click the + symbol and follow the previous steps.

    rule list

    When the rule gets satisfied, a message will be sent based on your configurations.

    To create Timer Rule :

    Bevywise rule engine also contains timer-based rules, which help the users to send data to a device and topic for a specific time or interval. Follow the below steps to create timer rules.

    • Click the ‘🕘 clock icon’ on the top right corner.
    • ‘Add Timer Rule’ window appears.
    add timer rule
    • Select a ‘Device’ from the list of active devices.
    • Choose the ‘Topic’ to which the selected device is in association.
    • Enter the alert message to be published in the ‘Message’ tab.
    • Select the time at which you want to publish the message from ‘Hour, Minute & Second’ drop-down boxes.
    • Specify the Start and End date in the respective boxes.
    add timer rule
    • Click ‘Save’.

    The added rule will appear under the tab ‘Rule List’ in the Rule Engine tab. You can delete/edit/clone the created rule. The date and time at which the rule is created will also be displayed.

    To add more timer rules, click the + symbol and follow the previous steps.

    When the date and time match the rule, the message will be published to the given device.

    rule list

    Send Command

    Users can send a message or data to the subscribed topic manually with the help of ‘Send Command’. Users can use this feature for testing. This can be done at the device level or for a group of devices.

    send command

    To send an instant command :

    • Go to the ‘Send Command’ tab.
    • Select the active subscribed topic from the list below ‘Command Topic’ to which you want to send the message. After selecting, those devices that are subscribed to the selected topic will be listed on the left panel.
    • In the ‘Command Data’, type the message which is to be sent to the topic.
    • Then click the ‘Send’ button to send the data to the specified topic.
    User Management & Roles

    ‘Admin tab’ helps you to add new users and new devices group.

    To add a new user :

    • In the drop-down menu of the Admin tab, choose ‘Users’.
    • Click the icon on the right side. It will lead to add a new user.
    • Give the required details like ‘Name’, ‘Email’, ‘Phone’, and ‘Role’.
    add user

    Device Group

    It provides the details about the groups created by the user

    device group list

    To add a Device group :

    • Click the + symbol on the top to create a new device group.
    add device group
    • Give the required details like ‘Name’ and ‘Description’ in the appropriate spaces provided.
    • Click the ‘Add’ button to create a device group.
    • Once you’ve completed creating the device group, you can add your devices to connect it to the IoT device Management Platform.

    To add a device in the device group :

    • Select any one device group under which you wish to add a new device.
    device group list
    • Click the + symbol on the top right corner to add a device.
    add a device
    • Give the ‘Device Id’ on the appropriate tab.
    • Click ‘Add’ to add your device.
    • Now, you can view all your added device status and manage them.
    Multi-Language Support

    Bevywise IoT Platform supports native language of users. Users can easily present & view the published data in their desired language.

    To present widgets in native language

    • Click ‘Create Dashboard’
    • Select Group ID of device group for which you are creating dashboard
    • Now enter Dashboard name & provide description in your language.
    • Then select your preferred widget type in your created custom dashboard
    • Enter the title of your widget in the language you need
    • Choose the device for which you want to visualize data from the list of connected devices.
    • Select a topic from the list and enter the key
    • Now enter the subtitle (if your selected widget has the option) and unit in your preferred language for the key you entered
    • Now select your desired color and hit enter.

    You can now view your widget in your desired language

    The two default parameters in the widgets that you can present in your language are the ‘Widget Title’ & the ‘Unit’

    create dashboard
    widgets
    widgets
    Presenting reports in native language
    • Click ‘Create Report’
    • Select Group ID of device group for which you are creating report
    • Enter the name of your report and description in your desired language in the respective space provided and hit enter
    • Name your graph and provide label name in your language
    • All other fields can be selected from the provided list and hit enter.
    • You can now view your report in your desired language.
    create report

    build graph from history

    report

    device group

    add user

    Deployment & Orchestration

    Deployment of the Bevywise IoT platform will be done by us. We will hand over with the necessary tools and give training about the setup, monitoring the platform and other services to check and manage them. Following is the model of our IoT Platform deployment and orchestration.

    Deployment model

    • Bevywise IoT platform has multiple distributed services that will be deployed in Docker containers and to orchestrate or manage these containers we use Kubernetes setup.
    • To deploy, we use two Ubuntu server which will act as master and slave. Here the Kubernetes set up will be deployed in Master-Slave and all the containers which have the service will be loaded in the Slave server.
    • Through Kubernetes, users can manage all containers, check the status, create fail-over for the containers, automatic restart and more.
    • To collect data from Kubernetes for monitor containers, we use Prometheus set up which will be installed in the master server. Here Prometheus collect data about containers from the Kubernetes via API and store it in the Prometheus data storage.
    • To deploy, we use two Ubuntu server which will act as master and slave. Here the Kubernetes set up will be deployed in Master-Slave and all the containers which have the service will be loaded in the Slave server.
    • To visualize the container data for monitoring we use the Grafana on the Master server which will collect the data from Prometheus storage and show it in graphs or charts. Users can also set alert based on the data.
    Monitoring the Service

    Once we deployed our IoT Platform in your domain, you will get an Admin Console which helps you to manage your customers and their devices, Web access console for your users, Kubernetes console to manage containers, Prometheus and Grafana console for monitoring the containers where all platform depend services is deployed.

    Self-healing

    There are two methods to configure Kubernetes to manage containers, where platform depend will run. The two methods are

    • Restart Always – This method will take a replica or backup when starting a container and its functions. So, when the container fails, it will automatically create a new container with the backup and restart the service.
    • Never Restart – This method does not take any backup of containers and when the container fails, it remains in an inactive status and Kubernetes will not restart it.

    We will deploy the Kubernetes console with “Restart Always” method. With this method, Kubernetes will take the backup of each container. So, when the container fails the Kubernetes will automatically create a new container and load the backup and restart the service.

    Horizontal Scaling

    Kubernetes observe each container CPU usage and automatically scale up or down based on CPU usage. When the platform service uses 80-90% CPU, then Kubernetes automatically create a new pod or container, then loads the service from deployment and runs the created pod, this will help service to scale up based on CPU usage. Also, when the container uses minimum usage, then Kubernetes scale down the pods based on usage. This setup will help the Bevywise IoT Platform to scale up when millions of millions connected.

    Alert Configuration

    Humans can’t monitor each service and platform for 24X7. So, if any container reaches its maximum CPU level or memory level, then the container will hang and stop all the services running inside it. In such cases, we should configure an Alert and notification based on CPU usage, Memory usage, etc.

    To configure alert and notification, we use Grafana set up in which we will set up a separate alert panel to create alert and for notification, we will create a notification channel.

    alert configuration

    linux node cpu usage

    linux node memory usage

    linux node memory usage

    In the Notification channel, you can select any notification type like Email notification, telegram notification, etc. Once you have done, the alert will be automatically sent to your selected notification type.

    In Alert panel, you can set certain limit in percentage or memory unit with condition check for CPU usage, Memory or RAM usage, CPU core usage, and Disk usage. So, when the condition is satisfied, an alert be will sent to users via notification type

    Let's get started

    Having queries on Bevywise IoT Platform?

    Explore our FAQ page