Smart Lock Application Development for Secure Access Control

Task: Building Scalable Smart Lock Software
Our team had the task of developing software to interact with a smart lock. The software was supposed to open and close the home lock by sending a command from a smartphone, issue virtual access keys and revoke it if necessary, allow the door to open automatically, recognizing the owner, and control not only in line of sight but also over the Internet.
- implement the ability to combine locks in sections and allow integration into smart home systems;
- provide the ability to configure the virtual key and transfer it to other users, replacing if necessary with another key, and set a specific access time for individuals.
Besides, we had to:

Solution: Custom SDK and Energy-Efficient IoT Protocols
During the development it was decided to use modern technologies, such as wireless interfaces such as Bluetooth Low Energy. This allows you to save battery power, extend the life of a device and phone. With NFC technology, a quick and easy initial setup of the device was provided.
For remote use of the device and communication of the lock with the server to delegate access to the room, the MQTT protocol via a socket connection was used.
Implementation of multilevel encryption, multiple levels of protection and the ability to work offline without an Internet connection.
Since the device for which the application was developed from scratch, it was decided to develop its own SDK to communicate with the device. That is, there was an implementation of a custom protocol for interaction with the device. This allowed any developer to further develop without having to spend time onboarding to interact with the device.
Result
In just 4 months, we developed a robust Android smart lock app with a custom SDK. Integration of Bluetooth Low Energy and MQTT ensured high energy efficiency, remote access, and top-tier security for end users.


