The customer is an entrepreneur who was developing his own ZigBee Gateway. The requirements for the gateway were the support of the Wi-Fi cloud connection and a convenient mobile application for the end users.
He had an electrical engineer and embedded programmer in charge of internal development and contacted us for assistance with the cloud infrastructure and mobile application development.
The main business challenge was to create a competitive market-ready home automation kit based on ZigBee protocol with the least investments possible into product development.
The main technical challenges were ensuring remote cloud managing capabilities for the ZigBee devices and embedding the automation scenarios in the hub`s firmware.
To address mentioned above challenges, we proposed the following approach. As the customer could handle the whole hardware part of the project on his side, we provided comprehensive documentation that, along with consulting from our specialists, was sufficient to develop firmware with the embedded automation scenarios and full compatibility with the 2Smart Cloud platform.
Such an approach allowed us to provide remote control capabilities with the support of voice assistants and smart ecosystems integrations through the native 2Smart Cloud application. The magic of this solution is that cloud infrastructure with all the needed tools for device support and mobile applications is a piece of ready-made functionality that drastically cuts development times and costs.
The main technical challenge was to develop a method of connecting endpoint devices, such as ZigBee sensors and actuators, to the cloud MQTT broker via the gateway, as they do not directly communicate to the cloud. The gateway should spawn new entities with unique IDs into the MQTT broker and handle changing their states and readings, translating commands between ZigBee and MQTT on the fly.
To validate the workability of such an approach, our engineers developed a simulator using NodeRED. After successful internal testing, we provided a customer`s developer with all the necessary instructions on how the gateway`s firmware should handle the spawning of unique entities for endpoint devices.
We provided iOS and Android mobile applications as a part of the 2Smart Cloud platform, which allowed us to cut the development time and costs on this part of the project basically to zero. Also, the customer received a powerful drag and drop tool to refine mobile application interfaces for each connected device flexibly. All of the provided features of the mobile apps can be found here.
The last demand from the customer was to provide cloud infrastructure to ensure the product’s correct functioning. We offered our public cloud servers on a subscription basis, providing all the necessary vendor functionality.
As a part of the platform, the customer received a web dashboard to manage his products, refine the layouts of the mobile applications in real-time, gather stats on the active devices, and a tool for over-the-air updates.
Addressing the task of future scalability, we faced two significant technical difficulties while developing a universal firmware:
1. Every firmware parameter such as sensor telemetry, wi-fi network credentials, ethernet settings, and connection statuses, along with others, should be a unified entity. For this entity, it is necessary to configure read/write access rights through the cloud-based web application.
In addition, a protocol must be specified for each parameter to receive data. Suppose the temperature sensors operate via various protocols such as the i2c or Modbus. In that case, choosing a protocol should be configurable to ensure the flexibility needed for further scaling by connecting different hardware.
To solve this problem, we devised a universal structure that allows administrators to declare and configure various firmware parameters with the capability of adding new protocols.
2. It was necessary to establish interaction between devices on the one-to-many principle, also known as Master/Slaves since the final devices combine a different number of MCUs. The master entity is responsible for communicating with the cloud and managing Slave devices.
During the development process, we faced an unobvious problem in the incompatibility of the esp32 chip working with i2c in slave mode. To uncover the origins of the issue, we debugged at the lowest level, analyzing the output signals from the MCU.
To solve the problem, we proposed using the esp32-c3 chip in the final product since this problem is fixed at the hardware level in the new generation chips.
We provided professional consulting to develop the firmware optimally. Also, we offered a cloud backend with the mobile applications for as low as 150 euros/month, surpassing the customer’s expectation by a significant margin.
You can also create your ideas with 2Smart cloud software within the free plan if you want to connect up to 20 devices to our platform.