Cloud BMS

Remote monitoring of battery management systems via Azure IoT | IP-Camp | 2021 - 2022
Our customer manufactures electric forklifts. Their batteries are not sold, but leased to customers on a per-use basis. They collected the usage data directly from the forklift's battery management system on site. Their plan was to connect their battery management systems (BMS) to the cloud, collect data real-time and analyze it. This way they not only reduce their costs by not having to send a technician to the site but also improve the user experience by remotely monitoring the battery condition and send replacements when needed.

Tasks

  • Designed the Azure infrastructure using components like IoT Hub, Azure Functions, Cosmos DB
  • Built deployment pipeline using Azure DevOps
  • Built backend API using .NET and Cosmos DB
  • Built server-side report generator using Python
  • Built a frontend app for battery monitoring and invoicing using Angular, Bootstrap and ApexCharts
  • Performed code reviews for the BMS code, written in Go, C++ and Qt, running on Raspberry Pi and Linux

Key achievements

  • We’ve built a fully functional system from scratch
  • Used Azure for the infrastructure, implemented fully automated deployment pipeline
  • Built high performance, cloud-native .NET backend to handle big data sets
  • Implemented server-side, offline analysis and reporting for better user experience and faster response time
  • Infrastructure is able to scale horizontally and vertically with minimal downtime