Development of a IoT Mobile App for Smart Home Control
The Customer is a US smart home appliances supplier that focuses on smart thermostat and house control systems. Along with selling thermostat controllers, cameras and motion/CO2 detectors, the Customer offers free mobile and web apps for convenient remote management of the entire smart home system. Recently the Customer has also extended its business to Europe providing boiler systems for smart water temperature control.
Since its inception 4 years ago, the Customer’s smart-home project has been growing to include new functions, and the mobile app needed corresponding updates. With an increasing project scale, the Customer was looking for the developers with the experience in IoT solutions to assist with updating the mobile app for smart home control.
Eventually, as the project matured and the amount of features planned for implementation outstripped that of the features already in development, the Customer turned to ScienceSoft for help with further upgrades of their Android app version.
The latest version of the application released in cooperation with ScienceSoft allows users to create different accounts for each apartment or home and bind several users to each account. The actions of the users are stored in the cloud, and every user can see what the others connected to the account are doing. The mobile app displays the list of sensors, the information about them (location, status, etc.) and the data they generate.
The sensors connected to smart thermostats take the data about the temperature in a room. These data are transferred to the cloud for comparing to the thresholds set by users. In accordance with the results, cloud control apps send the commands to increase or reduce heating, switch it on or off. The temperature at an apartment can be changed via the mobile application as well.
In addition, the smart system stores the data from the temperature sensors in the big data warehouse to use it for machine learning. Identifying the data users repeatedly input, the smart system devises a respective schedule offering automatic temperature changes at the periods of time the user has been inputting most often.
The system can update the heating options depending on whether smart home inhabitants are at home using geolocation data (tracking the info from the users’ mobile phones). When the system makes a conclusion that nobody is at home, control apps send the commands to switch to low energy consumption mode.
As the Customer has signed a contract with the major US energy services provider, the mobile application now allows to check up up-to-date electricity price rates. Also, by learning the dynamics of energy costs throughout a day, the app marks the time with most preferable prices, thus helping users save money on their energy bills.
Smart home control system also contributes to security. Thermostats are equipped with security cameras. The data recorded by the cameras is transferred to the mobile app’s back-end and displayed on the app home screen once the user’s device connects to the Internet. The video surveillance system has the codecs for quick video downloading. With a free account, users are enabled only to see live video. The subscription gives the option to store video fragments in the cloud.
When intrusions are detected, cloud control apps send commands to activate alarming. At the same time, the alerts are sent to users’ mobile apps and the security service. Also, smart home system can “distinguish” between people and animals and apply face recognition to prevent false alarms.
The Customer has been completely satisfied with ScienceSoft's Android development services and the app features released so far. The cooperation is still in progress and by 2020 the Customer is planning to introduce new features to enhance the IoT solution and add functionality to the mobile user app.
Technologies and Tools
Android SDK, Java, Kotlin, Bluetooth Low Energy, Geofencing, Google Directions API, Location API