Project information
- Category: Software & Edge
- Project date: Jan 2023 - Ongoing
- Project value: $10k+
- Feedback: "It’s hard to find a team like Brainstorm that can cover all your software needs."
About Client
The client is a Canada-based hardware integration company doing industrial automation, system integration, and electronics engineering. They develop custom carwash control stations, parking control systems, and other integrated systems.
Problem
The client develops control systems for carwashes and they wanted to expand their portfolio by adding a web-based platform to help carwash owners monitor the status, problems, and revenue from each carwash and its belonging boxes. The client struggled to find a company that can handle both low-level microcontroller code and web-based development until they spoke with Brainstorm.
Solution
Brainstorm engineers developed multiple modules of the platform, including the low-level code on ESP32 microcontrollers stationed onsite that collect sensor data, gateway code that transfers the data to the web server, and the frontend that displays the information to users and provides controlling capabilities to admin users.
The project can be summarized through the following modules:
- Low-level C++ code on ESP32 collecting the sensor data, preparing messages to send via Wi-Fi, and sending them using the MQTT protocol.
- Gateway module that uses AWS MQTT (part of AWS IoT) and AWS Lambda to read the messages and store them in a MySQL database.
- Web server code that fetches data from the MySQL database and displays it to the user. The admin module is used to send messages to ESP8266 microcontrollers to reset error states, reset the money counter, and even turn off boxes remotely if there’s a severe problem.
Results
The clients’ customers were thrilled with the new feature, and almost all of them signed up for a yearly subscription. Since many customers have carwashes in different locations, managing them remotely was a long-awaited feature for them. Also, it added an extra security measure to make sure no revenue is lost to thieves who sometimes frequent carwashes and steal change.
Languages
Python, Javascript, C++, C
Databases
MySQL, SQLite
Frameworks and Tools
Flask, ReactJS, AWS Lambda, MQTT