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.
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.
MQTT Sparkplug Support
Our MQTT platform
seamlessly integrates data from devices employing the
MQTT Sparkplug B protocol,
enabling effortless communication within the Industrial Internet of Things (IIoT) framework.
This incorporated feature of our MQTT platform adeptly decodes data gathered from IIoT devices,
presenting it in a comprehensible format for improved insights, while ensuring all valuable information is
readily accessible for visualization. Additionally, there is no reliance on host server applications for
message decoding. Our platform also supports protobuf,
streamlining communication by markedly reducing data size during transmission.
How to add Node/Device?
To visualize data from Sparkplug-enabled IIoT devices,
the initial and crucial step involves adding Nodes, upon login.
Here are the steps on how to add nodes:
- Go to the 'Nodes' tab within the 'Settings' option.
- Click the + symbol in the top right corner to initiate node addition.
- 'Add a Node' window will appear.
- Input a unique ID for each node in the 'Node ID' tab.
- Provide the node's name in the 'Node Name' tab.
- Enter a description of the node in the 'Node Description' tab.
- Click 'Add' to complete the node addition.
After adding nodes, you can view details about any specific node by clicking on it.
The details include:
- Node ID, status, and creation date & time.
- Node ID and its description.
- Access key (username) and access token (password) for connecting to that node.
- In the 'Access Control List' category, the 'Publish topics' tab displays the message publishing format for that node,
where # signifies the node can publish messages on any topic.
- The 'Subscriptions' tab shows the format for the subscribing topic of that node,
with # indicating subscription to all publish topics of other nodes.
- Under 'Sub devices,' view the ID and status of the sub-device associated with that node.
For complete details about a sub-device, click on it to open the 'Subdevice Details' window. Here, you'll find:
- The unique ID of the subdevice.
- The name of the subdevice.
- The topic published by the sub-device.
- The topic to which the sub-device subscribes.
Nodes
Once nodes are added, the 'Nodes' category in the menu displays a comprehensive list of all nodes and devices.
This includes active, inactive, and both, along with their names, IDs, connection statuses, and status times.
Use the search box to find a specific node/device by entering its ID.
To delve deeper into a device or node, click on the respective entry to access details such as:
- Node/device ID and status
- Event topics: total count of topics published by the node/device
- Subscription topics: total count of topics to which the node/device subscribes
- Received events: total count of messages published by the node/device
- Sent commands: total count of messages sent from the node/device
- Will topic/will message: the will topic and will message of the node/device
Under the 'Activity' tab, observe the current activity, including the device's connection status and published messages.
Navigate to the 'Events' tab to view messages published by the node/device. Use filters to refine results by topic and date range.
Click 'Apply' to implement changes and export messages using the 'Export' option.
In the 'Commands' tab, explore data of topics subscribed by the node/device, akin to the 'Events' tab.
The 'Subscriptions' tab provides details on the node/device's subscriptions, including the subscribed topic, QoS level,
and subscription time.
Upon connecting the node/device, the dashboard reflects the publishing data.
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.
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.
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.
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.
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.
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.
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.
- Click the + symbol under the title ‘Add Sub-devices’.
- Provision a Sub-device’ tab will open.
-
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.
-
After the sub-device gets created, it’s ID and status will appear under the ‘Sub-devices’
tab.
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.
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.
To start your device
-
Give the DNS host name as the IP address on the client side.
Start the device after providing the IP
address.
-
If the connection is successful you will see the connected device in the Dashboard.
Service Provider Admin Console
Since the Bevywise IoT platform is a multi-tenancy 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.
- 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.
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.
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
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.
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
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.
To create a custom dashboard:
Click “Create Dashboard” at the menu bar.
The Model Title window will appear showing, “Dashboard name” and Description.
- 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.
- 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.
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.
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.
Follow these steps to create Event-based and Timer-based rules.
To add the 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:
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.
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.
- 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’.
A custom dashboard gets created.
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.
Click on the drop-down menu to choose the type of widget you want.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Activity
This is nothing but a list of recent activities.
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.
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.
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.
Subscribe Topic
This is nothing but the list of topics subscribed by that particular
device.
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’.
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.
- 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.
-
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.
- Click ‘Create’ to view your 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.
- 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.)
-
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.
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
- 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
Hit the create button to view the 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.
Click ‘Create’ to view your ‘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’.
After entering all the required details, hit the ‘Create’ button to get your ‘Bar chart’
ready.
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.
- Tap the ‘Create’ button to get your ‘Grouped Bar Chart’ ready.
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.
-
After entering all the required details, hit the ‘Create’ button to get your ‘Stacked
Bar chart’ ready.
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
Once you’ve done providing the necessary requirements, hit the ‘Create’ button to view your
‘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’
Hit the ‘Create’ button once you’re done
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.
-
After entering all the required details, click the ‘Create’ button to generate your
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’.
-
Once you’ve entered all the necessary details, click the ‘Create’ button to get your
Scatter Plots Chart ready.
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’.
- Click the ‘Create’ button after providing all the necessary details.
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’.
-
Click the ‘Create’ button after providing all the required details.
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.
Click ‘Create’ to view your 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.
There are two types of rules, namely,
Follow the steps to create rules.
To create an Event rule :
Click the + symbol.
‘Add Event rule’ dialogue box will appear.
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.
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.
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.
- 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.
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.
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.
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’.
Device Group
It provides the details about the groups created by the user
To add a Device group :
- Click the + symbol on the top to create a new 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.
- Click the + symbol on the top right corner to 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.
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.
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