This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Smart Home System Development
Background
A smart home isn’t just a tandem of a smart coffee maker and voice assistant. It’s a system that can control all appliances in your house, from the door lock to the tap in the bathroom.
A smart home system makes everyday life easier. With a simple tap on the smartphone, one can turn the lights on and off, shut curtains, and pick a TV channel. Various sensors allow for monitoring the state of the house and its utility systems.
As high-tech solutions are becoming cheaper, even average households can afford smart home solutions. In this project, our client wanted to develop a custom smart home system compatible with the most popular smart appliances and gadgets on the market.
Request
The customer asked Integra Sources to develop a smart home system compatible with ZigBee smart devices from third-party manufacturers.
We were also tasked with developing a mobile application to control the system and a cloud server.
Hub device design
Our first task was to create a hub device that would serve as a gateway between the cloud and the periphery of the system. It transmits the status data from sensors to the app and the commands from the app to actuators.
The hub is based on an ESP32-S2 microcontroller responsible for the functionality of the device. This is a high-performance chip with a large memory size. Furthermore, it has a built-in Wi-Fi module for accessing the cloud.
Additionally, the hub has a Quectel EC21-E module for accessing the internet via cellular communication. It can both use the LTE (4G) communication standard and fallback to 3G and 2G. This way, users can receive status information and give commands even if 4G is unavailable.
The microcontroller connects to an nRF52840 Bluetooth module. It allows the device to communicate with smart home sensors and actuators. The module receives data from the periphery and transmits it to the ESP32-S2 that processes it and sends the information to the cloud.
Firmware development
The team wrote firmware for the ESP32-S2 and the nRF52840. As of now, the firmware developed for the nRF52840 allows it to communicate with ZigBee smart devices. But the customer is planning to develop firmware that will allow the hub to support data exchange using BLE and serve as a gateway for OpenThread networks.
Mobile application development
Our software development team created a cross-platform mobile application for iOS and Android through which users can control the system and receive status data.
AWS cloud
Lastly, Integra Sources set up the AWS IoT service that allows the hub and the application to communicate via the internet. This way, users can receive data and control the system from anywhere where an internet connection is available.
Periphery
The customer asked the team to make the system compatible with the following list of basic smart home devices.
However, the system is compatible with other ZigBee devices as well.
Scope of Work
Embedded hardware development
We created a hub device for the smart home system. This work included the following tasks:
- Schematics design
- PCB design
- PCB assembly
- Prototype testing
- Debugging
Firmware development
The team developed the firmware for the MCUs of the hub:
- ESP32-S2;
- nRF52840.
Software development
- We set up the AWS IoT service.
- The team developed a cross-platform mobile application through which users can control the smart home system.
Technologies Used
- The device’s business logic is implemented on an ESP32-S2 microcontroller with a built-in Wi-Fi module responsible for accessing the cloud server.
- We used a Quectel EC21-E module for accessing the internet via cellular communication.
- An nRF52840 Bluetooth module was used for communicating with peripheral devices.
- The team used Altium Designer for schematics and PCB design.
- The firmware for the microcontrollers was written in C++ using Visual Studio Code.
- The cross-platform mobile application was written in C++ with the Qt framework.
- The team used the AWS Mobile SDK for Android and iOS to connect the mobile app to the cloud.
Result
Integra Sources created a smart home system consisting of a mobile application that controls the smart home, a cloud server that allows users to control the system via the internet, and a hub device that provides communication between the mobile application and peripheral devices.
As of now, the system is only compatible with ZigBee smart home devices. In the future, the customer plans to make it possible to connect BLE and OpenThread devices to the hub. For this purpose, the team is planning to create corresponding firmware and extend the functionality of the app. By tapping a button, the user will be able to switch between ZigBee, BLE, and OpenThread. The app will then upload a corresponding firmware to the hub from the cloud, making it compatible with ZigBee, BLE, or OpenThread devices.
Supports
Control
You might also like...
Licensing Service Development for 3D Printers
The service uses the SHA-256 hashing algorithm to verify the authenticity of licenses. We designed the solution, created a web application with Jmix and enhanced the functionality of the desktop application.
LEARN MORE
Agricultural Robot with Computer Vision Algorithms
The agricultural robot is designed to work autonomously on a farmer’s plot. Armed with computer vision algorithms, the device sprays fertilizer precisely into the planting hole.
LEARN MORE