IoT is evolving at a rapid-fire pace providing engineers with ready-to-use technologies. Every new IoT platform update provides new features ready for use on the projects.

However, it is not always clear how these features help reach overall success. But can we figure it out? Sure, why not try?

To do this, our mobile development department formed a team of top-notch professionals charging them with studying how developers can turn existing technologies into custom, yet affordable, solutions.

We have reached the first checkpoint in our study and have drawn some conclusions, presented below as a Questions and Answers session.

What is the current project status? Are you planning a prototype or something ready for mass production?
 Internet-of-Things (IoT) is a brand new technology, so we are experimenting with it to determine its limits in everyday use. The aim of this project is to study available technologies and decide how we develop an affordable, easy-to-manage, modular and extensible smart home.

What technologies do you use?

  • Client (iOS , Android, web app)
  • Java Server (for smart home control)
  • Raspberry PI Gateway (Linux + Java for indoors hardware management)
  • Arduino (hardware controller)

We strive to use open platforms instead of proprietary hardware. This makes it possible to decrease the product’s final cost.programming for smart-home

What do users need to run a smart home system?
There is no recipe. It all depends on specific customer needs because implementation of the same requirements can vary greatly. For example, many sensors and controllers have two versions: one version uses batteries and has wireless data transmission; the alternative version uses USB power supply and wire data transmission.

In an ideal world, smart home infrastructure must be done simultaneously when construction is in progress. But it will most likely be implemented inside completed facilities. This is why we seriously consider batteries and a wireless connection.

Will your code run on all hardware?
The software we develop cannot run on all hardware because microcontrollers vary in their architecture. We use Java as the main source code. It works on all hardware with a Java virtual machine onboard.

Mobile technologies change every year. IoT technologies evolve very quickly, too. Will you have to revamp your project every time a stack of technologies has changed? Also, what will your customers have to do to add new features?
You must pay attention to the system architecture when you start your project. The top priority is to unify sensor control methods for all modules of the system. If done correctly, adding new features takes little time and few resources. Moreover, there will be a certain point in the future when our software equipment becomes obsolete. But the right architecture makes it possible to maintain a project after each update. When it is flexible, it is also extensible and allows supporting a project for a reasonable period of time.

What do you need to work on a smart home prototype?
The most important thing is a market study. Sensors, controllers, expertise and time are secondary.

What will make users happy right here, right now?
Smart systems are a big help for a huge number of cases. Among others, we include:

  • Thermostat/climate control
  • Fire detection
  • Water leaks
  • Short circuits detection
  • Security/theft prevention

Also, a smart home means a more comfortable life in which you can manage heating, lights, air conditioning—almost all home appliances—with ease.

Prediction. What feature will be the most demanding?
Energy savings ranks uppermost for everyone. This is why we recommend developing features that help manage and/or control heating and electricity consumption; for example, a thermostat management service. In this case, a thermostat goes to auto mode when the family leaves home in the morning during a weekday. In winter, a smart home turns off all electric appliances and maintains 41°F (5°C) indoors to prevent water pipes from freezing. This mode is very economical when people spend a lot of time away from home. The system starts warming up before the family gets home to raise temperature up to 72°F (22°C). Possibly, the family can manage the temperature using a timer or remotely via an app.

To be continued…
In the next blog post we discuss: How the elements affect the costs of the end-solution?