Intuz Development & Consulting
ESP32 Wifi chip selection
Azure IOT Hub platform consulting
Device Onboarding & management
Web & Mobile application
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.
Selecting the optimal technical stack for the clients’ needs
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.
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.
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.
To support the compliance, all the user data and/or identification keys are encrypted before being stored into the database.
Clean, simple and easy to understand
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.
What Our Clients Say
We changed the way they do business, and they have no complaints
Working with INTUZ was a relatively smooth and stress-free process. The team did really well in communicating and staying on track with the project. They also were very accommodating to my schedule and making all the minor changes that needed to be made in order to successfully complete the project.
Intuz quickly delivered products that would take other agencies months to develop. They followed a transparent workflow and adapted to changes to the project scope. The entire team was friendly and highly skilled, making them an outstanding partner.
President, myPurpose NETWORK
I enjoyed working with the Intuz team they offered me great expertise and very good advise on all of my current and future projects.
Let us know if there’s an opportunity for us to build something awesome together.