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, where you can sign up and log in with your account. In it you can connect your device or access the User interface with the dedicated / respective set up provided. Contact us now to get our IoT Platform to effectively monitor your devices.
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.
Bevywise IoT Platform consists of the following components:
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.
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.
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.
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.
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.
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 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.
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.
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.
Bevywise IoT Platform is flexible for both single and multi-tenancy implementation.
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.
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 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.
Below steps help you to integrate the IoT platform with Google assistance.
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.]
https:// < server dns name > /o/applications/
For Client information, give as below
https:///o/authorize
https:///o/token
Here you should specify the IoT platform API, through which google will get data from the IoT platform.
In the Deploy tab, you can add your company information, location information, Directory information and more.
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
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.
[Note: Take a copy of the skill id in Smart Home tab]
[Note: Don’t close the Alexa skill kit]
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.
https:// < bevywise server dns name> /o/applications/
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.
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.
In IoT Platform we are utilizing two standard third-party providers.
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.
For a device connection, the device will be registered by the user in the IAM tool via the IoT platform.
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.
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:
After adding nodes, you can view details about any specific node by clicking on it. The details include:
For complete details about a sub-device, click on it to open the 'Subdevice Details' window. Here, you'll find:
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:
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.
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.
We have separate SDK for android and ios.
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:
Once it has done, “bevywise-iot-platform-android-sdk-master” will be created in your location.
Bevywise IoS SDK is available through CocoaPods. To install it, follow the below steps:
pod ‘BevywiseIotPlatformSDK’
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
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.
Start connecting your devices to the Bevywise IoT Platform by signing up.
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.
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 :
There are three types of permission. They’re :
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.
You can add sub-devices under a gateway device. To add sub-devices,
You can use the username and password in the device and connect it to the server.
You can give the configuration as follow
Bevywise IoT platform contains two user interface consoles.
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
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.
The table below the icons gives a brief description of their customers.
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.
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
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:
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
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.
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.
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
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.
Click “Create Dashboard” at the menu bar.
The Model Title window will appear showing, “Dashboard name” and Description.
It provides all the Rules created by the organizations based on the published topic for each customer.
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.
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.
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.
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
Once you have done created, the auth key and auth token will be displayed in the Authentication key list.
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.
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
Condition: Create a condition based on the payload or message
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.
Mail – This will send the rule or alert message as a mail to the specified mail id
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
FCM – This will push the data as a notification to your android or ios app based on FCM token
Now, when the rules satisfied, an alert message will send based on your configurations.
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”.
It shows the list of errors that occurred while connecting a device to the IoT Device Management Platform.
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.
The dashboard has six tabs, which shows total & active clients, messages received, messages sent, recent events, recent connects and recent disconnects.
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:
A custom dashboard gets created.
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.
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.
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.
‘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 allows you to view the data in the form of a table.
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 has the same usage as that of Line chart and it represents data in rectangular bars with heights proportional to the values they represent.
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 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 represents data in various colours for easy understanding.
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 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.
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.
This is a user interactive widget where you can control the activity of the device from the UI itself.
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.
This is nothing but a list of recent activities.
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.
‘Send Command’ helps you to send instant messages to the other devices.
Follow the steps to send a command :
This is nothing but the list of topics subscribed by that particular device.
The ‘Reports’ tab helps the users to visualize data in the form of a chart or 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
➤ Time-based 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.
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.
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.
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
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.
There are 9+ types of charts through which you can visualize your data in the form of graphs.
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 :
You can click the ‘Download’ button to download the report created. And the report can be deleted by tapping the ‘Delete’ button.
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’.
‘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 :
Once you’ve done providing the necessary requirements, hit the ‘Create’ button to view your ‘Area Chart’.
Hit the ‘Create’ button once you’re done
‘Statistical Process Control Chart’ displays data in an understanding manner through graphical format.
Follow the below steps to generate a statistical process control chart.
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,
Action :
There are three types of actions you can do. You can :
You can send alert to :
➤ Client
➤ Client Group
➤ Websocket
Follow the below steps to send an alert to :
1. A Client :
2. A Client Group :
3. A Mail :
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.
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.
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.
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 :
‘Admin tab’ helps you to add new users and new devices group.
To add a new user :
It provides the details about the groups created by the user
To add a Device group :
To add a device in the device group :
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
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’
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
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.
There are two methods to configure Kubernetes to manage containers, where platform depend will run. The two methods are
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.
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.
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
Let's get started
Explore our FAQ page