The Real Success of MQTT Broker on Cloud

The Real Success of MQTT Broker on Cloud

The journey of Bevywise is not just about attaining our Mission & Vision. It always looks after the success of customers who join us in our journey.

That is “Profit of Bevywise always lies in customer’s success“.

Also, Bevywise has a major part in the revolution of implementing technology in diversified sectors. When we think of the internet in the initial days of its revolution, it was just used for information searching & knowledge gaining. But now it has become parallelly important to the air we breathe. And its application is now a major necessity in day-to-day life. The way internet :

  • Handles home appliances
  • Ensures security with surveillance cameras
  • Create a better-connected learning environment for education
  • Revolutionized large enterprises & all business sector

are proof that life doesn’t exist without the internet.

Everything in this world has begun communicating with each other using the Internet. In that case, Bevywise is the well-organized team/expert to connect your things, devices/clients to the internet. In the journey of 5 years, Bevywise is the main reason behind the success stories of customers. Let us see the success story of one such customer.

Hand-Holding with Romania’s independent Energy Provider

Amromco, a Romanian company that started operating in 2002 has become the largest enterprise with huge profits in 20 years. In each phase of its evolution, it has implemented technology & science in its process to make a huge change in the community. As of now, it is one of the well-organized (oil and gas) energy industries on the globe. Energy is the one that operates every living thing. In that case, Amromco is successfully fulfilling the energy needs of the whole of Romania. One of the projects of Amromco energy needs device management-related support. But their workstation is located far away from the major cities in a small town. Hence supervising and management requires high transport costs. This questions the entire accuracy & efficiency of the entire process.

Hence Amromco join hands with Bevywise to tackle the challenges of requirement and service. But there is nothing that cannot be done in this technology world. There are so many devices in their organization that we have made them better connected to each other over the internet with our exclusive solutions of the MQTT platform. Also, we made them remotely access, control & manage their devices by hosting a platform on a public cloud. With live dynamic widgets & charts, we made them understand the condition of the device with the continuous monitoring of their parameters. Finally, the overall process can be controlled & monitored using mobile app, which makes them more flexible.

Final Thoughts

The word “Satisfaction” is better than the word “Profit”. Thus, we at Bevywise always being proud to empower our customers by diminishing their pains, addressing their challenges, and providing all required necessities.

Also, we would love to hear your success stories as well. Get started now by signing up for hosted MQTT Broker.

Launching FREE MQTT Broker on AWS EC2

Launching FREE MQTT Broker on AWS EC2

We are excited to announce that Bevywise MQTTRoute is now get-at-able in AWS Marketplace. MQTTRoute is always known for its extendability and scalability. And now we want to make this fully functional MQTT Broker completely available and easily accessible for all users. Hence we are launching the FREE version of MQTT Broker in AWS Marketplace where you can quickly deploy MQTT Broker on AWS EC2 using pre-made AMIs.

FREE AWS MQTT Broker

Everywhere around the world is getting filled with MQTT based devices. While developing IoT applications it is always needed to have a messaging broker / server which should act as a middleware between your MQTT / IoT enabled devices. Hence, a reliable & well-built MQTT broker is a key part of every IoT applications & projects but setting one up, managing, monitoring and debugging is a complex one and time-consuming. Also, though there are numerous commercial MQTT Brokers available in the market, early adopters & small project developers cannot afford them as they will end up paying more. And so, we want our MQTT Broker to be affordable and people should be able to manage their devices at minimal cost. So we are enabling the AWS version of the MQTTRoute for 25 devices FREE with the IOT mobile application.

Rapid-Set up on AWS EC2

The internet of things is all about mobility and managing your devices and sensors from anywhere in the world. But when using MQTT Broker on-premise it will be either a time taking or a challenging solution for IoT application which requires high level management & maintenance. Considering the quick launch of the IoT projects / applications and then deploying the necessary data center with a server for the MQTT Broker will expect more assets for the primary set up & installation. Also, it always demands a system administrator or qualified professional to monitor the application 24/7. In addition, expanding and scaling the application in on-premises will be highly complex when moving to new servers.

Hence we are making our MQTT Broker accessible in AWS cloud  (Elastic Compute Cloud) EC2 instance for FREE where for a minimal cost you can quickly connect your application / project to high-quality service. This agreeable & favourable installation sets up a completely functioning Bevywise MQTTRoute AWS EC2 instance with the sizing of your need on your AWS account.

With the FREE version on AWS, we are aiming to make everyone take advantage of their IoT application development. This version will be beneficial to build any sort of IoT applications and people could get it ready in their budget.

Get started with your IoT implementation by utilizing the FREE MQTT Broker from AWS Marketplace.

To know more on the functionalities of the FREE AWS MQTT Broker & step by step procedure for installation & set up, navigate to this link. 

Kindly reach support if you have any queries.

Build your IOT Application in a Day

Build your IOT Application in a Day

IoT Application development is required today at all levels. People with very low coding knowledge needs to build what is needed for them. MQTTRoute helps customers to embed their ML & AI algorithms and create their own application. MQTTRoute helps you host and manage your application easily. This just leaves your development challenge for your IOT Server application. MQTT Broker comes with a default user interface, however visualization needs to be built for specific vertical. We recently run an internal hackathon at Bevywise to build applications over our framework. Interestingly, we were able to build an IOT application in a day. The application built was a Industrial Furnace monitoring. This blog portrays the hacks used to build the application.

IoT Application for Industrial Temperature Monitoring

Monitoring and controlling the temperature of the furnaces is crucial with respect to its usage in the industries as it directly affects the quality of the product that is being created. We created a simulated device similar to a monitoring edge device which pushes data to the MQTT Broker. The goals set for the application were:

  • live graph of the incoming temperature
  • Historical hourly average of the temperature
  • Alarm when the temperature exceeds a range
  • Alarm when current temperature exceeds the previous hour average

Live Temperature View

 

MQTT Broker is programmed in a way that it pushes the incoming device data to the user interface using the web socket. You will be able to add your own code to create live graphs. In this hackathon, plotly is used by the developer. The data on temperature of the furnace collected is presented as a line graph in the dashboard. This is done by configuring custom_ui_server.py file.

reference code for line graph

xaxis: {
type: ‘date’,
range: [olderTime, futureTime]
}
};
Plotly.relayout (graph_id, minuteView);
Plotly.extendTraces (graph_id, update, d)

Creating a live graph

Historical data Analysis

 

The historical graph on hourly average data can be created by the Data Crunching process. The schedule module is used to automate the creation of hourly average data. Custom implementation for the average of data developed in a separate method and configured in the schedule to be called every 60 minutes in  custom_scheduler.py file.

 

def schedule_conf( ):
schedules={}
schedules={
‘STATUS’ : ‘DISABLE’,
‘SCHEDULES’ : [
{‘OnceIn’ : 1,‘methodtocall’ : oneminschedule },
{‘OnceIn’ : 5,‘methodtocall’ : fiveminschedule } ] }
return schedules

After processing the data, the data is pushed to the user interface through the web socket. The bar graph is created using plotly to display the crunched data

 

reference code for bar graph

x: [ data1 [i] [‘time1’] ]
y: [ data1 [i] [‘value’] ]
Plotly.newPlot ( ‘history’, data123,layout, {displayModeBar:false, responsive:true},
{scrollZoom: true} );

 

We believe you will be able to add your own algorithm similar to the above.

Creating a Historical Graph

Generate Event Alarms

 

The variation in the temperature can be noted and displayed in a widgets. For a certain range of temperature values the data will be shown in varied colors to alarm for a temperature variations. Here, the data will be shown as red colored text if the temperature is above 500 degree Celsius (default value) and blue colored text if the temperature is below 500 degree Celsius. The default temperature range set can be changed according to your need. You can add your own widgets and notifications to the user interface by customizing custom_ui_server.py file. To schedule your alarms use  custom_scheduler.py.

 

 

reference code for text_widget

if ( key == “message-integer” || key == “message-float” || key == “message-string” ) {
var message = data1 [key] [‘message’][0] ;
document.getElementById(id).innerHTML = message + String.fromCharCode(176)+unit+ ;
}

Creating a Live alarm

Alerts for the Shop floor operators

The comparison of incoming data with the previous hourly average data is done. Alerts can be created based on the compared data. If the temperature exceeds the hourly average temperature then the data blinks by creating an alert. This can be done by adding event based triggers using the scheduling module. Add your own algorithm to create alerts in custom_scheduler.py.

 

reference code for alarm_widget

if ( p_avg < data3 [‘msg’] [‘message’] [0] ){
document.getElementById (“alert”).innerHTML=data3 [‘msg’] [‘message’] [0] + “ALERT!” + “Temperature High”;
}

Creating a Alert

Dashboard for IOT Application in a day

 

All the widgets created by the developer was put on a separate page, as it can be used as a dashboard to be projected/displayed on to a bigger screen. This has been done as a custom URL inside the custom_ui_server.py similar to the following code snippet.

  

Add your URL here

def custom_urls():
urllist={
“AUTHENTICATION”:’DISABLE’,
“urls”:[{“/extend/Dashboard”:dashboard}]
}
return urllist

The hackathon IoT Application built in a day is available on GitHub for trying it out. Download the MQTT Broker now to start building your application today.

MQTTRoute 3.3 released – Control Devices on your Android Phone

MQTTRoute 3.3 released – Control Devices on your Android Phone

We dwell in a fast moving environment where speed is crucial in every little thing we implement. This makes us set our heart on any technology which bring us aid to speed on whatever we do. That’s where mobile apps come in which enables people to control & manage everything at fingertips much faster & easier.

This makes us to think over an idea on providing mobile app support to monitor MQTT devices connected to the MQTTRoute. And Yes!! Today we are much excited to tell you that we have just launched our new MQTTRoute mobile app for MQTT users currently available on android with MQTTRoute 3.3. Continue reading to find out how it helps you!

Why MQTT Broker App?

MQTTRoute is a MQTT based finely crafted MQTT Broker. It’s developed to provide fast & reliable M2M communication to and from connected devices. MQTT Broker App works in conjunction with the MQTTRoute enabling you to run it on your android smart phone. Running MQTTRoute alone can provide you a powerful way to collect, monitor and visualize your data. But, when it comes to quickly accessing data, MQTTRoute with mobile app is the perfect choice. This makes it more appealing for the on the go users. With the new MQTTRoute app we provide you with the much more convenient & quicker way to manage & monitor your MQTT devices connected to the MQTTRoute.

mqtt-broker-app-dashboard

We make it simple!

As we discussed earlier, In today’s technology world, mobile devices and the mobile applications that unlock their value—are the most popular way for people and businesses to acquire data from their internet connected devices. Businesses building IoT systems or utilizing MQTT / Internet of Things (IoT) implementation in order to stay relevant, responsive and successful, need to develop mobile applications to meet their customers demand. Yet mobile application development might seem daunting and it is not everyone’s cup of tea to spend much time developing mobile applications. Fortunately with MQTTRoute, it comes up with the MQTT Broker app which makes it easy to manage & control your MQTT / IoT applications and you no need to build it by your own.

Also, we make it more simple for you to customize your UI & to create multiple dashboards with pre-configured widgets from the app itself. This is because, we don’t want to restrict you to just view your MQTT data and we want to make you to present & visualize it in a way you need. This makes your IoT application, user and mobile friendly enabling to access & monitor MQTT devices anywhere.

Mobile App currently supports android and we are working to make it available soon in IOS.

MQTTBroker App widget

Feel free to write to support for a complete Demo. 

To get started sign up for hosted setup or download forever free version for local installation.

Get the Mobile App now on Google play store.

MQTT Broker app in Google play
High availability MQTT Cluster

High availability MQTT Cluster

High availability MQTT Cluster is very important for any IoT deployments in production environment. Failures can happen due to Software failures, Disk errors, network connectivity, Hardware component failures, etc.,  To ensure that your services are up and running always to your customers without a single point of failure, the  services need to be functionally and physically redundant. By default MQTT protocol a publish and subscribe model does not support high availability.  But the resilient and fault tolerant MQTT high availability set up can be done with simple steps with the right MQTT Broker. With the latest release, Bevywise MQTT Broker comes up with the high availability server which avoids failure for MQTT communication. This article helps you to set up a high availability MQTT Cluster with the high availability server of Bevywise MQTT Broker

The distributed cluster set up

The created cluster set up helps to ensure that the broker is consistently functional without any failures. It benefit yourself by enabling failover if any of the MQTT Broker you’re using is inaccessible. Consider you’re having numerous devices connected to a single MQTT Broker / Server. There is a high chance of any malfunctions to occur and the MQTT Broker may eventually fail, losing the data. This is where the clustered set up extends its help. This distributed architecture allows you to have two or more MQTT Broker / Servers. So that if one of theBroker / cluster node stops working, the other cluster node / MQTT Broker will take the responsibility and perform the task without giving room for any interruptions to take place on the client side. Thus cluster nodes are considered to be the MQTT Brokers.

For ambitious MQTT deployments with many millions of clients, any number of broker nodes can be deployed & the data can be distributed maintaining stability and availability.  Even if network splits occur or any kind of connectivity problem between nodes arises, the cluster as a whole is still available, as long as at least a single node is still healthy, and heals itself in error scenarios. This is because, whatever may be the count of MQTT servers, everything will be in active state, and the data will be distributed between the nodes. So, the healthy one will take the role of publishing the data to the subscribed client.

HA Architecture

 

HA architecture

Let’s take the above architecture as an example. This illustrates that a High availability server is installed in each machine that runs the MQTT Broker. A Load Balancer is configured to balance the loads between the brokers and the High Availability server in one is primary while those in others are just back-ups.

Role of a Load Balancer

Load Balancer is also a part of high availability clustered set up. The role of this load balancer is to balance the incoming connections to your broker infrastructure. It is a decision maker whose role is to decide which MQTT Broker / server / cluster node in the cluster should take the role of failed MQTT server. That decision could be based on the weightage or the performing ability of the MQTT Broker. Install any load balancer of your choice and set up port forwarding.

Setting up high Availability

For setting up High availability you need at least two MQTT Brokers. The number of brokers may increase based on the count of clients.

You can get your MQTT Broker from our download page.

You have to install MQTT Broker in each virtual machines. Do the following steps to enable the high availability set up.

Let’s first take a peek at the load balancer set up.

Enabling High Availability with Nginx Load Balancer

Set up Nginx as a load balancer in one of the machines. Following are the steps to install and configure Nginx.

  • Update and install Nginx using the following command.

$ sudo apt-get update

$ sudo apt-get install nginx

  • Then configure the Nginx proxy using the following command

sudo vim /etc/nginx/ nginx.conf

#Nginx Configuration

stream {  
    upstream bw_brokers {
        server <IP of MQTTRoute Broker1>:1883;
        server <IP of MQTTRoute Broker2>:1883;
    }

    server {  
        listen     1883;
        proxy_pass bw_brokers;  
    }

    upstream bw_HA {
        server <IP of MQTTRoute Broker1>:8082      fail_timeout=1s max_fails=1;
        server <IP of MQTTRoute Broker2>:8082        backup;
    }

    server {
        listen     8082;
        proxy_pass bw_HA;
    }
}

Ensure that you’ve provided the IP of the MQTT Brokers in the above configuration.

Setting up MQTT Broker for High Availability

  • Go to Bevywise/MQTTRoute/conf/broker.conf file
  • Provide the load balancer’s IP you got after setting up the load balancer.

[HA Server]

HASERVER_ENABLED = YES

HASERVER_IP = <IP address of Load Balancer>

HASERVER_PORT = 8082

Make sure you’ve provided the IP of load balancer in all the MQTT Brokers available in the clustered set up.

To configure the HA Server :

For Linux users,

  • Unzip the HAserver.zip file which is present inside the ./Bevywise/MQTTRoute folder.
  • Then open ./HAServer/config.json file which is present inside the unzipped folder.
  • Configure the HA Server port. By default, HA Server runs at 8082.

To start the HA Server,

  • Open the terminal and go to ./HAServer/bin
  • Run HA Server using the command ‘sh startServer.sh’

Windows users can execute the exe file.

Database Configuration

Despite the count, all the MQTT Brokers should possess the ability to deliver data to a singe database. That database should run on a separate virtual machine. For setting up the same, you can refer to the Digital Ocean document using the following link

https://www.digitalocean.com/community/tutorials/how-to-set-up-replication-in-mysql

Alternatively you can use Amazon RDS or Azure Data Store which by default provides the redundancy of the Data storage and much more features like time based snapshots for recovery. To know the detailed steps of database configuration, follow this link.

Now the complete High Availability set up is ready.

Validate the High Availability MQTT Cluster

MQTT client should  have the necessary code to reconnect whether there arises a disconnection issu. Refer this blog for building MQTT client.

  • Connect a MQTT Client that has the ability to reconnect and connect to the public IP of your load balancer machine.
  • You can see the device on MQTT Route UI and also you can see the MQTT messages.
  • Stop the broker which has the HA server currently active using the command “sh stopbroker.sh” once the complete set up is running.
  • You can see your edge client being disconnected, reconnected again and start continue with its messaging. And it can be found seamlessly on the MQTT Route UI.
  • The standby one has thus become active and started serving the requests.

Download MQTT Broker now for FREE to get started with your High availability MQTT Cluster.

Reach support for any queries regarding any queries or suggestions.

Best MQTT Broker for IoT / IIoT Application Development

Best MQTT Broker for IoT / IIoT Application Development

The number of devices getting connected to the internet day over day is increasing astoundingly. Forbes estimate, by 2020, more than 34 billion devices will be online. MQTT is getting a huge adoption across industry and personal connectivity.  Hence, this mandates a need for a more powerful and highly extendable and best MQTT Broker for managing your devices. Bevywise MQTT Broker is a lightweight middleware that can help you work on your core business challenge and leave the data collection to the tool. Here we have listed some important criteria which makes Bevywise MQTT Broker standalone to be the best in the market.

Perfectly compliance with MQTT

Every MQTT Solution should support MQTT specification managed by OASIS MQTT Technical Committee. It should be cent percent compliance with the MQTT standard specification. For more information, you can glean from the MQTT.org site.

Bevywise MQTT Broker in that case, is built according to the  MQTT 3.1 and MQTT 3.1.1 version specifications. It connects any device and system reliably and securely via the standard MQTT messaging protocol. Beyond this MQTT 5 is also available. Initially it is available in hosted MQTT Broker version.

Faster Throughput MQTT Broker

Fast and reliable message delivery / M2M connectivity is important for all IoT Applications.

Hence, we cautiously built the broker to get the best of both worlds. Therefore, we built the core engine on C and can give you the fastest throughput. The broker can read at a rate of 3 MB per second. For example, a typical deployment where devices send 50 bytes of data, the broker can handle 55,000 to 60,000 messages per second.

Data Analytics Integration

Enterprise / OEMs use a large number sensor to monitor and analyze their devices & product performance. One size doesn’t fit all. This is true for every enterprise & OEMs going to implement IoT. As IoT is a diversified implementation, we allow users to store data into any of their engines as needed. You can process the data  by them before they send it to the storage. Some of the custom store implementation done by our customers.

You can use the custom store for the integration of the data received with any application. One of our customers has integrated the Broker with the softlab24 using the customer store. In addition, the new additional hooks will help you flexibly integrate your IoT data into any of the analytics for perfect visualization and data analysis.

We can provide a more customized integration of the MQTT Broker.  We would be happy to add your integration story here. Let us talk

Monitor & Create Custom Alarms

To Err is Human is the ultimate reason, why human invented machines. On the other hand, a continuous process industry, health care, logistics, National security and other mission-critical operations needs 24 X 7 monitoring. We built MQTTRoute with a Rule engine which helps administrators create event based rules for the sensor data. With this, admins can easily create an alert message and send the message to a specific subscriber or web application. This help users from wasting human power and money.

MQTT Communication Security

With rapid increase of IoT device connection to internet, many IoT bots or malicious data will crash the device and steal or know your data from via crashed device. Bevywise MQTT Broker has the most powerful and flexible security options. Enable TLS / SSL communication between your edge device & the MQTT Broker for a secure data flow. You can also create individual and highly secure authentication keys for each of your devices and make sure no one can intrude into the system. A custom auth plugin is available to integrate IAM (Identity Access Management) & SSO (Single sign on) for central management and control login access of users.

Best  MQTT Broker Dashboard

IoT application needs a 360 overview of device status and the real time data monitoring for decision-making and analysis.  An overall summary dashboard gives the complete real-time overview and general status of the system.

Hence, MQTTRoute is much more than a middleware. It provides an option to view the list of devices connected right now and dig deeper into each device by messages, subscriptions, etc.  You can use the User interface to send a device management command to any of the devices. Administrators will be able to add Authentication keys from the User Interface dynamically without restarting a Broker. Users can easily change the broker to their language via localization support. The MQTT Broker UI is also built with a dynamic update of the data from the server without a refresh for better monitoring of devices. Choosing the best MQTT Broker will mostly rely on the customizable dashboards which is the key for application output. Hence, Bevywise MQTT Broker provides option to customize UI with python hooks to integrate widgets based on Industrial / Business needs. You will be able to design your own UI to make it flexible for your industry.

With the latest update, we have added the support of creating multiple dashboard along with some built-in widgets from user interface itself.

High availability support

MQTT Broker should not fail as it is a necessary part of any IoT Application’s messaging framework. Failures can occur due to poor network connectivity, software and hardware component failures & more. Hence, Messaging services should be functionally available to ensure that they are up and running always. That’s why High availability MQTT Cluster is crucial for any IoT deployments.

Bevywise MQTT Broker is one such middleware which has cluster capability with High Availability server that will not fail and ensure that they are highly available.

Read this article to set up high availability MQTT Cluster with the MQTT Broker.

REST API Integration

In spite of MQTT being a powerful Communication protocol, we should not use them for building manager application integration. Refer to the best practices why MQTT is not the right choice for the manager application. MQTT Broker comes with a rich set of REST APIs which can be used for integration of your manager and also for building mobile applications over MQTT Broker.

Run anywhere

MQTTRoute can run on Windows 7  &  10 Desktop and Windows Server 2012 & 2016, Ubuntu, Redhat, Raspberry Pi & Mac OS. You can run Broker on premise, private cloud and public cloud as needed. The server application can be run as a windows service or can be run using MMonit, docker / Kubernettes or using OS Service rules.

Faster Development Cycle

The framework has been added with multiple hooks, so that we will be able to build application much faster. You will be able to add your AI / ML code and also customize widgets as needed. In one of our hackathon event, we were able to build IoT Application in a day using MQTT Broker.

With the powerful key functionalities & hooks, MQTTRoute can be the best choice as a MQTT Broker to build & manage your IoT Applications.

A recent deeper analysis of MQTT Brokers in the market by University of Szeged, unveiled that Bevywise MQTTRoute stands second along with Mosquitto on the message processing performance. MQTTRoute defeats all prime MQTT Brokers such as HiveMQ, ActiveMQ with its message processing capabilities and better latency. Check out the comparative study now!

I believe this article will help you choose the best MQTT Broker. MQTT Broker App is now available with the new MQTT Broker version 3.3. You can control & manage MQTT devices using android with mobile app.

Feel free to contact support for a free consultation.

To get started, sign up for hosted setup or download a forever free version for local installation.