India is the third largest producer of electricity, yet a large part of its electricity needs is fulfilled by Diesel Generators.The Diesel generator market is growing in India and is expected to reach USD 1.2 Billion by 2020. From telecom towers, to hospitals and corporate offices and manufacturing facilities depend heavily on Diesel Gen-sets to provide for a power backup. In the as - is scenario, the Diesel generator manufacturers and owners depend heavily on manual scheduled maintenance to ensure that they do not malfunction and continue to operate optimally. Needless to say a manual process is error prone and inefficient leading to malfunction of the Gen-sets. In the age of Industrial IOT Gen-sets qualify as critical infrastructure and a real time monitoring is necessary.

What it does

Most of the Gensets come equipped with a controller that allows us an access to vital information. Lumos uses a device built on Aurdino and Raspberry Pi 3 that connects to the serial port and receives information via MODBUS protocol. The Raspberry PI has a GPRS module that allows it to connect to IOT Hub. The device runs IOT Hub client responsible for communicating information to IOT Hub seamlessly and securely. IOT Hub routes the telemetry received to Azure streaming. The telemetry is also separately stored on Cosmos DB.

The visual layer of the application consists of Angular 5 with embedded power BI dashboard which is fed by Azure streaming to provide it realtime information about the Genset in question. Lumos can also be downloaded on iOS and Android devices as native mobile applications. The mobile app provides the capability of viewing the current and historical information about the Genset. An alarm generated based on a pre configured condition is received as push notifications on mobile apps.

Lumos also provides a visual interface to register Gensets, define a hierarchy to be able to roll the information up.

How we built it

The first problem to be solved was the Lumos device that could connect to Diesel generators and retrieve information via MODBUS. We used serial port available to retrieve information through RS-485. The device had the logic of mapping retrieved values to pre - defined register mapping for the controller.

The raspberry PI ran an IOT Hub client which could communicate information seamlessly to IOT Hub using MQTT. Python SDK for IOT Client was used for the purpose.

Challenges we ran into

The first challenge we ran into was with the register mapping for MODBUS communication. We soon realized that the documentation provided by most of the Genset controllers in India were either inaccurate or out of date. A recursive method was followed to identify the correct mapping of the parameters.

Gensets are often placed in the basement. GPRS connection does not always work as expected. As such elaborate adjustment was needed to queue the message up and deliver when the network was available. We also had to put a ping functionality in the gateways to be able to identify non responsive gateways.

Accomplishments that we're proud of

The Lumos device that connects to the Genset is significantly cheaper than similar solutions available. Our ability to work through inaccurate documentation of controller manufacturers allowed us to make the solution compatible with most of the Digisets in operation in india.

What we learned

With IOT Hub Azure provides a comprehensive solution to integrate devices securely and seamlessly. It is fairly simple to define backend integration logic allowing us to focus on the overall solution.

What's next for Lumos

We intend to invest into Lumos to take it to Digiset manufacturers and owners to provide them access to near real time metrics about their digisets.

Built With

  • angular-5
  • azure-functions
  • azure-iot-hub
  • azure-streaming
  • esp-12e-(nodemcu)
  • power-bi
  • python3.6
  • raspberry-pi-3-model-b
  • service-fabric-cluster
+ 88 more
Share this project: