Just think a while if you can build your IOT application in a day. Yes! You read it right. We recently did a major update of the MQTTRoute where our customers will be able 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. MQTTRoute 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.

Industrial Furnace Temperature Monitoring – Sample Application

Monitoring and control of 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

Create a live graph

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)



Create a historical graph

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.