Industrial and non-industrial businesses will require IoT solutions. However, due to the high cost of development, not everyone can afford even to test a concept of a future product. As a result, there is a demand for a solution that would streamline the process and save time developing the product from the ground up.
The key tech & business challenge was to create a product that would address all of the concerns faced by device manufacturers — businesses and developers.
The thing is that businesses need to maintain track of their products, monitor the number of devices, etc., while developers need firmware version control and a testing tool to keep track of their firmware.
The solution was to build a platform for vendors to introduce smart devices to the market and to upgrade existing ones — 2Smart Cloud. These can be simple consumer devices, such as household appliances, or complex equipment that transforms into a full-fledged IoT device with the platform, which is an opportunity for the manufacturer to gain a competitive advantage.
We started with an idea and turned it into a fully functional platform. As a result, we got a platform for fast IoT device creation and market launch.
The architecture decision was quite simple and fast — microservices. Why? Because creating a product for the IoT sphere is difficult to design a good monolithic application. There is a range of tasks that need to be solved:
- monitoring of device activity;
- collection of sensors data;
- analysis of devices data;
- various integration services (Google Home, chat bots, etc);
On top of that, when it’s not about hundreds of microservices, they’re easier to manage. Easier to scale, easier to track bugs, easier to deploy, easier to deliver new functionality — that’s why it was decided to use microservices developing 2Smart Cloud.
This is a model illustrating the visualization of software architecture:
When designing 2Smart Cloud’s UX, we considered:
People can be hesitant to use a complex system like IoT — we considered this while designing and implementing the product;
User interface should be simple, quick, and technically uncomplicated. No one wants to use a complicated platform, so we made it easy and intuitive;
People want to use products that are tailored for them — 2Smart Cloud’s UX design provides personalized experiences. For instance, the set of widgets can be customized to meet customer needs;
For anyone to use IoT products, they must be portable and interoperable. Smart and connected devices work best when they can connect;
Since connectivity is the main goal of IoT products, we focused our UX design efforts on this aspect. Additionally, 2Smart Cloud’s UI/UX system is cross-platform compatible, allowing users to work seamlessly across platforms;
We created a platform with sets of interface components for working with different data types. To display the temperature, you can choose a preferred widget: a text, a graph, or a speedometer. For the target temperature, you can use a basic input, slider, or thermostat.
2Smart Cloud is made up of two components:
an administration panel and a mobile application.
Vendors can correct firmware errors, update descriptions, and images when adding real devices. This way, they automatically update each user’s firmware version. Using drag-and-drop, vendors can create a management interface for the user’s device.
The delivered 2Smart Cloud platform allows to:
- create a firmware which provides customers a modern web interface, simple pairing and over-the-air updates, using the simple firmware builder or SDK;
- create a custom mobile app using the widget library in a matter of minutes;
- test the product before publishing it;
- control IoT devices through mobile app and other methods such as voice commands, phone calls, and messengers bot commands.
Additionally, the platform is specified by:
- Support for ESP32, Raspberry Pi, and any other MCU that can be used to build an IoT device;
- Allowing vendors to monitor the number of active devices and other vital indications, as well as detect possible difficulties after updating the firmware version.
- Allowing vendors to choose from a variety of solutions to make producing compatible device firmware simpler, including: – creating firmware for a commercial device produced in large quantities using the ESPHome syntax (basis for home automation systems built for piece production);-SDK for ESP32 microcontrollers, where the vendor just needs to explain the device’s operation in the firmware code; the platform’s interaction logic is already described in the SDK;- guide and documentation for developing firmware for any other microcontroller, allowing the creation of an IoT device.
- Having incorporated a cloud-based MQTT broker to connect and manage devices and sensors.
- Having a mobile application integrated with a MQTT broker, allowing platform vendors to create their own mobile applications using a simple builder. Out-of-the-box applications can be optimized for IoT, saving time and resources throughout development.
Throughout the product development process, our team passed some significant milestones:
- In 6 months, we built the MVP of the product, attracted investors and received funding for further development.
- In 1.5 years, we introduced the final product to the market.
- Currently, we have over 100 DIY clients, three vendors, and 200 mobile app users after two months of an active marketing campaign.
Following customer feedback, we continue to add new features and improve the product. We also provide product support for vendors and their customers.