Smart Home System Development
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.
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.
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.
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.
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
The team developed the firmware for the MCUs of the hub:
- We set up the AWS IoT service.
- The team developed a cross-platform mobile application through which users can control the smart home system.
- 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.
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.
You might also like...
Cross-Platform Application Development for Forage Production Monitoring
Integra Sources has developed a monitoring system for agricultural facilities. The cross-platform mobile application receives, organizes, and transfers data to cloud services, providing the farmer with information 24/7 in real time.
Virtual Camera Driver and Desktop Application Development for macOS
The software team of Integra Sources developed a custom desktop application, as well as macOS video and audio drivers for the customer’s video streaming system based on a mobile application and a movement tracking device.