Consumer IoT Solution for Pool Equipments Controlling & Automation
Intuz Development & Consulting
- ESP32 Wifi chip selection
- Firmware development
- Azure IOT Hub platform consulting
- Device Onboarding & management
- OTA update
- Audit trail
- GDPR compliance
- Web & Mobile application
Brief Introduction
The system is about managing IoT based pump controllers/devices, and each device could have multiple ports (relays) connected to motor, light or other devices. These ports are controllable through different modes like Manual, Timer or by scheduling ON and OFF.
When a user purchases a new device they have the option to control it directly through the buttons provided on the device or bring the device online by onboarding the device to the system through the mobile app, which provides a proficient UI/UX, provide wifi credentials, security details, other configurations to devices with a few easy steps.
Once the device is onboarded, the user has the option to control the device and its ports, and share the access with their family members or technicians.
UI/UX Design
Clean, simple and easy to understand
Technical Stack
Selecting the optimal technical stack for the clients’ needs
MQTT Broker
Intuz DevOps experts did a detailed analysis on both self managed and cloud providers’ messaging queue services and after considering the reliability, post-deployment maintenance, service-cost, security and GDPR compliance we went with Azure IoT services (IoTHub, Event Hub, Event Grid, and more). Now, the challenge with choosing a cloud service is its resource utilisation, if not managed correctly could exponentially drain the money with every new user. And the system requirements were to share the real time data with multiple users for any given device. So, to concur that we analysed the data and events count and prepared a single channel driven architecture that could later go on to support other system features (read more in MQTT broker cost optimization).
MQTT Cost Optimization (Azure)
Azure IoTHub/IoT-services are event driven, which means every request sent to or from (unicast/broadcast) the devices through the IoTHub results in an additional event count, so, allowing direct communication with the end user would be an additional listener/broadcaster. To avoid that we introduced websockets that we bridged with a single channel receiver from Azure IoTHub. Synchronising two asynchronous requests in itself is a challenge and to achieve that we leveraged the triggering mechanism. The term “Triggering mechanism” itself self explanatory, it means on any particular change (it could be anything, like change in data, state of the device, or even some other event itself) a new event would be triggered, which resulted into helping us not only pairing the requests but also reducing the number requests/responses thus decreasing the number of events count.
Dynamic Device Capabilities Management
As the system supports multiple devices with their associative models, we architectured the system to be configured dynamically which allows admin to add/alter/delete device models and configurations that would dynamically affect the screens of both mobile and web apps and how the system will work.
Easy/Efficient Deployments
The system is bound with Github action/pipelines to ensure continuous integration and deployments. Each new push will not create a down time of more than 4~5 seconds.
OTA Updates
The system is designed to seamlessly manage OTA updates, for each device type, the admin can push new binary right from the admin panel while conveniently maintaining firmware versions. While the OTA is being performed, all the users with shared access are notified in realtime and also all logged devices get run-time status of the OTA update on the device to avoid any conflicts.
GDPR Compliance
To support the compliance, all the user data and/or identification keys are encrypted before being stored into the database.
Project Challenges
The biggest challenge was to identify the most suited chip that can accommodate full OTA features as well as it should be cost effective.
Once the chip selection was done, we provided consulting for PCB board design followed by firmware development.
Technical Specifications
React Native
What Our Clients Say
We changed the way they do business, and they have no complaints
Let’s Talk
Let us know if there’s an opportunity for us to build something awesome together.