B

BEML Connect

A Quick and Secure way to transfer machine vitals to a secure cloud database.

The problem BEML Connect solves

BEML Machine Vital Information Collection System

BEML or Bharat Earth Movers Limited, is PSU making large-scale utility vehicles used by military and civil defense for construction purposes.
These heavy machines have various parameters which are needed to be continuously monitored and controlled, but due to the fact that they are operating in such remote locations, internet connectivity is not available for them to store the collected data and to communicate with the central server which is important for the maintenance of the vehicles and managing the fleet working on a location.
So we came up with a solution to tackle this problem. We made a GUI-based application that can be used onsite to collect the data from the machines in an encrypted manner using an RSA cipher system and can be collected by a simple mobile application without any internet connectivity using a pseudo-network created using mobile hotspot. This cyphered data can be sent to the central server using a secure channel to a cloud database hosted on Azure and can be decrypted by the central server using the same RSA cipher system.

Challenges we ran into

  • First of all, we ran into the challenge of transferring data without any internet connection and wirelessly between the machine and the client smartphone app. We tried many different ways and spent a lot of time learning about networking and how it works, and finally created an HTTP port forwarded server over a wifi network that can transfer data.
  • Secondly, we faced a problem in creating a distributable for our native electron app, as all the node processes were not working on it, so we instead created a bash file to execute it.
  • We faced challenges like integrating the backend API's in creating a cross-platform app using React-Native for data collection, as we were new to this framework.
  • Lastly, we faced challenges in effectively encrypting and storing the data and sending it through API calls which we figured out by testing using Postman.

Discussion